W Drupal 7 stworzyłem widok, który zawiera kilka pól. Pola są pogrupowane według innego pola (termin ID pola). Znacznik wygląda następująco:
<h3>[Term 1]</h3>
<div class="views-row views-row-1 views-row-odd views-row-first"> [Field Content] </div>
<div class="views-row views-row-2 views-row-even"> [Field Content] </div>
<div class="views-row views-row-3 views-row-odd views-row-last"> [Field Content] </div>
<h3>[Term 2]</h3>
<div class="views-row views-row-1 views-row-odd views-row-first"> [Field Content] </div>
<div class="views-row views-row-2 views-row-even"> [Field Content] </div>
<div class="views-row views-row-3 views-row-odd views-row-last"> [Field Content] </div>
<h3>[Term 3]</h3>
<div class="views-row views-row-1 views-row-odd views-row-first"> [Field Content] </div>
<div class="views-row views-row-2 views-row-even"> [Field Content] </div>
<div class="views-row views-row-3 views-row-odd views-row-last"> [Field Content] </div>
Potrzebuję jednak znaku, aby wyglądał tak:
<div id="term_1">
<h3>[Term 1]</h3>
<div class="views-row views-row-1 views-row-odd views-row-first"> [Field Content] </div>
<div class="views-row views-row-2 views-row-even"> [Field Content] </div>
<div class="views-row views-row-3 views-row-odd views-row-last"> [Field Content] </div>
</div>
<div id="term_2">
<h3>[Term 2]</h3>
<div class="views-row views-row-1 views-row-odd views-row-first"> [Field Content] </div>
<div class="views-row views-row-2 views-row-even"> [Field Content] </div>
<div class="views-row views-row-3 views-row-odd views-row-last"> [Field Content] </div>
</div>
<div id="term_3">
<h3>[Term 3]</h3>
<div class="views-row views-row-1 views-row-odd views-row-first"> [Field Content] </div>
<div class="views-row views-row-2 views-row-even"> [Field Content] </div>
<div class="views-row views-row-3 views-row-odd views-row-last"> [Field Content] </div>
</div>
Wiem, że możesz użyć views-view-unformatted.tpl.php (Styl wyjściowy), aby przesłonić widok, a następnie wstawić DIV, aby owinąć grupę.
Potrzebuję jednak mojego opakowania DIV, aby tak było <div id="term_ID_{number of ID}">
. Identyfikator numeru będzie odpowiadał terminowi, który został użyty do grupowania pól. Domyślnie, jeśli używasz views-view-unformatted.tpl.php, nie możesz wstawiać do niego tokenów dla identyfikatorów terminów.
Każda pomoc będzie mile widziana.
tpl
plik, zapoznaj się z odpowiedzią tutaj drupal.stackexchange.com/questions/11468/… tldr; na twojej stronie edycji, w obszarze zaawansowanym kliknij motyw: informacjaSpróbuj Format: lista HTML. Spowoduje to zawinięcie całej listy przedmiotów. Na mój cel jest idealny (lista pozycji taksonomii). Mam nadzieję że to pomoże.
źródło
Czy wypróbowałeś już funkcję Rewrite results ? Kliknij pole, które chcesz edytować, i przewiń w dół, aż zobaczysz Przepisz wyniki . Zaznacz pole Przepisz dane wyjściowe tego pola, a następnie dostosuj kod HTML w razie potrzeby. W przypadku tokenów można użyć Wzorów zastępczych pokazanych w polu poniżej obszaru wprowadzania tekstu.
Odnośnie wzorów zastępczych , zwróć uwagę na ostrzeżenie, które wyświetla:
Jeśli to nie wystarczy, spróbuj dodać nowe pole Globalne: tekst niestandardowy . Umożliwi to dodanie dowolnego arbitralnego kodu HTML. Wzory zastępcze są również dostępne tutaj. Możesz użyć dwóch oddzielnych globalnych: niestandardowych pól tekstowych, aby dodać
<div>
tagi początkowe i końcowe.źródło
Global: Custom text
efektów, wiersz w grupie, ale nie na zewnątrz grupy,W tych dniach spotkałem ten sam problem. A oprócz opakowania grupowego potrzebowałem klasy css, takiej jak pierwsza / ostatnia na grupę.
Dodałem więc w views-view-unformatted.tpl.php następujący kod php:
Tutaj część HTML z otoki i klas:
Dane wyjściowe będą:
Może być pomocny - ciesz się
źródło
Myślę, że największą zagadką jest sposób generowania klasy przy użyciu wartości $ title w tagach h3. Wypróbowałbym moduł Transliteration i następujący fragment:
To działało dla mnie, gdy musiałem wykonać nazwane kotwice w widoku.
źródło
Bardzo przydatne - musiałem dodać niektóre klasy alfa / omega dla układu opartego na siatce, a także niektóre nieparzyste, aby móc wyczyścić oba dla każdego wiersza. Edytowałem linię z:
do tego:
Co daje wymaganą moc wyjściową.
źródło
Nie potrzebujesz modułu transliteracji. Rdzeń Drupala ma w tym celu funkcję drupal_html_class .
źródło
Miałem dzisiaj podobny problem, ale potrzebowałem określonej klasy w html opakowania, w moim przypadku widok jest pogrupowany według terminów taksonomicznych i potrzebujemy określonego stylu dla każdego terminu, a więc konkretnej klasy na termin. Oto jak zmieniliśmy widok niesformatowanego szablonu:
W widoku wyświetlanie pola terminu systematyka jest ustawione na: „Pokaż identyfikator encji”. Otrzymujemy więc identyfikator jako część nazwy klasy, a następnie ładujemy tytuł na podstawie tego samego identyfikatora.
źródło
Dla każdego, kto nie chce nurkować w kodzie i bawić się szablonami, można to łatwo zrobić, usuwając domyślne klasy div za pomocą Fences i dodając własny div do prefiksu i sufiksu pola za pomocą prostego formatera pola . Jeśli masz wiele pól, po prostu dodaj zawierający div w prefiksie pierwszego pola oraz w sufiksie ostatniego pola.
Tak więc natywna struktura z niepasowanymi obszarami przedrostków i sufiksów wyglądałaby mniej więcej tak:
Gdybyś miał dodać klasę „foo”, stałoby się
źródło
Odpowiedź od chrisjlee powyżej wyjaśnia to dobrze, z wyjątkiem tego, jak nazwać plik szablonu. Jeśli chcesz zmienić tylko jeden widok, nowy plik musi zawierać nazwę komputera widoku. Możesz to znaleźć w adresie URL strony edycji widoku. Bardzo dobrze wyjaśniono w tym komentarzu na podobny temat: https://www.drupal.org/node/1383696#comment-6729128
Potrzebowałem klasy wokół wierszy, używając wartości $ title, aby móc renderować je w 2 kolumnach. Oto kod:
źródło
Natknąłem się na podobny problem. Chciałem, aby moje zgrupowane wiersze wyświetlały się w akordeonie ładowania początkowego. Nie mogłem pracować z modułem Views Bootstrap .
Komentarz # 4 rozwiązał mój problem.
Oto jak
views-view-unformatted-[my_view_name]-[my_display_name].tpl.php
wygląda mójoczywiście, aby akordeon działał, musisz także edytować widoki-widok- [moja_nazwa_widoku] - [moja_nazwa_wyświetlania] .tpl.php, aby mieć
Zostawiłem domyślny kod z modułu między komentarzami HTML.
Mam nadzieję, że to pomoże.
źródło