Pracuję na stronie internetowej Drupal 7. Stworzyłem niestandardowy typ zawartości dla prac. Mam wiele pól, a niektóre z nich są związane z układem strony, np. Konkretna strona bg dla każdego wpisu. Potrzebuję więc niestandardowego page.tpl dla tego konkretnego typu treści.
Tak więc aktywowałem i otworzyłem moduł programisty motywów i kliknąłem obszar ciała, aby uzyskać nazwę kandydata dla tego konkretnego wpisu typu strony. i pokazuje mi poniższy ekran, który nic dla mnie nie znaczy: / Kiedy klikam obszar węzła, jest w porządku, daje węzeł - work.tpl.php, ale potrzebuję strony. Próbowałem „page - work.tpl.php”, to nie działało.
czego mi brakuje?
W template.php dodaj:
Możesz pominąć
str_replace()
; sprawdź, która wersja działa najlepiej dla Ciebie.Następnie utwórz plik szablonu, którego nazwa pliku to page –- [content_type] .tpl.php. (Zamień [typ_treści] na nazwę komputera typu zawartości.)
Zobacz http://drupal.org/node/1089656#comment-4426790 .
źródło
Jeśli chcesz również identyfikator węzła, użyj tego.
źródło
Posiadanie innego szablonu dla każdego typu zawartości nie jest dobrą praktyką według chłopaków z Drupal. Dlatego nie znajduje się
page--work.tpl.php
na liście plików szablonów kandydujących. Uważają, że tylko pliki szablonów węzłów powinny być inne. Jeśli jednak chcesz się włamać, śmiało.Użyj aliasu ścieżki, aby ustawić ścieżkę na podstawie typu zawartości. A następnie wstaw ten kod
do
phptemplate_preprocess_page(&$vars)
funkcji wtemplate.php
folderze motywów.Możesz jednak nieco zmodyfikować kod, aby był bardziej wydajny.
źródło