原文链接:Discovering and Inspecting Variables in Twig Templates>
在一个Twig模板文件里,你可以发现注释里有很多可用的变量。然而,当变量不是记录在模板文件中,或者是当主题、模块引入新的变量时,我们就需要一种方法来检索和提取模板里所有可用变量的和特定范围的变量,Twig支持在模板文件里使用dump() 函数(转存函数)来提取和检索变量。
Dump函数在启用调试之前不会显示输出的变量内容。学习如何启用Twig调试
开启调试后,dump函数就可以输出模板里的一个变量或多个变量的相关信息。
检索单个变量
假设你的模板里有一个title变量,可以按如下形式,将其内容dump到你的模板:
{{ dump(title) }}
检索模板内所有可用变量
将模板内所有可用的变量和变量的内容添加到你的模板,可用如下示例代码:
Views默认提供了很多功能,而我们平时用到的可能也只是一些简单的。
这里就来了一个问题,平常我们是通过Views加一个标题字段来做一个列表,但是默认的没有加title属性,刚才研究了一下,发现也是可以通过配置来实现这个需求的。
这个还是需要我们对Views比较熟悉的。
1. 原先,我们只有标题和日期字段,这里我们需要再加一个nid字段。
2. 点开标题字段,“链接到原始内容”不要勾选:
3. 再点开nid字段:
本人想修改一下ubercart的shopping cart里显示,一直到找不到正确的hook。
默认显示是
我希望name能显示 Product2 (Regular)
有否高手帮忙指引一下正确 hook,使cart, review,invoice都显示出 这种格式
原文链接:Theme folder structure
主题就是包含了一系列定义前端层展示的文件集合。你还可以创建一个或更更多“子主题”,或者基于一个主题的变体。只有.info.yml 这个文件是必须有的,但是大多数主题和子主题也会用到其他一些文件。这个页面将会在典型的主题或子主题中列出常用的文件和文件夹。
主题位置
你必须将主题放在你的 Drupal 安装包的“themes”文件夹里。注意 Drupal 的核心主题如 Bartik 和 Seven 是放置在安装包的 core/themes 文件夹里。
最好的做法(good practice)是把贡献主题放在一个叫做“contrib”的子目录里,而你自定义的主题放置在“custom”文件夹里。
你的 Drupal 安装包的结构可能会是像这样的:
原文:Working with Twig Template
Drupal允许您覆写用于生成HTML标记的所有模板,这样您就能完全控制定制主题中输出的标记。从高级HTML到小的字段,每个页面元素都有模板。
覆写模板(Overriding templates)
通过向遵循一定命名约定的主题文件夹添加模板,您就可以覆写Drupal核心模板。
要覆写模板,您:
- 找到想覆写的模板;
- 把模板文件从其基本位置复制到您的主题文件夹;
- (可选地)根据命名约定重新名命模板,以便针对要使用模板的更具体区域;
- 按您的喜好修改模板。
一旦您把模板文件复制进您的主题并清除缓存,Drupal就会开始用您的模板文件实例而不是基础模板。对于页面的任何部分,您都可以用Twig调试工具来找到其使用的模板。
- 阅读更多 关于 Twig 模版的运用
- 登录或注册以发表评论
原文:Twig in Drupal 8
Twig 是PHP的一个模板引擎,是Symfony2框架的一部分。
在Drupal 8中,Twig代替PHP模板而成为默认的模板引擎。这种变化的结果之一是,所有 theme_* 函数和基于 PHP 模板的 *.tpl.php 文件都由 *.html.twig 模板文件所代替。
以下是英文原文,可对照阅读:
新手小白一枚。
用superfish模块,在主菜单下添加了下拉菜单,但是下拉菜单只有点到分页的时候才会显示,在首页的时候鼠标挪到主菜单时不显示下拉菜单,请问该如何解决?
原文链接:Defining a theme with an .info.yml file
想要创建一个 Drupal 8 模板, 第一步你需要建一个 THEMENAME.info.yml 文件,此文件提供了主题的一些元数据给给 Drupal 调用。比较类似于 模块 和安装 profiles 中的定义,但是在.info.yml文件里将“type”键设为“theme”用来区分他们的不同,这个比较重要。
此页面提供演示的 THEMNAME.info.yml 文件和一些此文件可使用的功能概述。
创建一个 .info.yml 文件
在模板文件夹下,创建一个自己的文件夹,我们拿 mahonghong 举例,然后在 mahonghong 文件夹下,创建一个 mahonghong.info.yml,此时在你的网站内的 Manage > Appearance (http://example.com/admin/appearance),应该就能看到这个模板了。
如果你想知道哪个模板生成了指定元素, 你可以使用 Twig 的 debug 功能. 主题名字旁边也显示了文件的位置.
Twing debugging 可以在 sites/default/services.yml 文件内开启, 将twig.config 下的 debug 变量改为 true. 设置后,请清除缓存.
如果你查看当前页面下的源文件, 你将看到 debug 的输出类似下面 Twing templates 被渲染.
- 阅读更多 关于 模板文件的位置
- 登录或注册以发表评论
Drupal 7 介绍了一些新的类如: element-hidden, element-invisible and element-focusable. 从名字上比较难以理解他们的作用, 所以我们改了下名字. 新名字应该比较容易明白而且和 知名的html 5框架 Boilerplate 保持一致, 改变和使用方法如下:
注. 屏幕阅读器 - 是指盲人使用的设备!