Ich benutze dies, aber ich verstehe nicht, warum es nicht funktioniert.
if ($_SERVER['REQUEST_URI'] == '/node/1') {
drupal_add_js(drupal_get_path('theme', 'sanskrit').'/sites/all/themes/sanskrit/scripts/jquery-1.4.3.min.js', 'inline');
drupal_add_js('/sites/all/themes/sanskrit/scripts/scripts/jquery.nivo.slider.pack.js');
}
Ich möchte bestimmte JavaScript-Dateien hinzufügen, wenn der Benutzer die Startseite anzeigt.
javascript
Jaiffable
quelle
quelle
Undefined function
Fehler? Ich denke, es solltedrupal_is_front_page()
wie meine Antwort unten sein.Alternativ: Das Modul JavaScript-Bibliotheken . Sie können das Skript nicht auf die Startseite beschränken, aber es ist sicherlich viel einfacher als ein Modul zu schreiben, nur um ein Skript zu laden.
quelle
Wenn Sie mit einem Modul arbeiten, fügen Sie es wie folgt in hook_init ein:
Wenn Sie es in preprocess_page einfügen möchten:
Oder Sie können es in Ihre Datei theme.info einfügen, wenn Sie ein eigenes Thema erstellen.
quelle
Das beste und einfachste Mittel, um Javascript zu einer Startseite hinzuzufügen, ist über Kontext und Kontext-Add-Assets . Kontext- und Kontext-Add-Assets können ebenfalls exportiert werden, und Sie können eine Funktion erstellen, die später verwendet werden kann.
Weitere Informationen zum Hinzufügen von Assets im Kontext :
quelle
Es funktioniert nicht, weil Sie die zurückgegebene Zeichenfolge
drupal_get_path('theme', 'sanskrit')
mit verketten'/sites/all/themes/sanskrit/scripts/jquery-1.4.3.min.js'
. Angenommen, Sie haben Drupal nicht in einem Unterverzeichnis des Server-Stammverzeichnisses installiert. Der Dateiname, an den Sie übergeben,drupal_add_js()
lautet sites / all / theme / sanskrit / bbbsites / all / theme / sanskrit / scripts / jquery-1.4.3. min.js.Der Code, den Sie verwenden sollten, ist der folgende.
Um zu überprüfen, ob der Benutzer die Startseite anzeigt, rufen Sie einfach drupal_is_front_page () auf .
Pfade wie sites / all / theme sollten niemals fest in einem Theme / Modul-Code codiert werden, da ein Theme in
sites/<domain.name>/themes/<theme.name>
und ein Modul in installiert werden könntesites/<domain.name>/modules/<module.name>
. Angenommen, die Drupal-Installation wird für die Domäne blog.example.com verwendet, das Modul Ansichten kann in sites / blog.example.com / modules / views installiert werden und ein Thema wie das Whitebull-Thema kann in sites / blog installiert werden. example.com/themes/whitebull.quelle