微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在特定的 Drupal 页面中添加静态内容,例如使用 {% if is_front %} {% endif %} 将其添加到主页中

如何解决如何在特定的 Drupal 页面中添加静态内容,例如使用 {% if is_front %} {% endif %} 将其添加到主页中

我是 drupal 的新手,我尝试在 html.html.twig 页面添加一个简单的静态图像。 为了仅在主页中显示此图像,我添加了此条件

{% if is_front %}
  {% endif %}

在另一个特定页面示例中添加它的条件是什么/contact/

我在页面内尝试了这段代码,但它不起作用,我应该用一些代码包装它吗?

if(drupal_valid_path('contacts') == 1) //this exists
{
    print_r('Exists!');
}

请帮忙!非常感谢。

解决方法

您的问题是将树枝与 drupal 7 功能混合在一起。我想反正你是在 D8/D9。

我还假设“联系人”页面是一个节点。如果是别的东西 - 例如查看页面 - 您可能需要检查路由,而不是检查节点。

有多种方法,两种可能是:

  • 一个钩子预处理,如果存在则加载节点
function hook_preprocess_html(&$variables) {

$node = \Drupal::routeMatch()->getParameter('node');
if ($node instanceof \Drupal\node\NodeInterface) {
$variables['node'] = $node;
}
}

在树枝中检查节点的id是否正确

  • 覆盖特定节点的 html.html.twig,例如html--node--10.html.twig。在这种情况下,我建议不要复制基础 html.html.twig 的所有内容,而是使用 embed 标记仅覆盖适当的块。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。