原文链接: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 保持一致, 改变和使用方法如下:
注. 屏幕阅读器 - 是指盲人使用的设备!
TBD
连接和路径函数比较类似,函数可以在以下路径找到 \Symfony\Bridge\Twig\Extension\RoutingExtension
url()
path()
url_from_path()
link()
file_url()
attach_library()
// 如果检测到数组, 这个函数会收到一个可渲染的数组. render_var(), 内部使用,最好别用.
自定义高级搜索区域
https://www.drupal.org/project/custom_search下载模块并安装启用,设置:首页 » 管理 » 配置 » 搜索及元数据 » Custom Search » Custom Search
在results Page中去掉不希望用户看见的内容类型即可。
- 阅读更多 关于 自定义高级搜索区域
- 登录或注册以发表评论
作为一名Drupal开发者,现在是时候开始学习Drupal8,可以加入 Drupal8 文档的翻译,也可以将自己开发的模块和主题升级到Drupal8版本,Drupal中国文档翻译团队期待你的加入!
初次参与翻译的朋友,可以先查看《如何参与Drupal官方文档翻译?》
本次翻译的是《Theming Drupal 8》的子页面。
如果你还没有加入翻译组,请把你的drupalchina上的id告诉龙马,加入翻译组,即可编辑这个页面,认领翻译任务。
翻译任务分配:
(备注:“(由 _ 翻译” 仅是占位,如果您申领的话,请将下划线“_”替换为你的昵称,谢谢!)