Wiele tematów dotyczy niestandardowych bloków, ale co z blokami utworzonymi przez widoki?
Mój blok widoków ma identyfikator: block-views-posts-listing-block,
Próbuję na wiele sposobów nazwać plik szablonu, np .: blok - blok - views-posts-listing-listing-block.tpl.php, ale nie mogę znaleźć poprawnej nazwy pliku.
Odpowiedzi:
Edytuj swój widok. i W ustawieniach „Zaawansowane” szczegółów Bloków kliknij
"Theme: Information"
. Wyświetlona zostanie lista opcji plików szablonów.na przykład, jeśli twój blok ma nazwę „lista wpisów”, zobacz możliwe nazwy wymienione w opcji „Informacje o motywie”:
na przykład : twój blok ma listę wpisów z nazwami i ma niesformatowany styl , a następnie „Informacje o motywie” sugerują nazwę
views-view-unformatted--posts-listing--block.tpl.php
(jest to tylko jedna z kilku nazw). można skopiować oryginalnyviews-view-unformatted.tpl.php
plik szablonu (w katalogu / modules / views / theme) do bieżącego katalogu tematycznego i zmień nazwę tego pliku z nazwą sugerowane:views-view-unformatted--posts-listing--block.tpl.php
. następnie wprowadź zmiany w pliku szablonu. Jeśli ten szablon nie pozwala wprowadzić żądanych zmian, poszukaj innych szablonów zgodnie z potrzebami.Na koniec, jeśli dodasz nowy szablon, przeskanuj ponownie listę plików szablonów:
Również moduł dewelopera motywów http://drupal.org/project/devel_themer sugerowany przez Oswalda może być przydatny do wykrywania możliwych szablonów w celu zmiany określonych elementów zgodnie z twoimi kryteriami. Nie polecam tego modułu włączonego w środowisku produkcyjnym (w moim przypadku nawet wyłączyłem moduł w środowisku testowym, ponieważ wydaje się, że ma konflikty z widokami, ale gdy był potrzebny, był bardzo przydatny)
źródło
--block
na jego imieniu. Pamiętaj o ponownym skanowaniu szablonów i pamiętaj o umieszczeniu szablonu w katalogu bieżącego motywu (skopiuj wybrany szablon z modułów / widoków / motywu). szablon musi mieć nazwę sugerowaną na liście „Informacje o motywie”. To działa.Dla tych, którzy szukają odpowiedzi w D7, według Theme Developer (alias devel_themer), możesz utworzyć przesłonięcie tpl dla bloku widoku, stosując konwencję:
Dlatego w podanym przykładzie otrzymasz
Bez spacji (nie mogłem tego poprawnie edytować, aby wszystko było w linii.
źródło
Pod koniec pół godziny zmiany nazw tpl, oto mój końcowy wniosek:
[view-name] - [display-name] część można znaleźć tak, jak powiedział noTxt lub łącząc się z '-' nazwa id widoku i nazwa id wyświetlanego widoku, -block na końcu jest niepoprawny .
źródło
W Drupal 8
Szablon pól byłby:
źródło
block--views--[view-name]-[display-name].tpl.php
należy zmienić nablock--views--[view-name]-[machinename].tpl.php
.Nazwę maszyny znajdziesz w sekcji zaawansowanych widoków, w której jest ona zapisana jako inna
źródło
Wzorce nazw plików opisane powyżej działają, chyba że nazwa widoku + nazwa wyświetlana jest dłuższa niż pewna liczba znaków !! Zostałem złapany przez to i nie mogłem znaleźć przyczyny, dla której plik szablonu z rozszerzeniem ...
block.tpl.php
działał, a następujący ekran ...block-1.tpl.php
nie działał.Okazuje się, że widoki zastępują nazwę komputera skrótem MD5, jeśli nazwa jest za długa. Jeśli chcesz mieć pewność, że nazwa szablonu powinna być używana, dodaj
$conf['theme_debug'] = TRUE;
plik settings.php, a następnie spójrz na źródło strony. jeśli znajdziesz coś takiegoblock--views--d131dd02c5e6eec4
... lepiej skróć nazwę maszyny widoku (jeśli to zrobisz ... To nie jest nazwa czytelna dla człowieka). W przeciwnym razie musisz użyć pliku szablonu o tej głupiej nazwie.Zobacz też
Widoki Nazwa maszyny Blocka jest „mieszana” (?)
i
https://www.drupal.org/node/346602
źródło
Sprawdź tę stronę https://www.drupal.org/node/1089656 i informacje o podkreśleniach używanych przez widoki:
źródło
W przypadku bloków wewnątrz paneli panelowych rozwiązanie dostarczone przez noTxt i inne nie działa. Składnia byłaby wtedy (bez podkreślenia!):
Podziękowania dla user3074436 za udostępnienie ustawienia $ conf ['theme_debug'] w celu ustalenia tego wyjątkowego przypadku zastępowania motywu
źródło
Jesteś na D7> = 7.33, możesz wyświetlić motyw_sugestii bezpośrednio na stronie jako Komentarze HTML, używając:
w
settings.php
Oto pełna dokumentacja https://www.drupal.org/docs/7/theming/overriding-themable-output/working-with-template-suggestions
źródło