Każda strona mojego motywu będzie musiała korzystać z interfejsu użytkownika jquery. Wiem, że jest on dołączony do Drupala 7, ale tak naprawdę nie mogę odszyfrować zbyt technicznej dokumentacji Drupala. Wygląda na to, że jedynym sposobem na to jest użycie pliku template.php. Ale ponieważ nie rozumiem tego pliku, staram się unikać tego w ten sposób.
Czy istnieje inny sposób, czy powinienem po prostu wypróbować plik template.php?
7
theming
javascript
Ben
źródło
źródło
Odpowiedzi:
Dodanie JS do strony nie jest wcale takie trudne, nawet jeśli musisz użyć php.
W przypadku normalnych plików JS możesz zrobić coś takiego
Drupal zarejestrował jednak interfejs jQuery w bibliotekach, co ułatwia dodawanie plików JS i CSS dla niektórych wtyczek interfejsu jQuery. Można to zrobić za pomocą
Wszystkie wtyczki jQuery UI istnieją w module systemowym, więc możesz to zrobić
lub
Niektóre z tych wtyczek mają zależności, ponieważ używają innych wtyczek. Drupal radzi sobie z tym bardzo sprytnie i zawiera potrzebne komponenty.
Możesz zobaczyć pełną listę wtyczek jQuery tutaj . Jest to sformatowane jako tablica PHP, ale ogólnie konwencja nazewnictwa to ui.PLUGIN-NAME.
Jeśli chcesz dodać JS na każdej stronie, możesz po prostu dodać haczyk strony przygotowania strony i dodać je tam. To wyglądałoby mniej więcej tak w pliku template.php.
źródło
function nocturnal_preprocess_page(&$variables) { drupal_add_library('system', 'ui'); drupal_add_library('system', 'ui.datepicker'); }
drupal_add_library('system', 'ui');
adrupal_add_library('system', 'ui.accordion');
? Czy pierwszy pobiera wszystko, czy tylko rdzeń? Czy potrzebuję linii dla każdej używanej wtyczki?próbowałeś modułu date_popup ? działa dobrze z interfejsem API formularza
źródło
źródło
Dziękuję
googletorp
za odpowiedź.Wystarczy dodać, jeśli nadal nie są bardzo jasne związane z włączaniem wtyczek interfejsu użytkownika .
Pamiętaj, że kiedy wspomnisz:
drupal_add_library('system', 'ui');
NIE spowoduje to automatycznego włączenia wszystkich wtyczek interfejsu użytkownika.
Listę dostępnych wtyczek interfejsu użytkownika jquery można znaleźć w Drupal 7 tutaj:
/misc/ui/
Aby włączyć wtyczkę perticular, na przykład:
jquery.ui.slider.min.js
musisz dodać ten wiersz:Mam nadzieję, że to się przyda.
źródło
Ostatnio miałem ten problem. Ktoś dał mi swój moduł niestandardowy, aby zmusić interfejs użytkownika JQuery do ładowania na każdej stronie. Możesz to po prostu odtworzyć. Najpierw zainstaluj jquery_update i upewnij się, że działa. Następnie utwórz i włącz ten moduł:
Utwórz folder w ścieżce / do / modułów o nazwie „jquery_force”.
W środku dodaj dwa pliki:
jquery_force.info :
jquery_force.module :
źródło
Dodanie haka wstępnego przetwarzania do
template.php
pliku nie działało dla mnie.Po prostu wrzucam
drupal_add_library('system', 'ui');
dotemplate.php
pliku, działa.źródło