Symfony twig不刷新我的页面

时间:2017-04-11 07:05:12

标签: php html apache symfony twig

目前正致力于Windows 10上的symfony项目2.8。 我希望使用Twig 2.9.0进行继承,正如symfony的良好实践中所解释的那样:http://symfony.com/doc/current/templating/inheritance.html

我希望我的DOCTYPE html位于:src/myProject/CoreBundle/Resources/views/layout.html.twig

# {CoreBundle/Resources/views/layout.html.twig}

<!DOCTYPE html>
<html>
      <head>
        <meta charset="UTF-8" />
        <title>{% block title %}Welcome !{% endblock %}</title>
        {% block stylesheets %}{% endblock %}
        <link rel="icon" type="image/x-icon" href="{{ asset('favicon.ico') }}" />
        <link rel="stylesheet"
            href="{{ asset('assets/vendor/bootstrap/dist/css/bootstrap.min.css') }}">
    </head>
    <body>
        {% block body %}{% endblock %}
        {% block javascripts %}{% endblock %}
    </body>
</html>

然后我的身体阻止将在MyOwnBundle中重写:src/myProject/MyOwnBundle/Resources/views/layout.html.twig

# {MyOwnBundle/Resources/views/layout.html.twig}

{% extends 'CoreBundle::layout.html.twig' %}

{% block body %}
<div class="jumbotron">
    <div class="container text-center">
        <h1>Welcome to my Veterinary lab</h1>
        <p></p>
    </div>
</div>

{% block content %}
{% endblock %}

{% endblock %}

最后,我的内容块将在src/myProject/MyOwnBundle/Resources/views/MyApp/index.html.twig中重写。

这是我的问题:我可以通过http://veto.local/上的虚拟主机访问我的主页,但是当我修改布局中的任何内容时(例如,#34的标题栏;欢迎!&#34;到&# 34;我的超级项目&#34;)重新加载网页时没有任何反应。

我真的认为它来自缓存文件,但我做了php app/console cache:clear三次,这个过程结束时作为一个明确的声明,但仍然没有刷新!

请你帮我知道它来自哪里?

要配置我的vhost,我遵循了apache文档:httpd//:apache.developpez.com/cours/virtual-host/

这是我的vhost.conf,我在httpd.conf(Include "C:\veterinary\veto_vhost.conf")的末尾包含了这个文件:

<VirtualHost *:80>
    ServerName veto.local
    DocumentRoot C:\veterinary\veterinary\web

    DirectoryIndex app.php
    ErrorLog C:\veterinary\veterinary\veto-error.log
    CustomLog C:\veterinary\veterinary\veto-access.log combined
    <Directory "C:\veterinary\veterinary\web">
        AllowOverride All
        Allow from All

        Options +Indexes +FollowSymLinks +Multiviews

        AllowOverride all
        Require local
        Require all granted

    </Directory>
</VirtualHost>

谢谢,

致以最诚挚的问候,

2 个答案:

答案 0 :(得分:3)

在开发应用时,您似乎正在使用生产环境(app.php入口点)..

尝试http://veto.local/app_dev.php使用开发环境,或者如果您真的想使用生产环境,请使用

php app/console cache:clear --env=prod

因为默认情况下此命令清除dev缓存。

答案 1 :(得分:2)

php app/console cache:clear

清除dev环境的缓存。您可以致电http://veto.local/app_dev.php来达到此目的。 在此环境中,将自动检测对任何文件的更改,并且不需要清除缓存。顾名思义,这是开发过程中的首选环境。

然而,

http://veto.local/被称为prod环境。 此处不会自动检测到对文件的更改,您必须手动清除缓存以查看效果。你可以通过调用

来做到这一点
php app/console cache:clear --env=prod