Für jede Seite meines Themas muss die Benutzeroberfläche von jquery verwendet werden. Ich weiß, dass es in Drupal 7 enthalten ist, aber ich kann die viel zu technische Dokumentation von Drupal nicht wirklich entschlüsseln. Es sieht so aus, als ob dies nur mit der Datei template.php möglich ist. Da ich diese Datei jedoch nicht verstehe, versuche ich, dies so zu vermeiden.
Gibt es eine andere Möglichkeit, oder sollte ich einfach die template.php-Datei ausprobieren?
7
theming
javascript
Ben
quelle
quelle
Antworten:
Hinzufügen von JS zu einer Seite ist wirklich nicht so schwer, obwohl Sie PHP verwenden müssen.
Für normale JS-Dateien könnten Sie so etwas tun
Drupal hat jedoch die jQuery-Benutzeroberfläche in Bibliotheken registriert, um das Hinzufügen von JS- und CSS-Dateien für bestimmte jQuery-Benutzeroberflächen-Plugins zu vereinfachen. Dies kann mit erfolgen
Alle Plugins für die jQuery-Benutzeroberfläche sind im Systemmodul vorhanden
oder
Einige dieser Plugins sind abhängig, da sie andere Plugins verwenden. Drupal handhabt dies sehr geschickt und wird die benötigten Komponenten enthalten.
Die vollständige Liste der jQuery-Plugins finden Sie hier . Dies ist als PHP-Array formatiert, aber im Allgemeinen lautet die Namenskonvention ui.PLUGIN-NAME.
Wenn Sie das JS auf jeder Seite hinzufügen müssen, können Sie einfach einen Vorverarbeitungs-Seiten-Hook hinzufügen und diese dort hinzufügen. Dies würde in der template.php-Datei ungefähr so aussehen.
quelle
function nocturnal_preprocess_page(&$variables) { drupal_add_library('system', 'ui'); drupal_add_library('system', 'ui.datepicker'); }
drupal_add_library('system', 'ui');
und etwas näher erläuterndrupal_add_library('system', 'ui.accordion');
? Holt der erste alles oder nur den Kern? Muss ich für jedes Plugin, das ich verwende, eine Leitung einrichten?Haben Sie das Modul date_popup ausprobiert ? funktioniert gut mit der Formular-API
quelle
quelle
Vielen Dank
googletorp
für die Beantwortung.Nur um hinzuzufügen, wenn die Dinge im Zusammenhang mit der Aktivierung von UI-Plugins noch nicht ganz klar sind .
Beachten Sie Folgendes, wenn Sie erwähnen:
drupal_add_library('system', 'ui');
Dadurch werden NICHT alle UI-Plugins automatisch aktiviert.
Eine Liste der verfügbaren JQuery-UI-Plugins in Drupal 7 finden Sie hier:
/misc/ui/
Um beispielsweise ein bestimmtes Plugin zu aktivieren
jquery.ui.slider.min.js
, müssen Sie folgende Zeile hinzufügen:Hoffe das ist nützlich.
quelle
Ich hatte vor kurzem dieses Problem. Jemand gab mir sein benutzerdefiniertes Modul, mit dem ich JQuery UI auf jeder Seite laden musste. Sie können es einfach neu erstellen. Installieren Sie zuerst jquery_update und stellen Sie sicher, dass es funktioniert. Dann erstelle und aktiviere dieses Modul:
Erstellen Sie einen Ordner mit dem Namen 'jquery_force' im Pfad / to / modules.
Fügen Sie im Inneren zwei Dateien hinzu:
jquery_force.info :
jquery_force.module :
quelle
Das Hinzufügen eines Vorverarbeitungs-Hooks in die
template.php
Datei hat bei mir nicht funktioniert.Ich stelle es einfach von selbst
drupal_add_library('system', 'ui');
in dietemplate.php
Datei, funktioniert.quelle