【问题标题】:FOSBundle views not overridden by custom views in Symfony 2.5Symfony 2.5 中的自定义视图未覆盖 FOSBundle 视图
【发布时间】:2017-02-20 01:30:33
【问题描述】:

在我的本地环境和 DEV 环境中的 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(两者相同,不同的数据库用户/密码):

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/ 中的模板

我真的被困住了。两种都试过了:

  • 作曲家自我更新;作曲家更新;作曲家安装;
  • php 应用程序/控制台缓存:清除; rm -rf 应用程序/缓存*
  • 检查服务器是否有一些 opcache - 无;
  • php 应用程序/控制台资产:转储

没有任何变化。代码和配置中的一切都是相同的,但它们加载不同的视图。为什么?

【问题讨论】:

    标签: php symfony composer-php fosuserbundle


    【解决方案1】:

    如果您最近更新过,checkEmail.html.twig 模板已重命名为 check_email.html.twig

    查看当前模板: https://github.com/FriendsOfSymfony/FOSUserBundle/blob/master/Resources/views/Resetting/check_email.html.twig

    【讨论】:

    • 忘了说你让我免于发疯。字面上地。再次感谢。
    猜你喜欢
    • 2015-02-12
    • 1970-01-01
    • 2021-03-08
    • 2019-10-13
    • 1970-01-01
    • 2017-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多