我目前正在尝试将网站与Drupal 8集成。我的首页与其他页面略有不同,我需要检查node.html.twig,如果当前页面是添加a的首页“分区”。变量“is_front”在page.html.twig上工作正常但似乎在node.html.twig上不可用。我怎么能解决这个问题?
答案 0 :(得分:3)
您还可以使用预处理挂钩添加此变量。以下代码将添加delete [] requires;
变量,以便可以在is_front
模板中使用:
html.html.twig
然后在树枝模板内你可以像这样检查变量:
// Adds the is_front variable to html.html.twig template.
function mytheme_preprocess_html(&$variables) {
$variables['is_front'] = \Drupal::service('path.matcher')->isFrontPage();
}
答案 1 :(得分:1)
如果要在首页中显示一个节点,它应该看起来就像实际的节点页面一样,您可以为该节点创建一个新的显示,例如" On Frontpage"。对于该显示,您可以创建一个新的节点模板(小心使用twig文件的正确命名约定,否则它将无法工作)。然后告诉首页使用" On Frontpage"显示节点。显示,它将使用不同的模板(包括您想要的div)。
Twig模板命名约定:https://www.drupal.org/node/2354645
所以步骤: