Drupal 頁面的模板文件後綴名叫做"theme",和Windows的主題文件名一樣,是直接用php寫的,改起來比較困難,我在用 Drupal 架自己的這個 blog 用的是一種比較簡單的方法。
先安裝 Drupal site contributed theme - PHP Template,解開default目錄裏的文件是默認的模板樣式,你可以直接修改default裏文件,或者拷貝該文件夾重命名,然後在網站的phptemplate控制檯選擇新生成的文件夾。
default目錄的templates文件夾放的是頁面模板:
header.tpl.php, footer.tpl.php
分別是頁面頭尾,以內容節點爲分隔,也就是把你寫好的template的html從放content的點分開放在這兩個文件裏。並在需要的地方插入模塊
search框
<?php if ($display_search): ?>
導航條
<?php if (is_array($links)): ?>
<ul id="main-nav">
<?php foreach ($links as $link): ?>
<li><?php print $link?></li>
<?php endforeach; ?>
</ul>
<?php endif; ?>
左邊的sidebar
<?php if ($sidebar_left != ""): ?>
<div class="sidebar" id="sidebar-left">
<?php print $sidebar_left ?>
</div>
<?php endif; ?>
右邊sidebar
<?php if ($sidebar_right != ""): ?>
<div class="sidebar" id="sidebar-right">
<?php print $sidebar_right ?>
</div>
<?php endif; ?>
當前位置的導航條
<?php if ($breadcrumb != ""): ?>
<?php print $breadcrumb ?>
<?php endif; ?>
不要忘了
<form action="<?php print url("search") ?>" method="post">
...
</form>
儘量使用div來寫頁面,使用table頁面打開比較慢,且無法使用htmlarea模組。
node.tpl.php
內容節點模板,修改如內容標題日期的樣式,在一個頁面中重複使用。
default目錄的3個css文件:
其實三個樣式都是在header中可以自定義引入
layout.css
template中層位置的定義,完全自己定義,可把自己寫的css樣式放在裏面
style.css
每一塊的樣式,可修改內容,不要改id
modules.css
模組的顯示樣式
樣式內容雖然看起來很多,但其實只要找到正確的id,需要的改的地方並不多。
相關問題可以參考:
Templates and Template Engines
Open discussion on Drupal's themeing capabilities and templating engines
簡單介紹了一下自己改 Drupal 模板的經驗,希望大家能改出更好看的template。