2010-11-17 3 views
4

У меня есть тип контента, который имеет 4 изображения к нему.Theming 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, но я не могу понять, что я должен делать.

Thanks :)

ответ

0

Ребята благодарим за вашу помощь, вы толкнули меня в правильном направлении.

я обойти это, перекрывая функцию под названием theme_content_view_multiple_field в моей template.php

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

Ссылка Ран размещена кажется тонким пошаговым о том, как найти вид шаблоны. То, что просмотр не сильно отличается от того, что касается всего остального, единственная сложная часть - выяснить, какой шаблон переопределить и как его называть. Эту информацию можно найти в пользовательском интерфейсе представлений, в разделе «Информация о теме».

В любом случае, как только вы начнете (не забудьте очистить кеш, чтобы Drupal использовал ваш новый шаблон), может быть сложно определить, какие переменные и т. Д. Вы имеете доступ, чтобы настроить представление так, как вы хотите. Это становится легче с течением времени, но стратегия, которую я обычно использую, является модулем devel вместе с dpm(). Это довольно печатает переменные для вас и значительно облегчает просмотр того, что/как вам нужно изменить, чтобы получить разметку, которую вы хотите. Также не забывайте готовить комментарии в шаблонах представлений, он имеет хорошую документацию о том, какие переменные он предоставляет вам.

0

Thanks Tom! Это работало как шарм для 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

Смежные вопросы