FOSBundle 视图未被 Symfony 2.5 中的自定义视图覆盖
FOSBundle views not overridden by custom views in Symfony 2.5
我的本地环境中的 FosBundle 视图实现与开发环境中的 FosBundle 视图实现之间存在一些奇怪的不匹配。两个系统共享完全相同的配置文件和环境变量,并使用相同的分支。两者都被拉和推,.gitignore
内容相同。
Composer.json(两者相同):
"require": {
"php": ">=5.3.3",
"symfony/symfony": "2.5.*",
"doctrine/orm": "~2.2,>=2.2.3",
"doctrine/doctrine-bundle": "~1.2",
"twig/extensions": "^1.3",
"symfony/assetic-bundle": "^2.7",
"symfony/swiftmailer-bundle": "~2.3",
"symfony/monolog-bundle": "~2.4",
"sensio/distribution-bundle": "~3.0",
"sensio/framework-extra-bundle": "~3.0",
"incenteev/composer-parameter-handler": "~2.0",
"friendsofsymfony/user-bundle": "~2.0@dev",
"simplesamlphp/simplesamlphp": "^1.14",
"white-october/pagerfanta-bundle": "~1.0",
"antimattr/google-bundle": "~2.0@stable",
"symfony/property-access": "^2.7",
"leafo/scssphp": "^0.3.2",
"patchwork/jsqueeze": "~1.0",
"phpunit/phpunit": "4.8.*",
"mockery/mockery": "^0.9.4",
"farmatholin/segment-io-bundle": "dev-master"
},
app/config/parameters.yml(两者相同,不同的数据库 user/pass):
parameters:
database_driver: pdo_mysql
database_host: 127.0.0.1
database_port: null
database_name: dbname
database_user: root
database_password: 'pass'
locale: en
secret: 'bla'
debug_toolbar: true
debug_redirects: false
use_assetic_controller: true
google_analytics_name: domain_google_analytics
google_analytics_account_id: bla
google_analytics_domain: .domain.com
mailer_port: 587
mailer_encryption: tls
mailer_transport: smtp
mailer_host: email-smtp.host.com
mailer_user: user
mailer_password: blabla
mailer_auth_mode: login
set_cli_mailer_host: 'http://domain.com'
set_use_mailer: swiftmailer
set_internal_mails_only: false
segment_write_key:
我也可以提供config.yml
的内容,但在两种环境下都是一样的。我们已经覆盖了原来的 FOSBundle 视图,用于重置密码、注册和其他,并将新模板放在我们自己的包下:src/UserBundle/Resources/views/Resetting/checkEmail.html.twig
:
{% extends "FOSUserBundle::layout.html.twig" %}
{% trans_default_domain 'FOSUserBundle' %}
{% block fos_user_content %}
<section>.....</section>
{% endblock %}
在 DEV 环境中,一切都按预期工作,但在本地它忽略了覆盖的模板,只使用 /vendor/friendsofsymfony/user-bundle/Resources/views/Resettin/
中的模板
我真的卡住了。两者都试过:
- 作曲家自我更新;作曲家更新;作曲家安装;
- phpapp/consolecache:clear; rm -rf app/cache*
- 检查服务器是否有一些 opcache - none;
- php app/console assetic:dump
没有任何变化。代码和配置中的一切都是相同的,但它们加载不同的视图。为什么?
如果您最近进行了更新,checkEmail.html.twig
模板已重命名为 check_email.html.twig
。
我的本地环境中的 FosBundle 视图实现与开发环境中的 FosBundle 视图实现之间存在一些奇怪的不匹配。两个系统共享完全相同的配置文件和环境变量,并使用相同的分支。两者都被拉和推,.gitignore
内容相同。
Composer.json(两者相同):
"require": {
"php": ">=5.3.3",
"symfony/symfony": "2.5.*",
"doctrine/orm": "~2.2,>=2.2.3",
"doctrine/doctrine-bundle": "~1.2",
"twig/extensions": "^1.3",
"symfony/assetic-bundle": "^2.7",
"symfony/swiftmailer-bundle": "~2.3",
"symfony/monolog-bundle": "~2.4",
"sensio/distribution-bundle": "~3.0",
"sensio/framework-extra-bundle": "~3.0",
"incenteev/composer-parameter-handler": "~2.0",
"friendsofsymfony/user-bundle": "~2.0@dev",
"simplesamlphp/simplesamlphp": "^1.14",
"white-october/pagerfanta-bundle": "~1.0",
"antimattr/google-bundle": "~2.0@stable",
"symfony/property-access": "^2.7",
"leafo/scssphp": "^0.3.2",
"patchwork/jsqueeze": "~1.0",
"phpunit/phpunit": "4.8.*",
"mockery/mockery": "^0.9.4",
"farmatholin/segment-io-bundle": "dev-master"
},
app/config/parameters.yml(两者相同,不同的数据库 user/pass):
parameters:
database_driver: pdo_mysql
database_host: 127.0.0.1
database_port: null
database_name: dbname
database_user: root
database_password: 'pass'
locale: en
secret: 'bla'
debug_toolbar: true
debug_redirects: false
use_assetic_controller: true
google_analytics_name: domain_google_analytics
google_analytics_account_id: bla
google_analytics_domain: .domain.com
mailer_port: 587
mailer_encryption: tls
mailer_transport: smtp
mailer_host: email-smtp.host.com
mailer_user: user
mailer_password: blabla
mailer_auth_mode: login
set_cli_mailer_host: 'http://domain.com'
set_use_mailer: swiftmailer
set_internal_mails_only: false
segment_write_key:
我也可以提供config.yml
的内容,但在两种环境下都是一样的。我们已经覆盖了原来的 FOSBundle 视图,用于重置密码、注册和其他,并将新模板放在我们自己的包下:src/UserBundle/Resources/views/Resetting/checkEmail.html.twig
:
{% extends "FOSUserBundle::layout.html.twig" %}
{% trans_default_domain 'FOSUserBundle' %}
{% block fos_user_content %}
<section>.....</section>
{% endblock %}
在 DEV 环境中,一切都按预期工作,但在本地它忽略了覆盖的模板,只使用 /vendor/friendsofsymfony/user-bundle/Resources/views/Resettin/
我真的卡住了。两者都试过:
- 作曲家自我更新;作曲家更新;作曲家安装;
- phpapp/consolecache:clear; rm -rf app/cache*
- 检查服务器是否有一些 opcache - none;
- php app/console assetic:dump
没有任何变化。代码和配置中的一切都是相同的,但它们加载不同的视图。为什么?
如果您最近进行了更新,checkEmail.html.twig
模板已重命名为 check_email.html.twig
。