如何解决如何在特定的 Drupal 页面中添加静态内容,例如使用 {% if is_front %} {% endif %} 将其添加到主页中
我是 drupal 的新手,我尝试在 html.html.twig 页面中添加一个简单的静态图像。 为了仅在主页中显示此图像,我添加了此条件
{% if is_front %}
{% endif %}
我在页面内尝试了这段代码,但它不起作用,我应该用一些代码包装它吗?
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 举报,一经查实,本站将立刻删除。