Jak szybko utworzyć motyw widoku?


85

Zdefiniowałem widok za pomocą modułów CCK i View 2. Chciałbym szybko zdefiniować szablon specyficzny dla tego widoku. Czy jest jakiś poradnik lub informacje na ten temat? Jakie pliki muszę zmodyfikować?


Oto moje ustalenia: (edytowano)

W rzeczywistości istnieją dwa sposoby tworzenia tematów widoku: sposób „ pola ” i sposób „ węzła ”. W „widoku edycji” możesz wybrać „ Row style: Node” lub „ Row style: Fields”.

  • w sposób „ Węzeł ” możesz utworzyć węzeł nazwa-treści.tpl.php, który będzie wywoływany dla każdego węzła w widoku. Będziesz mieć dostęp do wartości pól cck za pomocą $ field_name [0] ['value']. (edit2) Możesz użyć node-view-viewname.tpl.php, który będzie wywoływany tylko dla każdego węzła wyświetlanego z tego widoku.
  • w sposób " Pole " dodajesz widok-pole-widoku - nazwa-widoku - nazwa-pola-wartość.tpl.php dla każdego pola, które chcesz osobno tematować.

Dzięki wcześniejszym odpowiedziom korzystałem z następujących narzędzi:


1
to jest widoki-pola-widoku - nazwa-widoku - nazwa-pola-wartość-tpl.php, a nie widoki-pole-widoku - nazwa-widoku - nazwa-pola-wartość.tpl.php Brakuje „s” na pierwsze pole
Alex Borsody

W którym folderze to dodajesz?
Talon

Gdybyś szukał na stronie dokumentacji widoków, znalazłbyś wszystkie te informacje!
Bhavin Joshi

Odpowiedzi:


52

W rzeczywistości istnieją dwa sposoby tworzenia tematów widoku: sposób „ pola ” i sposób „ węzła ”. W „widoku edycji” możesz wybrać „ Row style: Node” lub „ Row style: Fields”.

  • w sposób „ Węzeł ” możesz utworzyć węzeł nazwa-treści.tpl.php, który będzie wywoływany dla każdego węzła w widoku. Będziesz mieć dostęp do swoich wartości pól cck za pomocą $ field_name [0] ['value']
  • w sposób " Pole " dodajesz widok-pole-widoku - nazwa-widoku - nazwa-pola-wartość.tpl.php dla każdego pola, które chcesz osobno tematować.

Dzięki wcześniejszym odpowiedziom korzystałem z następujących narzędzi:


Zwróć uwagę, że po pierwsze, w sposób „węzłowy”, szablon, który utworzysz, będzie prawdopodobnie (w zależności od ustawień motywu) użyty dla samego węzła (wyświetlany nawet poza węzłem).
Strae,

Zwróć uwagę, że linki w tej odpowiedzi to teraz 404.
Dewayne,

22

Szybkim sposobem znajdowania plików szablonów, które można tworzyć i modyfikować dla widoku w widokach 2.0, jest:

  1. Edytuj widok
  2. Wybierz styl (np. Strona, blok, domyślny)
  3. W bloku „Ustawienia podstawowe” kliknij „Motyw: Informacje”, aby zobaczyć wszystkie różne szablony, które możesz modyfikować.

16

Funkcja „Theme developer” modułu Devel jest przydatna do sprawdzania, jakich plików szablonów szuka Drupal, gdy chodzi o temat. Zobacz zrzut ekranu na tej stronie jako przykład.



7

Jedna wskazówka:

Prawdopodobnie będziesz mieć wiele widoków, które wymagają podobnego formatowania. Tworzenie szablonów dla każdego z tych widoków i kopiowanie ich stwarza koszmar rozgałęzienia kodu - jeśli zostaniesz poproszony o zmianę całego wyglądu i stylu witryny (co oznacza zmianę wyświetlania każdego z tych widoków sformatowanych w ten konkretny sposób), muszę wrócić i edytować każdy z nich osobno.

Zamiast używać interfejsu widoków do wybierania nowych szablonów dla widoków, czasami po prostu wstawiam rozgałęzienie kodu do pojedynczego pliku widoków. Np. Dla jednej witryny w views-view-fields.tpl.phpmam:

if($view->name == 'articleList' || $view->name == 'frontList' 
|| $view->name == 'archiveList') {
/* field formatting code */
} else {
/* the default code running here */
}

To następnie modyfikuje pola w sposób, w jaki chcę, tylko dla tej rodziny Views = articleList, frontList i archiveList - a dla innych widoków korzystających z tego szablonu uruchamia kod, który zwykle znajduje się w tym szablonie. Jeśli klient zapyta „Hej, czy mógłbyś sprawić, by te strony pokazujące archiwa i tę listę na pierwszej stronie wyglądały bardziej jak (...)”, to po prostu kwestia mojego otwarcia i edycji tego jednego pliku zamiast trzech różne pliki. Konserwacja staje się znacznie szybsza i bardziej przyjazna.



4

Moja opcja skrótu.

  1. Przejdź do pliku theme.inc w folderze YOUR_MODULE_DIR/ views / theme / .

  2. W _views_theme_functionsfunkcji wypisz zmienną $ themes lub umieść punkt przerwania w ostatnim wierszu funkcji, aby zobaczyć zawartość zmiennej.

Po prostu przekonwertuj views_viewdo widoku widoków i __ do - i dodaj rozszerzenie szablonu, aby uzyskać żądaną nazwę pliku.

Na przykład, jeśli elementem tablicy $ themes jest views_view__test_view__block (gdzie test_viewjest nazwa twojego widoku), wówczas nazwa pliku szablonu będzie miała postać views-view - test_view - block.tpl.php .


2

Moim zdaniem najprostszym sposobem, aby zdecydować, który plik szablonu użyć do tworzenia motywów widoków, jest: 1) Kliknij admin / build / views / edit / ViewName -> Basic Settings -> Theme

Kliknięcie tego spowoduje wyświetlenie wszystkich możliwych plików szablonów. Podświetlone pliki (nazwy plików pogrubioną czcionką) wskazują, który plik szablonu jest używany do tworzenia motywu, w jakiej części widoku. Po wprowadzeniu wymaganych zmian w odpowiednim pliku szablonu widoku RESCAN .. teraz powinieneś być w stanie zobaczyć podświetlony zmieniony plik szablonu.



0

Według mnie są na to dwa sposoby:

Programowy sposób:

  1. Przejdź do widoku edycji.
  2. Wybierz styl strony / bloku.
  3. Przejdź do „Ustawień podstawowych” i kliknij „Motyw: Informacje”, aby zobaczyć wszystkie różne szablony, które możesz modyfikować.
  4. Dodaj kod HTML, do którego chcesz dodać motyw, i wydrukuj zmienne widoku w razie potrzeby

Aktualizacja konfiguracji: Korzystanie z pakietu Displaypakiet Display zapewnia nam opcję umieszczania etykiet w wierszu lub powyżej, a nawet dodawania ich w celu ukrycia. Do każdego elementu widoku można również dodać niestandardowe klasy. Zaawansowane opcje obejmują:

  • Eksportowalne
  • Dodaj własne pola niestandardowe w zapleczu lub w kodzie
  • Dodaj niestandardowe układy do swojego motywu (tylko D7)
  • Zmień etykiety, dodaj style lub nadpisz ustawienia pól (pola semantyczne).
  • Pełna integracja z widokami i panelami
  • Zwiększ możliwości swoich układów, instalując Field Group
  • Optymalna wydajność dzięki integracji pamięci podręcznej obiektów (D6) lub pamięci podręcznej jednostek (D7)
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.