主题化Drupal将多个字段分组

主题化Drupal将多个字段分组,drupal,drupal-6,drupal-views,Drupal,Drupal 6,Drupal Views,我有一个内容类型,它有4个图像 在我看来,它们是分组的(将多个值分组) 我想将每个图像放在单独的li中,例如: <ul class="list"> <li><img src="/images/image1.jpg"/></li> <li><img src="/images/image2.jpg"/></li> <li><im

我有一个内容类型,它有4个图像

在我看来,它们是分组的(将多个值分组)

我想将每个图像放在单独的li中,例如:

<ul class="list">                                    
<li><img src="/images/image1.jpg"/></li>
<li><img src="/images/image2.jpg"/></li>
<li><img src="/images/image3.jpg"/></li>
<li><img src="/images/image4.jpg"/></li>
</ul>
我如何做到这一点?我假设我需要使用foreach循环对字段模板文件进行主题化,但我不太清楚我应该做什么


谢谢:)

使用视图主题化可以做到这一点。这将是一件非常容易的事情,但它将需要你一点编码(不是那么多)


这是一个很好的开始指南:

发布的链接似乎是如何查找视图模板的一个很好的演练。为视图创建专题与为其他任何内容创建专题没有太大区别,唯一棘手的部分是确定要覆盖哪个模板以及如何调用它。这些信息可以在视图UI的主题信息下找到


无论如何,一旦你开始(记得清除缓存,让Drupal使用你的新模板),你就很难弄清楚你有什么样的变量等来定制你想要的视图。随着时间的推移,这变得越来越容易,但我通常使用的策略是devel模块和
dpm()
。这将为您打印变量,并使您更容易看到需要更改什么/如何更改以获得所需的标记。还记得准备好视图模板中的注释,它有很好的文档说明它为您提供了哪些变量。

伙计们谢谢你们的帮助,你们把我推向了正确的方向

我通过重写template.php中名为theme\u content\u view\u multiple\u字段的函数来解决这个问题

function MYTHEME_content_view_multiple_field($items, $field, $values) {
  $output = '';
  $i = 0;
  foreach ($items as $item) {
    if (!empty($item) || $item == '0') {
      $output .= '<li class="test field-item field-item-'. $i .'">'. $item .'</li>';
      $i++;
    }
  }
  return $output;
}
函数MYTHEME\u内容\u视图\u多个字段($items,$field,$value){
$output='';
$i=0;
foreach($items作为$item){
如果(!empty($item)| |$item=='0'){
$output.='
  • '.$item'.
  • '; $i++; } } 返回$output; }
    最终,我将对其进行编辑,使其仅影响此特定字段(例如)


    干杯:)

    谢谢汤姆!这对Drupal 6来说就像一种魅力。下面是一些额外的行,它们保留默认标记(DIV)并将特定字段更改为LI,其中FIELDNAME是CCK字段的机器名

    function MYTHEMENAME_content_view_multiple_field($items, $field, $values)
    {
      $tag = 'div';
      if($field['field_name']=='FIELDNAME')
      {
        $tag = 'li';
      }
        $i = 0;
        foreach ($items as $item)
        {
          if(!empty($item) || $item == '0')
            {
              $output .= '<'.$tag.' class="item_'. $i .'">'. $item .'</'.$tag.'>';
              $i++;
            }
        }
        return $output;
    }
    
    函数MYTHEMENAME\u内容\u视图\u多个字段($items,$field,$value)
    {
    $tag='div';
    如果($field['field\u name']=='FIELDNAME')
    {
    $tag='li';
    }
    $i=0;
    foreach($items作为$item)
    {
    如果(!empty($item)| |$item=='0')
    {
    $output.=''.$item'.';
    $i++;
    }
    }
    返回$output;
    }