首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >主题化breadcrumb.html.twig

问主题化breadcrumb.html.twig
EN

Drupal用户
提问于 2018-02-23 16:42:46
回答 1查看 1.2K关注 0票数 0

在我的主题中,我需要使用两个不同的UL类名打印面包屑,这样它们的样式就可以不同了。对于移动设备,面包屑与UL一起出现在顶部。

代码语言:javascript
复制
<ul class="topnav">

对于大型设备,面包屑与UL一起出现在左侧的侧边栏中。

代码语言:javascript
复制
<ul class="leftnav">

他们都有不同的李安A类名。但是我只有一个名为breadcrumb.html.twig的模板文件,它的主题是topnav。

在我的顶部区域,我用这个打印出面包屑,样式看起来很好:

代码语言:javascript
复制
{{ drupal_block('breadcrumbs') }}

对于侧栏,我再次使用以下方法打印出面包屑:

代码语言:javascript
复制
{{ drupal_block('breadcrumbs') }}

但它使用的风格与第一次导航相同。如何使用不同的类名对其进行不同的主题处理?我可以创建一个主题预处理挂钩和使用2个模板。面包屑-1.html.twig和面包屑-2.html.twig。THen将其打印为{{ drupal_block(‘面包屑-1’)}和{drupal_block(‘面包屑-2’) }}

我编辑这个是因为它不清楚我想要什么。我主要想知道是否可以为breadcrumb.html.twig创建和使用两个不同的模板。在Twig调试文件名建议中,它没有为这个模板提供任何建议,这意味着我只能在我的主题中使用一个。我想我要做的是在模板中添加两个不同的ul类名,然后在每个模板中打印面包屑,然后针对两个不同的ul类名添加样式。

EN

回答 1

Drupal用户

回答已采纳

发布于 2018-02-23 21:49:30

一个快速的选择是在调用{{ drupal_block('breadcrumbs') }}的页面小枝模板中添加一些html标记,这些标记包装了区域(如果禁用了默认的Drupal主题标记)。

例如,

代码语言:javascript
复制
<div class="topnav">
{{ drupal_block('breadcrumbs') }}
</div>

和

代码语言:javascript
复制
<div class="leftnav">
{{ drupal_block('breadcrumbs') }}
</div>

或者,如果您的主题被设置为呈现分配给Drupal的结构>块布局中的区域的块,则可以:

  1. 安装/启用块类模块 (截至2月23日,它处于D8的alpha版本中)
  2. 放置两个面包屑块,每个区域一个
  3. 在块配置屏幕中分配topnav和左侧的

对于这两个用例,您需要将css更改为目标:

代码语言:javascript
复制
.topnav ul
.topnav ul li
.leftnav ul
.leftnav ul li
票数 1
EN
页面原文内容由Drupal提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://drupal.stackexchange.com/questions/256474

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档