Вы здесь

Не вижу ошибку в коде или не туда смотрю?

0

Добрый день! Понадобилось изменить вывод Owl Carousel, нашел функцию темизации и переопределил ее в template.php вышел такой код:


function bootstrap_store_owlcarousel_list(&$vars) { $items = &$vars['items']; $output = ''; if (!empty($items)) { $array_for_print = array('item' => array(), 'class' => drupal_html_class('item')); foreach ($items as $i => $item) { $array_for_print['item'][] = $item['row']; if($i % 3 == 0){ $output .= theme('owlcarousel_list_item', $array_for_print); } else{ continue; } } } dpm($array_for_print); dpm($output); return $output; } function bootstrap_store_owlcarousel_list_item(&$vars) { $output = ''; $output .= '<div class="my-test ' . $vars['class'] . '">'; foreach ($vars['item'] as $i => $row){ $output .= $row; } $output .= "</div>"; return $output; }

Я хочу вывести только 4 штучки в строку, поэтому и сделал if($i % 3 == 0). Но у меня теперь всегда идет первым элемент дубль и потом только 4 шт. Откуда может взяться этот лишний ума не приложу, вот скрин (синим лишний) -

В dpm($array_for_print); все четко, все мне нужные строки. ПРедполагаю, что мог ошибиться в

foreach ($vars['item'] as $i => $row){    
    $output .= $row;
  }

Спасибо.

Версия Drupal: 
7.x
Категория: 
Theming
Связанные проекты: 
Owl Carousel
Вопрос задан 05.07.2015 - 19:40
Аватар пользователя Sora
Sora
91

о, transliteration не стоял, картинка побилась. Исправлено)

Комментарий оставлен 06.07.2015 - 11:02

Ответы

0

Тьфу, написал вопрос и понял - if($i % 3 == 0) если $i == 0, то и 0%3 == 0. Теперь осталось понять, как темизировать, только для определенной views :)

Ответ дан 05.07.2015 - 19:56
Аватар пользователя Sora
Sora
91