Drupal:内容类型模板

Drupal:内容类型模板,drupal,Drupal,创建新节点时,是否可以选择不同的模板 例如:当我想创建内容类型产品的节点时,我想在4个不同的模板之间进行选择。我有两个答案: 1) 创建一个CCK字段,供用户选择要使用的模板(例如,field_template),并将此代码段添加到template.php中: function mytheme_preprocess_node(&$vars) { if (!empty($vars['field_template'][0]['value'])) { array_unshift($

创建新节点时,是否可以选择不同的模板

例如:当我想创建内容类型产品的节点时,我想在4个不同的模板之间进行选择。

我有两个答案:

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) 为该内容类型创建分类法,并按分类法进行设计(类似于上面的代码,只做了一点修改)。

我喜欢将分类法视为属性分类,而不是向某些内容添加属性。因此,虽然第二个选项可能有效,但第一个选项使用CCK作为节点的属性,这更合适。我的想法正是如此。然而,附加分类法对于初学者来说相当容易,而CCK则更为复杂。