在Drupal 8的标头区域添加自定义类

安托万

我想在标题区域的drupal模板中添加自定义类,但是它不起作用。

<!-- BEGIN OUTPUT from 'themes/marinenat/templates/layout/page.html.twig' -->
<div class="layout-container">

  <header role="banner">
    

<!-- THEME DEBUG -->
<!-- THEME HOOK: 'region' -->
<!-- FILE NAME SUGGESTIONS:
   x region--header.html.twig
   * region.html.twig
-->
<!-- BEGIN OUTPUT from 'themes/marinenat/templates/layout/region--header.html.twig' -->
<div class="nav">

我想在“导航”类di区域(标题)之后添加此类。

任何人都可以帮助我

莱曼克斯

您已经在输出中拥有了所需的一切。

多条路通罗马

如果themes/marineat您是以主题为基础,则只需将其复制themes/marinenat/templates/layout/region--header.html.twig到子主题的themes/MYSUBTHEME/templates目录中并编辑此文件。刷新缓存。做完了

如果themes/marinenat是自定义子主题,则只需编辑建议的模板文件/themes/marinenat/templates/layout/region--header.html.twig/并在其中添加类。刷新缓存。做完了

最后但并非最不重要的一点是,您还可以通过MYSUBTHEME.theme文件或任何MYMODULE.module文件的预处理功能将类添加到区域

/**
 * Implements template_preprocess_region().
 */
function MYTHEME/MYMODULE_preprocess_region(&$variables) {

  if (isset($variables['region']) && $variables['region'] == 'header') {
    $variables['attributes']['class'][] = 'MYCLASS';
  }
}

如何将字符串从PHP传递到Twig

/**
 * Implements template_preprocess_region().
 */
function MYTHEME/MYMODULE_preprocess_region(&$variables) {

  $variables['foo'] = FALSE;

  if (isset($variables['region']) && $variables['region'] == 'header') {       

    // Get the current node.
    $node = \Drupal::routeMatch()->getParameter('node');

    if ($node instanceof \Drupal\node\NodeInterface) {

      // Get the node type.
      $node_type = $node->bundle();

      // Do what ever else you need to do to retrieve your class dynamically.
      $variables['foo'] = $node_type;
    }
  }
}

然后在您的region--header.html.twigTwig文件中是:

{% if foo %}
  <div class="nav {{ foo }}">
    {{ content }}
  </div>
{% endif %}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Drupal 8自定义模块添加php类

从自定义类的链接添加到具有Bootstrap主题的Drupal-modal Drupal 8

Drupal 8自定义模块库

如何在 Drupal 8 中将自定义类设置为子菜单?

如何在 Drupal 中添加自定义 HTML 表单

Drupal-8,将CSS添加到自定义模块

如何在Drupal 8的用户配置文件页面上添加自定义HTML?

Drupal 8使用自定义模块添加JavaScript并在挂钩中传递数据

如何在Drupal8的“站点信息”表单中添加新的自定义字段

向节点drupal 8添加一些自定义信息

Drupal 8自定义模板内容类型表单页面

Drupal 8中的自定义404模板文件

Drupal 8自定义实体菜单路径

Drupal 8自定义字段//基本错误

Drupal 8 自定义菜单项不同的 URI

Drupal 8 带有弹出窗口的自定义表单

如何在Drupal 8的Drupal用户对象中访问自定义字段属性

Drupal登录表单自定义

自定义验证Webform Drupal

如何管理Drupal自定义模块?

Drupal 8 jQuery冲突

Drupal 8自定义模块-如何在管理区域中创建一个字段,然后在我的模块中提取该输入以使用?

添加自定义标头值

Drupal 6:菜单ul的自定义类,菜单周围没有环绕DIV

在Drupal自定义模块中单击3次后,Drupal禁用按钮

通过 Drupal 8 中的控制器创建用于呈现自定义表单的自定义模块

在人员/用户管理页面表drupal 7之间添加自定义列

如何在Drupal 7中为自定义内容类型添加主题/编辑表单

如何在Drupal目录中添加php文件的自定义文件夹?