子页面扩展 base.html.twig 但 base.html.twig 的内容未呈现
Child page extends base.html.twig BUT content of base.html.twig is not rendered
我正在使用 sulu cms 和 symfony。刚开始做项目。
这是我的 base.html.twig
<!DOCTYPE html>
<html lang="{{ app.request.locale|split('_')[0] }}">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
{% block meta %}
{% include "@SuluWebsite/Extension/seo.html.twig" with {
"seo": extension.seo|default([]),
"content": content|default([]),
"localizations": localizations|default([]),
"shadowBaseLocale": shadowBaseLocale|default(),
} %}
{% endblock %}
{% block style %}{% endblock %}
</head>
<body>
<header>
{% block header %}
<nav>
</nav>
{% endblock %}
</header>
<form action="{{ path('sulu_search.website_search') }}" method="GET">
<input name="q" type="text" placeholder="Search"/>
<input type="submit" value="Go"/>
</form>
<main>
{% block content %}{% endblock %}
</main>
<footer>
{% block footer %}
<p>Copyright {{ 'now'|date('Y') }} SULU</p>
{% endblock %}
</footer>
{% block javascripts %}{% endblock %}
</body>
</html>
然后我在 event.html.twig
中扩展它
{% extends "base.html.twig" %}
{% block content %}
<h1>This is Event Template</h1>
<h1>{{ content.title }}</h1>
<h2>{{ content.subtitle }}</h2>
{% for image in content.photo %}
<img src="{{ image.thumbnails['500x'] }}" alt="{{ image.title }}" title="{{ image.description|default(image.title) }}">
{% endfor %}
{% endblock %}
但是渲染出来的页面只显示子内容
<h1>This is Event Template</h1>
<h1>Veranstaltungstitel</h1>
<h2></h2>
父基础模板未呈现的原因可能是什么?
无法通过 google.
找到类似的内容
更新
我在 Windows 10 Pro 计算机上克隆了一个 git 存储库,其中包含其他人在 Linux 系统上创建的 sulu cms / symfony 项目。
我将 .env 文件更改为
APP_ENV=开发
我是 运行 Apache (MAMP) 上的项目,有一个 mysql (MAMP) 数据库。数据库已连接,我可以在管理面板中看到数据,并使用 phpmyadmin 查看数据库中更改的数据。
在我的电脑上安装了 Symfony CLI 版本 v4.26.11。
您是否像文档中那样使用 create-project
命令创建了 sulu 项目。那么你应该在 dev
环境下。通过进入您的本地 .env.local
检查它是否设置为 APP_ENV=dev
以便自动检测更改并且不需要清除缓存。这仅用于开发!!!
如果您在生产服务器上,请确保清除所有缓存。这包括 admin
和 website
缓存:
bin/adminconsole cache:clear
bin/website cache:clear
如果仍然没有帮助,请检查对 twig 模板的任何编辑是否对您的前端产生任何影响。还尝试通过删除 var/cache
目录来删除所有缓存:
rm -rf var/cache
如果不是这种情况,则表明 hint
您的机器或服务器已 opcache
激活并且所有 PHP 文件都已缓存。如果您在开发机器上,您应该配置 opcache 以检查文件时间戳,请参阅:
https://www.php.net/manual/de/opcache.configuration.php#ini.opcache.validate-timestamps
如果您在生产服务器上,它会重新启动您的网络服务器 and/or php 进程或使用像这样的缓存工具:
https://github.com/gordalina/cachetool
清除缓存。
base.html.twig 页面未呈现的原因是主题模板覆盖了默认主题。
我正在使用 sulu cms 和 symfony。刚开始做项目。 这是我的 base.html.twig
<!DOCTYPE html>
<html lang="{{ app.request.locale|split('_')[0] }}">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
{% block meta %}
{% include "@SuluWebsite/Extension/seo.html.twig" with {
"seo": extension.seo|default([]),
"content": content|default([]),
"localizations": localizations|default([]),
"shadowBaseLocale": shadowBaseLocale|default(),
} %}
{% endblock %}
{% block style %}{% endblock %}
</head>
<body>
<header>
{% block header %}
<nav>
</nav>
{% endblock %}
</header>
<form action="{{ path('sulu_search.website_search') }}" method="GET">
<input name="q" type="text" placeholder="Search"/>
<input type="submit" value="Go"/>
</form>
<main>
{% block content %}{% endblock %}
</main>
<footer>
{% block footer %}
<p>Copyright {{ 'now'|date('Y') }} SULU</p>
{% endblock %}
</footer>
{% block javascripts %}{% endblock %}
</body>
</html>
然后我在 event.html.twig
中扩展它{% extends "base.html.twig" %}
{% block content %}
<h1>This is Event Template</h1>
<h1>{{ content.title }}</h1>
<h2>{{ content.subtitle }}</h2>
{% for image in content.photo %}
<img src="{{ image.thumbnails['500x'] }}" alt="{{ image.title }}" title="{{ image.description|default(image.title) }}">
{% endfor %}
{% endblock %}
但是渲染出来的页面只显示子内容
<h1>This is Event Template</h1>
<h1>Veranstaltungstitel</h1>
<h2></h2>
父基础模板未呈现的原因可能是什么? 无法通过 google.
找到类似的内容更新
我在 Windows 10 Pro 计算机上克隆了一个 git 存储库,其中包含其他人在 Linux 系统上创建的 sulu cms / symfony 项目。
我将 .env 文件更改为 APP_ENV=开发
我是 运行 Apache (MAMP) 上的项目,有一个 mysql (MAMP) 数据库。数据库已连接,我可以在管理面板中看到数据,并使用 phpmyadmin 查看数据库中更改的数据。
在我的电脑上安装了 Symfony CLI 版本 v4.26.11。
您是否像文档中那样使用 create-project
命令创建了 sulu 项目。那么你应该在 dev
环境下。通过进入您的本地 .env.local
检查它是否设置为 APP_ENV=dev
以便自动检测更改并且不需要清除缓存。这仅用于开发!!!
如果您在生产服务器上,请确保清除所有缓存。这包括 admin
和 website
缓存:
bin/adminconsole cache:clear
bin/website cache:clear
如果仍然没有帮助,请检查对 twig 模板的任何编辑是否对您的前端产生任何影响。还尝试通过删除 var/cache
目录来删除所有缓存:
rm -rf var/cache
如果不是这种情况,则表明 hint
您的机器或服务器已 opcache
激活并且所有 PHP 文件都已缓存。如果您在开发机器上,您应该配置 opcache 以检查文件时间戳,请参阅:
https://www.php.net/manual/de/opcache.configuration.php#ini.opcache.validate-timestamps
如果您在生产服务器上,它会重新启动您的网络服务器 and/or php 进程或使用像这样的缓存工具:
https://github.com/gordalina/cachetool
清除缓存。
base.html.twig 页面未呈现的原因是主题模板覆盖了默认主题。