drupal node 显示不同字段 node.tpl.php,修改Drupal Taxonomy Term列表显示方法
Drupal的Taxonomy可以添加多個Term,實現把內容歸類的功能,除了可以制作出最簡單的數據列表外,還可以把它的列表顯示方式變得更漂亮:
在Taxonomy中點擊Add vocabulary添加新的vocabulary,取名為Category
在Category中新增Term,取名為News
Create content新建一個類型為Story的內容
由于添加了Category vocabulary,所以在內容編輯頁會多了一個Category的選項,這時選擇News,就可以把內容歸到News一類
通過以上過程之后,已經訪問列表了,Path為taxonomy/term/% (%為ID值),全訪問地址為http://www.dsjz.cn/taxonomy/term/1。
ID是Term ID 的值??梢赃M行addmenu操作時把taxonomy/term/1作為path填寫,來顯示在menu上。
可以通過模板來定制term列表的外觀,一般使用node.tpl.php這樣的命名,如果要針對指定某個文章類型的模板,可以用node-story.tpl.php,story是一種文章類型,如果是blog,則模板為node-blog.tpl.php。(注:所有內容類型都是node)
另外page-node.tpl.php也是一個node模板,與node.tpl.php分別在于node.tpl.php指多個node的列表頁,而page-node.tpl.php是單個node的模板,也就是內頁(fullnode)或者編輯頁(edit node)。
與CCK結合使用,可以添加新的字段到內容類型上,通過修改模板文件來輸出新的字段,而且taxonomy term列表有分頁功能,能滿足大多數列表需求。
在content type的Manage fields里可以添加新字段,字段類型可以添加CCK字段插件來增加。Display fields用于決定Full node頁與Teaser頁的字段呈現方式。(注:Teaser即為taxonomyterm頁)
如果需要給Teaser頁添加自定義字段,可以在主題的template.php中添加mytemplate_preprocess_node函數,利用它可以在node.tpl.php及其相關模板輸出前進行代碼注入。也可以通過Content Template模塊來定制輸出模板,不過這方法對于開發者來說不便,也增加了模塊數目。
缺點:taxonomy terms可以定制字段與呈現方式,它通過taxonomy_term_page函數查詢數據并生成HTML輸出,但它只可以指定TermID與深度,無法以更多的條件來定制數據。要得到更高級的數據列表,就只能用其他方法得到數據。
取代方法1:使用SQL提到查詢數據,再使用theme函數調出模板輸出到頁面上。這個方法比較靈活,效率相對高,不過會增加相當多的代碼量,如果列表定制過多不易于維護。
取代方法2:Views。Views是Drupal上數據提取解決方案,提取數據相當靈活。而且默認有幾個Views List可用,其中的taxonomy_term就是用于取代taxonomyterm的列表。開啟taxonomy_term后,會使node-view-taxonomy_term.tpl.php文件可用。也可以通過編輯taxonomyterm的views來修改數據排序等。
最好的方式是通過Views來改變或者添加要顯示出來的內容,簡單直觀快捷,很方便的。
總結
以上是生活随笔為你收集整理的drupal node 显示不同字段 node.tpl.php,修改Drupal Taxonomy Term列表显示方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 内存电压突破3200!让你的电脑速度提升
- 下一篇: 内存管理大揭秘!资深工程师教你如何用ha