你在这里

drupal主题

听晴空讲Drupal主题——第四章 德国人写的主题教程(2)

4.2 德国人写的主题教程(2)How to Make a Drupal Theme step by step  (2)

听晴空讲Drupal主题——第四章 德国人写的主题教程(1)

前言:我承认,这一整章的内容之所以选择翻译这个德文的教程,是因为我有点偷懒。因为前面三章的内容是我自己规划的,往往写一节只需要2,3个小时,但是构思推敲写什么内容却让我大伤脑筋。正好玩Drupal的人看英文估计也没啥问题,德文就不一定了。所以这次我给大家换换口味带来一套基于德文的翻译资料。

4.1 德国人写的主题教程(1)How to Make a Drupal Theme step by step  (1)

http://www.drupaltutorials.de/2013/06/19/drupal-themes-teil-2

在最理想的情况下,你只要用一个已经做好的系统就可以忽悠你的客户了——Drupal官网提供的那些现成的主题和模块在某种意义上来说,就是出于这种目的。事实上在现实中也有很多这样的例子。在这篇教程里,我们将讲述从哪里可以得到主题,如何安装并使用它们。

听晴空讲Drupal主题——第三章 Drupal 主题制作的准备工作(下)

3.3 Drupal主题制作的准备工作(下)Get ready to Theming (III)

3.5    模板建议(template / theme hook suggestion)

一旦你确认了页面构成元素、填写好了对应的表格并画好了线框图,你就可以开始制作主题了。

我们已经在上一章第三节讲述覆写的时候提过模板覆写的命名规则。在Drupal的范畴中这个命名规则有着自己的专有名词:template suggestion 或者theme hook suggestion .我们权且翻译成模板建议好了。

开始制作主题之前,这个知识点还是有必要了解一下的,因为当你为不同的区块、页面编写模板的时候,你都会遇到模板文件命名的问题。如果命名错误,你的模板就不会生效。以下是Drupal7的模板命名规则——模板建议:

3.5.1  区块的模板建议

基模板: block.tpl.php

模板建议:block--[region|[module|--delta]].tpl.php

可能的模板:

标签: 

听晴空讲Drupal主题——第三章 Drupal 主题制作的准备工作(中)

3.2 Drupal主题制作的准备工作(中)Get ready to Theming (II)
 
3.3 模版文件中的变量
 
我们在第二章中已经说过,模版文件中包括Html和php。上节中在绘制线框图的过程中,也建议大家标明PHP变量,比如上图中出现的$logo,$main_menu ,$secondary_menu 。至于这些变量的定义及作用,其实就好像乘法口诀表一样,最好能够熟记。在模版开发的过程中,你会发现,最经常被覆写的模版分别是:html、page、node和block。以下4幅图片分别给出了对应的模版文件中的变量及其定义:
 
2014-08-13_072914.png
 
2014-08-13_072908.png
 
标签: 

听晴空讲Drupal主题——第三章 Drupal主题制作的准备工作(上)

3.1 Drupal主题制作的准备工作(上)Get ready to Theming (I)

我知道有很多人喜欢看那种实战类型的教程,第一步做什么,第二步做什么,直到最后一步做完,就学会了。我保证,下一章我也这么写。不过本章依然要说一些理论的东西。

第一章我们讲了主题的文件夹结构;

第二章讲了主题相关的重要概念:

1. 网页由各种不同的页面元素组合而成。

2. Drupal为每个页面元素都提供了默认的HTML标签,他们是由对应的模块负责的。

3. 如果你需要修改这些默认标签,你就应该在你的主题中覆写对应的代码。

4. 基主题往往会提供更好的默认标签。

5. CSS网格框架能让前端和主题开发的工作更加轻松

标签: 

听晴空讲Drupal主题——第二章 Drupal主题相关的重要概念(4)

2.3 Drupal主题相关的重要概念(4)Basic concept of Drupal Theme (IV)

2.4 基主题和子主题

