Drupal6 pro Drupal development(专业开发指南)TheThemeSystem主题系统
用Drupal的行话来说,主题就是一组负责你站点外观的文件。你可以从
/project/Themes下载第3方 主题,或者你可以自己动手创建一个主题,后者正是你在本章将要学习的。作为一个web设计者,主题由你所熟悉的大部分内容所组成:样式表,图 片,JavaScript文件,等等。你将发现,在Drupal主题和纯HTML站点之间的区别就是模板文件。这些文件一般都包含大段的静态HTML,和 一些小段的用来插入动态内容的代码。它们负责你站点的一个特定部分的外观。模板文件的语法依赖于它所使用的主题引擎。例如,列表8-1,8-2,8-3列 出了3个模板文件的代码片段,它们输出的内容是一样但是包含的模板文件内容却完全不同。
列表 8-1. Smarty
<div id="top-nav">
{if count($secondary_links)}
<ul id="secondary">
{foreach from=$secondary_links item=link}
<li>{$link}</li>
{/foreach}
</ul>
{/if}
{if count($primary_links)}
<ul id="primary">
{foreach from=$primary_links item=link}
<li>{$link}</li>
{/foreach}
</ul>
{/if}
</div>
列表 8-2. PHPTAL
<div id="top-nav">
<ul tal:condition="php:is_array(secondary_links)" id="secondary"> <li tal:repeat="link secondary_links"
tal:content="link">secondary link</li>
</ul>
<ul tal:condition="php:is_array(primary_links)" id="primary">
<li tal:repeat="link primary_links" tal:content="link">primary link</li>
</ul>
</div>
列表 8-3. PHPTemplate
<div id="top-nav">