我目前在我的Drupal网站上安装了我购买的主题。
主题文件夹中有一个模板文件夹,其中包含:
page.html.twig 中的摘录如下:
<footer class="site-footer">
<div class="layout-container">
{% if page.footer_first or page.footer_second or page.footer_third %}
<div class="footer-top">
<div class="footer-top-inner">
{{ page.footer_first }}
{{ page.footer_second }}
{{ page.footer_third }}
</div>
</div>
{% endif %}
{% if page.footer_left or page.footer_right %}
<div class="footer-bottom">
<div class="footer-bottom-inner">
{{ page.footer_left }}
{{ page.footer_right }}
</div><!-- /.footer-bottom-inner -->
</div>
{% endif %}
</div>
</footer>
我创建了一个自定义模块(business_listing),该模块加载了不同的.html.twig模板,我将这些模板添加到 business_listing.module 中:
function business_listing_theme($existing, $type, $theme, $path) {
return [
// business-listing-detail.html.twig
'business_listing_detail' => [
'variables' => ['data' => [], 'slides' => [], 'paths' => [], 'page' => []],
],
]
}
基本上,我想知道如何从自定义模块控制器动态添加页脚标记。
我的自定义模块模板文件夹中有一个名为 business-listing-detail.html.twig 的页面。据我了解, business-listing-detail.html.twig 使用/以某种方式扩展了我的主题/模板中的 page.html.twig 。我现在想知道的是如何使用控制器将{{page.footer_left}}
之类的部分添加到我的business-listing-detail.html.twig或page.html.twig中?我尝试使用以下方法添加页脚:`
$ page ['footer_left'] =“这应该出现在.footer-bottom div中吗?”;
$build = [];
$build['business_listing_detail'] = [
'#theme' => 'business_listing_detail',
'#data' => $record,
'#slides' => $slides,
'#paths' => $this->paths,
'#page' => $page
];`
在与我的业务列表详细页面相关联的控制器功能中,希望 page.html.twig 能够检测到此page.footer_left并呈现显示页脚的希望,但是此操作不起作用。该变量存在于business-listing-detail.html.twig中,但未触发我的主题page.html.twig中的{% if page.footer_left %}
。请拜托,任何帮助或建议将不胜感激<3
基本上,我要做的是在自定义模块中动态呈现特定页面的模板,这使我可以对主题中定义的部分/区域实现/发送标记。 feature_top,content_top和page.content
亲切的问候, 马特