2010-11-17 115 views
4

我有一个内容类型有4个图像。主题Drupal分组多个字段

在我的视图中,他们被分组(组多个值)。

我希望把每幅图像在一个单独的李,如:

<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循环来模拟字段模板文件,但我无法弄清楚我应该做什么。

谢谢:)

回答

0

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

我得到了这一轮通过替换在我的template.php称为theme_content_view_multiple_field功能

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; 
} 

最终,我会编辑,以便它只会影响这一特定领域(如http://drupal.org/node/556232

干杯: )

1

的联系张贴然看起来如何寻找视图模板罚款演练。构建一个视图与其他任何东西并没有什么不同,唯一棘手的部分是确定要重写哪个模板以及将其称为什么。这些信息可以在主题信息下的视图UI中找到。无论如何,一旦你开始使用(记得清理缓存以使Drupal使用你的新模板),可能很难弄清楚你有什么变量等,以便按照你想要的方式自定义视图。随着时间的推移,这会变得更容易,但我通常使用的策略是与dpm()一起的devel模块。这个漂亮的打印变量可以让你更容易看到你需要改变什么/如何获得你想要的标记。还要记住准备好视图模板中的注释,它有很好的关于它为你提供哪些变量的文档。

0

谢谢汤姆!这就像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; 
} 
+0

+1。 – vgoff 2012-11-04 00:40:09