2011-05-10 181 views
1

當我創建新節點時,可以選擇不同的模板嗎?Drupal:內容類型模板

例如:當我想要創建內容類型產品的節點時,我想在4個不同的模板之間進行選擇。

回答

0

我有兩個答案:

1)創建CCK領域,用戶會選擇使用哪個模板(例如field_template),並在你的template.php添加此片段:

function mytheme_preprocess_node(&$vars) { 
    if (!empty($vars['field_template'][0]['value'])) { 
    array_unshift($vars['template_files'], 'node-' . $vars['field_template'][0]['value']); 
    } 
} 

然後,將嘗試使用node-template.tpl.php作爲您的模板文件,並且如果它找不到,它將回退到node.tpl.php。 2)爲這種內容類型創建一個分類標準,並按照分類標準進行設計(類似上面的代碼,只是稍加修改)。

+0

我喜歡將分類法看作是屬性的分類,而不是將屬性添加到某個東西。所以,儘管你的第二個選項可能會起作用,但第一個選項使用CCK作爲更合適的節點屬性。 – Rimian 2011-05-11 04:56:27

+0

我的想法確切。然而,對於初學者來說,附加分類法相當容易,而CCK則更爲複雜。 – yoavmatchulsky 2011-05-11 06:07:02

+0

謝謝你的回答。 – 2011-05-11 12:31:59