Mam w swojej witrynie widok, który ma określoną nazwę klasy. Chcę wiedzieć w pliku szablonu.php motywu, skąd mogę wiedzieć, czy widok o określonej nazwie klasy jest dostępny na żądanej stronie.
Jest to dla mnie bardzo ważne, ponieważ muszę dołączyć określony kod JavaScript i CSS, gdy na stronie używany jest widok o określonej nazwie klasy (takiej jak galeria obrazów).
views
theming
javascript
Mehrdad201
źródło
źródło
if($view->name == 'your-view-name' && $view->display_id == 'your-display-id')
Możesz użyć funkcji views_get_page_view, aby dowiedzieć się, który widok jest wyświetlany na stronie. Zwraca obiekt widoków. Zauważ, że w poniższym fragmencie kodu powinieneś porównać z nazwą do odczytu maszynowego, ale oczywiście możesz napisać własne porównanie na podstawie obiektu widoku zwróconego przez views_get_page_view
źródło
Na wszelki wypadek przydaje się to każdemu, kto natknie się na to pytanie, szukając tak jak ja, aby dołączyć JavaScript do widoku Drupala . Jeśli chodzi o D7 i widoki 3.7, dla mnie najlepiej działały:
Było to korzystne, ponieważ chciałem zachować kod w moim module, a nie w motywie - ponieważ ulepszenia wprowadzone przez JavaScript nie miały nic wspólnego z wyglądem.
źródło
HOOK_views_pre_process
( api.drupal.org/api/views/views.api.php/7 ), chyba że masz na myśli powód, dla którego chcesz z niego korzystaćTHEME_preprocess_views_view
- w takim przypadku nie jest to zależne od tego, gdzie chcesz dodać swoje modyfikacje kodu.HOOK_views_pre_render
może zostać podłączony z modułu, podczas gdyTHEME_preprocess_views_view
powinien przejść do pliku motywu / szablonu. Możesz także użyć,HOOK_views_post_render
jeśli wolisz.THEME_preprocess_views_view
, tak ... Jestem pewien, że zrobiłem to wcześniejhook_preprocess_views_view
w modułach.Jeśli korzystasz z drupala 6 lub 7, możesz również dołączyć zasoby javascript do kontekstu modułu i dodać zasoby. Co wymaga kontekstu, ale będziesz mieć pewność, że będzie on zawsze uwzględniany podczas renderowania widoku.
https://drupal.org/project/context_addassets
Na stronie projektu modułu:
źródło
Napisz kod JavaScript, który wyszukuje określoną klasę w widoku, używając funkcji jCluery hasClass () i dołącz plik JavaScript, gdy warunek zostanie spełniony.
Innym sposobem jest wstawienie szablonu do widoku i dodanie kodu JavaScript przez ten szablon za pomocą drupal_add_js () .
źródło