Drupal 7 field.tpl.php

Fields 是其中一個 Drupal 7 最重要的改變
Title, body, image 都是 fields
可以想像為將 cck 的 "Manage Fields" 都變為 Drupal 核心的一部份
而且 node.tpl.php 之下還有一個 field.tpl.php
可以為某 field 獨立設定輸出 html

field.tpl.php 的原型可以在 modules/field/theme 內找到
一如 node.tpl.phph, field.tpl.php 也有多個 template suggestions
例如

<?php
/*
field-name-[field_name]
field-name-title
field-name-field-image
*/
?>

要留意, 如果你的 field 名為 field_image
templates 的名字應為 field-name-field-image
將 "underscore" 改為 "hypen"

另外, field.tpl.php 在一個 field.tpl.php 處理欄位多值
你可以看到有一個 foreach 的迴圈
外包了一個 field-items 的 class, label 等等

fields.tpl.php 令開發者多了一層的控制
而且可以統一 fields 在不同時候不同地方的顯示樣式
如果覺得預設加入了太多不需要的 html 的話
也只需將一個精簡的 field.tpl.php 移到 theme folder 便可以了

Google