Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Module › Views ›

Eigenes Javascript für einen View verwenden

Eingetragen von maria-rita (504)
am 19.03.2015 - 09:48 Uhr in
  • Views
  • Drupal 7.x

Hallo zusammen,

heute habe ich einmal eine Verständnisfrage, weil ich das noch nie gemacht habe.

Ich möchte eine Slideshow machen mit Views. Das ist soweit ja kein Problem. Ich habe jetzt aber einen eigenen Javascript und css dafür die ich für die Ausgabe verwenden möchte.

Ich habe die javascript-Datei und die css-Datei schon in die Info-Datei des Themes eingebunden. Nur wie kommt das dann zusammen, das ist mir nicht so klar.

Muss ich den javascript-Datei eigentlich noch in das Modul Javascript Libraries hinzufügen?

Es wäre sehr nett, wenn Ihr mir da weiterhelfen könntet?

Viele Grüße

Marita Betz

‹ views_pdf - Link für SaveAs-Dialog ohne Browser-Ansicht ? [gelöst] Keine Beziehung mit Profil Feldern möglich im View ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

maria-rita schrieb Nur wie

Eingetragen von glycid (921)
am 19.03.2015 - 10:13 Uhr
maria-rita schrieb

Nur wie kommt das dann zusammen, das ist mir nicht so klar.

Wenn du die JS Datei per .info im Theme einbindest, importiert Drupal das Script sitewide in den HTML Head- Bereich, wo es vom Browser interpretiert werden kann. Nein, extra in eine Library brauchst du nix mehr einbinden.

Wenn du das JS nur unter einer oder einigen wenigen URL's brauchst, kannst du es auch per hook_init() einbinden, dann wird es nicht bei jedem Seitenaufruf geladen. Beispiel:

<?php
function MYMODULE_init() {
  if(
arg(0) == 'mein_url_bestandteil') {
   
drupal_add_js('/sites/default/modules/meine_slideshow/meine_slideshow.js', 'file');
  }
}
?>

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke für die Antwort.

Eingetragen von maria-rita (504)
am 22.03.2015 - 12:38 Uhr

Hallo Glycid,

wie kann ich die Javascript-Datei in den view einbinden und die CSS-Klassen im View so ändern, dass Sie mit den Klassennamen zusammen passen die in der CSS-Datei sind.

Die css-Datei und die javascript-Datei sind für eine Slideshow.

Wenn ich jetzt ganz normal einen View baue mit einer Slideshow z.B. mit dem Modul views-slideshow und Views Slideshow: cycle dann wird da ja andere CSS-Klassen, Ids und javascript verwendet.

Wie kann man sicherstellen in Drupal, dass die eigene CSS-Klassen und die dafür vorgesehene Javascript-Code für die Slideshow verwendet wird.

Gibt es da überhaupt die Möglichkeit das über Views zu machen oder muss man da anders rangehen.

Viele herzliche Grüße

Marita Betz

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hier gibt es Möglichkeiten -

Eingetragen von SteffenR@drupal.org (2262)
am 22.03.2015 - 14:42 Uhr

Hier gibt es Möglichkeiten - nur solltest du dann vielleicht nicht unbedingt direkt auf Views Slideshow setzen. Dieses Modul schreibt dir den Views Output genau für das "mitgelieferte" Javascript um - sprich die Klassen etc. werden über das Style-Plugin entsprechend gesetzt.

Wenn du nun eine eigene Slideshow mit eigenem Javascript umsetzen möchtest, gibt es 3 Möglichkeiten

01) Suche nach einem passendem Modul, welches dir das jQuery Plugin zur Verfügung stellt - wichtig hierbei die Views Integration
02) Entwicklung eines eigenen Moduls auf Basis von Views Slideshow oder eines anderen Slideshow Moduls
03) Views Output entsprechend anpassen / Zufügen der nötigen Styles & Javascripts über dein Theme

Möglichkeit 3 möchte ich hier ein wenig näher erläutern. In Views gibt es die Möglichkeit für jede Ebene eigene CSS Klassen und/oder IDs zu hinterlegen. Bei der Ausgabe über Fields kannst du dies in den Design Einstellungen der Felder festlegen.
Screenshot (Klick auf der Bild zeigt vergrößerte Ansicht):

Gleiches gilt für die Zeilen eines Views - auch hier kann eine eigene Klasse hinzugefügt werden.
Screenshot (Klick auf der Bild zeigt vergrößerte Ansicht):

Die Klassen / IDs lassen sich natürlich auch direkt "hart" in den Views Templates setzen - hier hättest du dann auch die volle Kontrolle über die Ausgabe der einzelnen Bestandteile des Views (Global, Zeilen, Felder, einzelnes Feld). Ähnlich verhält sich das Ganze auch beim Einsatz von View-Modes in der Views-Ausgabe - mit der Ausnahme, dass du hier das Styling des Ergebnisses im Content Typ selbst festlegest und nicht im View (hier würde man dann nur eine Liste mit fertig gerenderten Inhalten ausgeben).

Doch nun zum Javascript und CSS - dies solltest du über eine Preprocess Funktion hinzufügen. Der hook_init ist hierfür der falsche Ort.

<?php

function THEME_preprocess_views_view(&$vars) {
 
$view = &$vars['view'];
 
// Make sure it's the correct view
 
if ($view->name == 'your-view-name' && $view->current_display == 'your-display-id') {
  
// Add jquery Plugin - single file.
  
drupal_add_js(drupal_get_path('theme', 'your-theme') . '/lib/jquery.slideshow.js');
  
// Add jquery Plugin - library.
  
libraries_load('my_custom_library');
  
// Add custom javascript.
   
drupal_add_js(drupal_get_path('theme', 'your-theme') . '/your-js.js');
   
// Add custom stylesheet.
   
drupal_add_css(drupal_get_path('theme', 'your-theme') .'/your-css.css');
  }
}
?>

Je nach eingesetztem Slideshow / jQuery Plugin, müsstest du dies hier natürlich auch noch vorher einbinden / laden lassen. Die Initialisierung des Plugins würde im Beispiel dann in der Datei your-js.js erfolgen.
Falls das jQuery Plugin über mehrere Dateien - also auch CSS / Bilder etc. - verfügt, solltest du dies über den hook_library nutzen und dann per libraries_load einbinden.

Weitere Infos dazu: http://atendesigngroup.com/blog/adding-js-libraries-drupal-project-libra...

SteffenR

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 1 Woche 2 Tagen
  • Hey danke
    vor 1 Woche 3 Tagen
  • Update: jetzt gibt's ein
    vor 1 Woche 4 Tagen
  • Hallo, im Prinzip habe ich
    vor 2 Wochen 1 Tag
  • Da scheint die Terminologie
    vor 2 Wochen 1 Tag
  • Kannst doch auch alles direkt
    vor 2 Wochen 5 Tagen
  • In der entsprechenden View
    vor 2 Wochen 5 Tagen
  • Dazu müsstest Du vermutlich
    vor 2 Wochen 5 Tagen
  • gelöst
    vor 5 Wochen 2 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 5 Wochen 3 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20451

Neue User:

  • Mroppoofpaync
  • 4aficiona2
  • AppBuilder

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 1 Benutzer und 17 Gäste online.

Benutzer online

  • dinmikkith

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association