Php 如何在symfony twig文件中使用全局变量?
我已经在app/config/config.yml中完成了设置Php 如何在symfony twig文件中使用全局变量?,php,symfony,twig,Php,Symfony,Twig,我已经在app/config/config.yml中完成了设置 twig: globals: mandatory_note: %mandatory_note% 参数也在config.yml文件中设置 参数: mandatory_note: "Note: * marked fields are mandatory" 在twig文件中,我访问了变量 {{必须注意} 但还是会出错。即,强制注释变量不存在 这是我的config.yml文件 imports: - { resource:
twig:
globals:
mandatory_note: %mandatory_note%
参数也在config.yml文件中设置
参数:
mandatory_note: "Note: * marked fields are mandatory"
在twig文件中,我访问了变量
{{必须注意}
但还是会出错。即,强制注释变量不存在
这是我的config.yml文件
imports:
- { resource: parameters.yml }
- { resource: security.yml }
- { resource: services.yml }
framework:
#esi: ~
translator: { fallbacks: ["%locale%"] }
secret: "%secret%"
router:
resource: "%kernel.root_dir%/config/routing.yml"
strict_requirements: ~
form: ~
csrf_protection: ~
validation: { enable_annotations: true }
templating:
engines: ['twig']
#assets_version: SomeVersionScheme
default_locale: "%locale%"
trusted_hosts: ~
trusted_proxies: ~
session:
cookie_lifetime: 0
gc_maxlifetime: 36000
# handler_id set to null will use default session handler from php.ini
handler_id: ~
fragments: ~
http_method_override: true
# Twig Configuration
twig:
debug: "%kernel.debug%"
strict_variables: "%kernel.debug%"
# Assetic Configuration
assetic:
debug: "%kernel.debug%"
use_controller: false
bundles: []
#java: /usr/bin/java
filters:
cssrewrite: ~
#closure:
# jar: "%kernel.root_dir%/Resources/java/compiler.jar"
#yui_css:
# jar: "%kernel.root_dir%/Resources/java/yuicompressor-2.4.7.jar"
# Doctrine Configuration
doctrine:
dbal:
driver: "%database_driver%"
host: "%database_host%"
port: "%database_port%"
dbname: "%database_name%"
user: "%database_user%"
password: "%database_password%"
unix_socket: "/opt/lampp/var/mysql/mysql.sock"
charset: UTF8
mapping_types:
enum: integer
# if using pdo_sqlite as your database driver:
# 1. add the path in parameters.yml
# e.g. database_path: "%kernel.root_dir%/data/data.db3"
# 2. Uncomment database_path in parameters.yml.dist
# 3. Uncomment next line:
# path: "%database_path%"
orm:
auto_generate_proxy_classes: "%kernel.debug%"
auto_mapping: true
# Swiftmailer Configuration
swiftmailer:
transport: "%mailer_transport%"
host: "%mailer_host%"
username: "%mailer_user%"
password: "%mailer_password%"
spool: { type: memory }
encryption: "%mailer_encryption%"
port: "%mailer_port%"
sender_address: "%mailer_sender%"
parameters:
max_contents_per_page: 20
max_pages_per_page: 10
mandatory_note: "Note: * marked fields are mandatory"
twig:
globals:
mandatory_note: %mandatory_note%
你需要把它放在树枝下面。就像这样:
twig:
globals:
mandatory_note: %mandatory_note%
还要确保parameters.yml文件中定义了
必填\u note
。要测试全局是否有效,只需使用“testString”
而不是%mandatory\u note%
将它们放在一起,像这样会怎么样
twig:
debug: "%kernel.debug%"
strict_variables: "%kernel.debug%"
globals:
mandatory_note: "%mandatory_note%"
我得到了解决方案,我在parameters.yml文件中添加了以下代码:
它终于开始工作了。压痕的可能重复也是正确的。文件中有任何设置吗?没有。请提供完整的config.yml文件我附加了我的config.yml文件没有朋友仍然是相同的错误。.“变量”强制注释“不存在”。(这正是我的意思:)仍然会出现错误“您请求了一个不存在的参数”强制注释:(您的参数不存在。是否已定义?是。在所附的配置文件中,有参数节I定义了参数“强制注意”将参数移到细枝声明上方。
parameters:
mandatory_note: "Note: * marked fields are mandatory"
twig:
globals:
mandatory_note: "%mandatory_note%"