Drupal官网上有上千个主题供大家下载和使用。这其中有大概40个基主题。基主题(base theme)也称父主题,他的概念是和子主题(sub theme)相对应的。在前面讲解Drupal主题的工作机制的时候,我们已经知道,Drupal会为页面提供一套默认的模板,而基主题则修改了这些默认模板,以求得到“更好的”特性。它们的作用并不是让你直接使用,而是让你在它们的基础之上创建你需要的子主题。

官网给出了一系列使用基主题的理由https://drupal.org/node/980434 :

na_yi_kuan_ji_zhu_ti_gua_he_ni_-05.jpg

 

听晴空讲Drupal主题——第二章 Drupal主题相关的重要概念(2)

2.2 Drupal主题相关的重要概念(2)Basic concept of Drupal Theme (II)

2.3 覆写

只要你在主题文件夹中覆写了页面元素所对应的代码,就等于修改了这个元素的呈现规则,Drupal系统会用这个新规则所定义的方式来呈现对应的元素——Drupal用这种被称之为“覆写”的机制来保证你永远不需要修改核心的东西。创建主题就是为了把默认的呈现规则变成你自己的规则,因为Drupal为你提供的HTML标记往往都是你不需要的。当你为所有需要修改的页面元素都添加了各自的规则的时候,你的主题就做好了。

2.3.1 模板的嵌套

关于页面的构成,Drupal官网上给出了一个很好的图示:

听晴空讲Drupal主题——第二章 Drupal主题相关的重要概念(1)

2.1 Drupal主题相关的重要概念(1)Basic concept of Drupal Theme (I)

Ok,现在你应该清楚主题文件夹都包含哪些文件了,但是在我们进一步讲解之前,我觉得需要强调几个重要概念:

1. 网页由各种不同的页面元素组合而成。

2. Drupal为每个页面元素都提供了默认的HTML标签,他们是由对应的模块负责的。

3. 如果你需要修改这些默认标签,你就应该在你的主题文件中覆写对应的模板。

4. 基主题往往会提供更好的默认标签。

5. CSS网格框架能让前端和主题开发的工作更加轻松。

你记住了么?OK,让我们继续。

 

听晴空讲Drupal主题——第一章 Drupal主题的文件结构

第一章 Drupal主题的文件结构 File Structure of Drupal Theme

在Drupal中,内容和设计分开处理。内容存储在数据库中,而主题系统负责呈现设计和样式。当前大部分CMS都采用这种前后台分开的方式,因为这样可以在重复利用网站后台功能的前提下,开发出不同的网站前台样式,以更灵活的方式去满足不同的设计需求。

在Drupal中任何非核心自带主题或者经过修改的核心主题都应该放在"sites/all/themes"目录中。让我们来了解一下这个目录下面的基本文件结构——这是学习Drupal主题的首要任务。Drupal主题是由.info文件、template.php文件、模板文件(tpl.php)和CSS、JS及图片文件组成的。

na_yi_kuan_ji_zhu_ti_gua_he_ni_-14.jpg

 

听晴空讲Drupal主题

前言

Drupal主题有关的技能本身并不难,它的特点在于,一旦熟悉了之后,整个过程就变成下意识的行为了。就好象开车的时候,什么时候挂几档,什么时候踩油门,什么时候踩离合——司机们都能非常熟练的完成这些动作,而且基本上不需要思考。但是对于初学者来说,要教会他们这些动作,还是要费一番口舌和气力的。

我打算写一个连载的帖子来讲一些和主题有关的理论,初衷是为社区贡献一点儿自己的力量,同时也希望能帮助一些初学者。这个系列就是要把各种下意识的行为分解成系统的文字描述,然后介绍几个Drupal基主题,最后,将讲述Drupal8的主题知识。

我知道当前关于Drupal主题制作,有多种不同流派和工作流程,甚至有人对于是否应该使用网格等前端框架进行前端开发都持怀疑态度,但我认为在Drupal的整个生态环境中,主题依然是一个薄弱环节,相关资料、理论基础都比较缺乏——因此,我试图在此将主题相关的理论做一个系统梳理。 

个人能力和精力都有限,帖子中难免出现错误及遗漏,请大家不吝指出;也欢迎有不同见解的同仁一起探讨。

页面

订阅 RSS - drupal主题