Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Allgemeines zu Drupal ›

javascript aus libraries überschreiben

Eingetragen von Bavramor (132)
am 07.02.2016 - 00:38 Uhr in
  • Allgemeines zu Drupal
  • Drupal 7.x oder neuer

Hallo,

ich würde gerne eine javascript Datei aus libraries überschreiben. Leider werden über die javascript Datei auch css klassen generiert, die ich überschreiben will. Nun habe ich bereits ein kleines Modul gebastelt, was genau diese Überschreibung umsetzen soll. Leider bekomme ich folgende Fehlermeldung:


Notice: Undefined index: scope in drupal_get_js() (line 4371 of /home/bavramor/data/Webdesign/Webseiten/anniann-aktuell/includes/common.inc).
Notice: Undefined index: scope in drupal_get_js() (line 4371 of /home/bavramor/data/Webdesign/Webseiten/anniann-aktuell/includes/common.inc).

Mein Code sieht folgendermaßen aus:

<?php

/**
* Path to friendly_register.js override. I have added <span class="icon_check"></span>
* into default /js/friendly_register.js in order to make better css sprint.
*/
  
function  override_js_fullcalendar_js_alter(&$javascript) {
    dpm($javascript);
  $javascript[drupal_get_path('module', 'libraries') . '/fullcalendar/fullcalendar.js']['data'] = drupal_get_path('module', 'override_js_fullcalendar') . '/js/fullcalendar-patched.js';
  dpm(drupal_get_path('module', 'libraries') . '/fullcalendar/fullcalendar.js');
  dpm(drupal_get_path('module', 'override_js_fullcalendar') . '/js/fullcalendar-patched.js');
}   

Ich wäre für jede Hilfe dankbar.

Gruß Bavra

‹ Drupal 8 Upgrade auf 8.0.3 Sprache ändern von Content Drupal 8.0.3 ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Ändere doch einfach die Datei

Eingetragen von Goekmen (1013)
am 07.02.2016 - 01:18 Uhr

Ändere doch einfach die Datei in Libraries und mach dir vorher eine Kopie.

  • Anmelden oder Registrieren um Kommentare zu schreiben

die Kopie musst nacher auch machen

Eingetragen von ronald (3857)
am 07.02.2016 - 08:31 Uhr

damit du bei einer eventuellen Aktualisierung deine Änderung wieder einspielen kannst.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Zunächst mal denke ich, dass

Eingetragen von Stefan.Korn (286)
am 08.02.2016 - 10:00 Uhr

Zunächst mal denke ich, dass dein Weg auf jeden Fall richtig ist. Änderungen direkt in einer Library vorzunehmen ist sicherlich nicht optimal.

Wo genau liegt fullcalendar.js - im Ordner sites/all/libraries? Dann wirst Du die Datei dort mit

<?php
drupal_get_path
('module', 'libraries') . '/fullcalendar/fullcalendar.js']['data']
?>
nicht erreichen, denn hier bekommst Du den Pfad sites/all/modules/libraries geliefert.

Schau Dir den Output von dpm($javascript) genau an und setze dann den Pfad zunächst mal genau wie in der Ausgabe gegeben ohne drupal_get_path(). Hier erstmal schauen ob das funktioniert.

<?php
$javascript
['full/path/to/calendar/fullcalendar.js']['data'] = ..
?>

  • Anmelden oder Registrieren um Kommentare zu schreiben

Erstmal vielen Dank Stefan

Eingetragen von Bavramor (132)
am 09.02.2016 - 01:37 Uhr

Erstmal vielen Dank Stefan. So hat es tatsächlich funktioniert. Die Fehlermeldung kommt leider immer noch. Ist ja nur eine "notice" und wird nur im Backend angezeigt, schön ist aber anders. :-) Ich wollte die Datei überschreiben, sonst ist die Datei ja bei jedem Update kaputt.

Gruß Bavra

  • Anmelden oder Registrieren um Kommentare zu schreiben

Setze nochmal <?php if

Eingetragen von Stefan.Korn (286)
am 09.02.2016 - 08:20 Uhr

Setze nochmal

<?php
if (isset($javascript['full/path/to/calendar/fullcalendar.js'])) {

$javascript['full/path/to/calendar/fullcalendar.js']['data'] = ..

}
?>

außen rum, vielleicht geht die Meldung dann weg.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Das mit der Datei direkt

Eingetragen von Goekmen (1013)
am 09.02.2016 - 08:38 Uhr

Das mit der Datei direkt überschreiben ist nur eine Notlösung. Die Dateien in Libraries werden nicht automatisch aktualisiert. Da besteht normalerweise nicht die Gefahr, dass du ausversehen die Datei überschreibst.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo Bavra,diese Notice

Eingetragen von Hyp1 (1463)
am 11.02.2016 - 11:49 Uhr

Hallo Bavra,

diese Notice

Zitat:

Notice: Undefined index: scope in drupal_get_js() (line 4371 of /home/bavramor/data/Webdesign/Webseiten/anniann-aktuell/includes/common.inc).

kommt daher dass, dass drupal add js nicht weiss wo es das js einfügen soll:

https://api.drupal.org/api/drupal/modules!system!system.api.php/function/hook_js_alter/7

gib dem Array den Parameter scope mit (header/footer), dann sollte das verschwinden.

Gruss

Robert

PS:
Noch etwas.
Du solltest im hook auch prüfen ob die fullcalender.js überhaupt geladen wurden und dann Deinen Patch laden,
denn so hängst Du immer das js an. Ob es nun gebraucht wird oder nicht.
Stefan oben hat das schon gezeigt.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo nochmal, folgendes wäre

Eingetragen von Hyp1 (1463)
am 11.02.2016 - 13:18 Uhr

Hallo nochmal,

folgendes wäre auch noch zu überlegen:
K.A. was Du vorhast, aber da Du eine library überschreiben möchtest,
wäre der folgende Hook evtl. sinnvoller:
https://api.drupal.org/api/drupal/modules!system!system.api.php/function/hook_library_alter/7

MfG

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • lstin tombent homophonic wikke
  • Rolle erstellen nicht zu finden
  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • 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
Weiter

Neue Kommentare

  • Rollen
    vor 3 Tagen 1 Stunde
  • Inzwischen sind wir bei
    vor 1 Woche 6 Tagen
  • Migrieren von D7 auf D8/ D10/ D11
    vor 2 Wochen 10 Stunden
  • melde mich mal wieder, da ich
    vor 9 Wochen 4 Tagen
  • Hey danke
    vor 9 Wochen 5 Tagen
  • Update: jetzt gibt's ein
    vor 9 Wochen 6 Tagen
  • Hallo, im Prinzip habe ich
    vor 10 Wochen 3 Tagen
  • Da scheint die Terminologie
    vor 10 Wochen 3 Tagen
  • Kannst doch auch alles direkt
    vor 11 Wochen 22 Stunden
  • In der entsprechenden View
    vor 11 Wochen 22 Stunden

Statistik

Beiträge im Forum: 250238
Registrierte User: 20466

Neue User:

  • StevenEness
  • FoxPiola
  • ocvk2810

» 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 0 User und 44 Gäste online.

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