/ / Renderuj blok po 3 6 niż 9 węzłach - drupal, czas, blok

Renderuj blok po 3 6 niż 9 węzłach - drupal, czas, blok

Pracuję na stronie Drupal 7. Na której mam stronę „Historie klientów”, strona jest tworzona z modułem widoków pokazującym zwiastun.

Teraz wymagam, aby na tej stronie wyświetlać jeden blok wiele razy. 1. po 3 węzłach, potem po 6 węzłach, a potem po 9 węzłach i tak dalej. Myślałem, że to logika, ale się nie udało.

Czy ktoś ma jakiś pomysł, jak to osiągnąć? Przeglądałem też google, ale skończyło się pustym.

Odpowiedzi:

1 dla odpowiedzi № 1

Nie przetestowano, ale wydaje się, że tego właśnie szukasz: https://github.com/pedroposada/custom_views_nthrow To jest moduł Drupal 7 dla widoków, który dokładnie robi to, czego potrzebujesz.

Jeśli chcesz to zrobić samodzielnie, oto rozwiązanie krok po kroku, naprawdę proste! http://www.jasom.net/how-to-add-custom-code-adsense-after-first-row-in-drupal-7-and-drupal-8-views-one-line-solution

Utwórz niestandardowy plik .tpl dla swoich widoków i użyj tego kodu:

    <?php if (!empty($title)): ?>
<h3><?php print $title; ?></h3>
<?php endif; ?>
<?php foreach ($rows as $id => $row): ?>
<div<?php if ($classes_array[$id]) { print " class="" . $classes_array[$id] .""";  } ?>>
<?php print $row; ?>
</div>
<?php if ($id == 0 || $id == 5): ?>My custom code after first and sixth row in Drupal views<?php endif; ?>
<?php endforeach; ?>

Zmień numery $ id na 2,5 i 8.


0 dla odpowiedzi nr 2

Pomyśl, że najłatwiej jest zastąpić widok tpl (stylowy) i dodać tam logikę, aby zamiast renderować wszystkie „wiersze” w rolce, wyprowadzasz blok co 3 węzły.