云客Drupal源码分析之主题引述

本文针对Drupal8主题系统进行深入讲解,适合已掌握主题基础的开发者。介绍了主题系统的灵活性,如响应式设计、按条件切换主题,以及yaml文件规范。还探讨了主题的继承、info文件默认值、模板文件命名规则,并提醒了info文件中空格的注意事项。
摘要由CSDN通过智能技术生成

从本主题开始,云客源码分析系列将连续讲解drupal主题相关内容,主要读者定位为drupal开发人员,以及想深入理解主题系统的前端人员,讲述系统是如何处理主题的,尽量兼顾到不会php的主题开发人员,提供许多要点知识,使他们读后更加深入的理解主题,对一些概念和用法有精确的掌握,由于这样的定位,将少讲解主题开发的入门知识,这方面的中文文章资料有很多,官方也较系统的进行了介绍,你应该先行查阅,如果有疑点或需要更加深入那么本系列将是你需要的。
这里推荐你阅读晴空写的《听晴空讲主题》系列文章,该系列还配有视频教程,晴空本人是中国为数不多的最专业的drupal主题开发者之一,作为主题开发人员对系统理解之深让云客惊讶。

由于阅读本主题时你应该已经掌握了主题基本概念,所以本主题将进行离散的讲解比较重要的知识点,也对官方文档含糊不清的地方给予清晰解释和深入剖析,后续主题将全面介绍系统与主题相关的组件和逻辑。

drupal主题系统的能力:
drupal主题系统十分灵活,你可以全站使用一套主题,用响应式设计去兼容移动端和pc端,如果响应式无法满足要求,你可以在各端分别使用不同的主题,但主题系统的灵活性远不止如此,实际上在同一个站点中你可以根据任意条件使用不同的主题,系统后台设定的只是默认值而已,比如在pc端或移动端你可以为不同语言采用不同主题,甚至不同用户采用不同模板,条件是任意的,只需要简单实现一个主题协商即可。

yaml格式:
关于yaml文件的规范请见官网http://www.yaml.org/ 网上有许多教程,不再讲述,这里仅提供一些注意事项及建议:
在扩展的info文件中,只有'type', 'core', 'name'是必须的,如果指定了'version'且全等于'VERSION',那么将采用drupal的版本号作为扩展的版本号(\Drupal::VERSION)
drupal中如果php的'yaml'扩展存在那么将使用YamlPecl::class来解码yaml文件,如果不存在那么回退使用YamlSymfony::class来解码,前者有很好的性能,但为了数据在不同环境下的一致性,在编码数据时一律使用后者。
如果你对yaml理解不深或者方便起见,可以直接使用系统提供的工具来产生yml文件以避免错误,这里是一个演示(请在控制器中执行):

        $data = [
            "str"                => "字符串",
            "st
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值