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

Wenn ich bei einem Element javascript hinzufügre kommen notices, weiß da jemand Abhilfe?

Eingetragen von maen (547)
am 24.02.2014 - 19:17 Uhr in
  • Modul-Entwicklung
  • Drupal 7.x

Also:
Ich will Nodes in der Übersicht collapsible machen. Verwendet jquery Version: 1.8

Das Ding funktioniert auch einwandfrei, aber ich erhalte folgende notices:

    Notice: Undefined index: data in drupal_process_attached() (Zeile 4507 von /home/duke/sites/kneipenkicker/includes/common.inc).
    Notice: Undefined index: data in drupal_process_attached() (Zeile 4507 von /home/duke/sites/kneipenkicker/includes/common.inc).
    Notice: Undefined index: data in drupal_process_attached() (Zeile 4507 von /home/duke/sites/kneipenkicker/includes/common.inc).
    Notice: Undefined index: data in drupal_process_attached() (Zeile 4507 von /home/duke/sites/kneipenkicker/includes/common.inc).
    Notice: Undefined index: data in drupal_process_attached() (Zeile 4507 von /home/duke/sites/kneipenkicker/includes/common.inc).
    Notice: Undefined index: data in drupal_process_attached() (Zeile 4507 von /home/duke/sites/kneipenkicker/includes/common.inc).

Und hier der zugehörige Code:

<?php

hook_node_view
(...){
$path = drupal_get_path('module', 'submissions');
               
// First we add listing.css
       
$node->content['#attached']['css'][] = $path . '/submissions.css';
               
// our js scripts
               
$node->content['#attached']['js'][] = drupal_add_js('misc/form.js');
               
$node->content['#attached']['js'][] = drupal_add_js('misc/collapse.js');

       
// Next we set our listing to use our theme
       
$node->content['#theme'] = 'submissions_function';
}

?>

<?php

function theme_submissions_function(&$variables)
{
...

$output[] = array(
   
'#theme' => 'table',
   
'#header' => array(t('Heimmannschaft'), t('Gastmannschaft'), t('aktuelles Ergebnis'),t('Wette'), t('Punkte')),
   
'#rows' =>$rows,
   
'#attributes' => array('class' => array('table-class'))
  );
 
$output_new = '<fieldset class=" collapsible collapsed">
  <legend><span class="fieldset-legend">'
.check_plain($node->title).'</span></legend>
  <div class="fieldset-wrapper">'
;
  
 
$output_new .= '<div id="listing_"' . $node->nid . '" class="listing">';

 
$output_new .= drupal_render($output);
 
$output_new .= '</div>';
 
$output_new .='</div></fieldset>';


  return
$output_new;

?>

Es muss irgendwie mit den js Skripten zu tun haben. Schalte ich die aus, dann kann ich zwar die Fieldsets nicht mehr öffnen, aber die notices sind weg!

Danke vorab,

maen

‹ Array to string conversion in _get_thumbnail_size() Feld korrekt rendern - wie? ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Versuche es mal mit einer

Eingetragen von wla (9466)
am 24.02.2014 - 19:26 Uhr

Versuche es mal mit einer niedrigeren Version von jQuery. Da gibt es gerne Probleme. Die dev-Version von jQuey Update erlaubt unterschiedliche Versionen für Frontend und Backend (Admin Seiten).

  • Anmelden oder Registrieren um Kommentare zu schreiben

habe es jetzt mit 1.5, 1.7

Eingetragen von maen (547)
am 25.02.2014 - 01:13 Uhr

habe es jetzt mit 1.5, 1.7 und 1.8 probiert. Nüscht...

  • Anmelden oder Registrieren um Kommentare zu schreiben

Wie bist Du auf die Idee

Eingetragen von wla (9466)
am 25.02.2014 - 09:55 Uhr

Wie bist Du auf die Idee gekommen in Deiner Funktion drupal_add_js zu benutzen? Ich habe Deinen Code hier mal zitiert

<?php
hook_node_view
(...){
$path = drupal_get_path('module', 'submissions');
               
// First we add listing.css
       
$node->content['#attached']['css'][] = $path . '/submissions.css';
               
// our js scripts
               
$node->content['#attached']['js'][] = drupal_add_js('misc/form.js');
               
$node->content['#attached']['js'][] = drupal_add_js('misc/collapse.js');

       
// Next we set our listing to use our theme
       
$node->content['#theme'] = 'submissions_function';
}
?>

Soweit ich das sehe, wird im Code in common.inc das drupal_add_js durchgeführt. Du darfst also nur den Pfad anhängen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

nope, habs gelöst. Steht

Eingetragen von maen (547)
am 25.02.2014 - 11:03 Uhr

nope, habs gelöst. Steht nirgendwo aber als ich mi die common angesehen habe, adchte ich mal versuche ichs mal:

$node->content['#attached']['js']['data'] = drupal_add_js('misc/form.js');
$node->content['#attached']['js']['data'] = drupal_add_js('misc/collapse.js');

hats für mich gelöst. Soll mal einer verstehen. Ich tus nicht.

Trotzdem Danke!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich würde drupal_add_js auch

Eingetragen von wla (9466)
am 25.02.2014 - 11:15 Uhr

Ich würde drupal_add_js auch immer in einer preprocess-Funktion in der template.php-Datei im Theme einsetzen und nicht über den Umweg des Attachens an den Node gehen. Dort wird diese Funktion direkt aufgerufen und macht dann auch keine Probleme.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ja, ich eigentlich auch, aber

Eingetragen von maen (547)
am 25.02.2014 - 11:21 Uhr

Ja, ich eigentlich auch, aber da ich bisher noch kein theme ausgewählt hatte und ich ein fauler Sack bin und nichts doppelt machen will habe ich diesen Lösungsweg gewählt.
Werner, sei so gut und schau mal in meinen neuen Beitrag im theming. Auf Deine Meiung lege ich nämlich wert. ;)

  • Anmelden oder Registrieren um Kommentare zu schreiben

#attached vs. drupal_add_js()

Eingetragen von stBorchert (6003)
am 25.02.2014 - 17:40 Uhr
wla schrieb

Ich würde drupal_add_js auch immer in einer preprocess-Funktion in der template.php-Datei im Theme einsetzen und nicht über den Umweg des Attachens an den Node gehen. Dort wird diese Funktion direkt aufgerufen und macht dann auch keine Probleme.

#attached hat den Vorteil, dass die Seite damit dann weiterhin cachebar ist. Wenn man über eine preprocess-Funktion direkt [api:drupal_add_js:7] verwendet, ist das Caching für die Seite damit hinfällig.

@maen: Wenn Du per #attached die Dateien reinziehen willst, ist [api:drupal_add_js:7] überflüssig (sogar falsch). "data" ist hier nur der Pfad zur Datei.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Du Tier Du! Habe es

Eingetragen von maen (547)
am 25.02.2014 - 17:52 Uhr

Du Tier Du! Habe es ausprobiert! Läuft ohne den Befehl!

Dann noch eine Frage zum Abschluss: Woher weißt Du das!???

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Best Practices for Plain Text Notes
  • gepatchte PHP Version 7.4 für Windows
  • Canvas Palette: Eine fertige Komponentenbibliothek für Drupal Canvas
  • Hilfe zu Updates oder Composer
  • Vergleich Drupal und Contao
  • [geloest] Blocks in Bootstrap nebeneinander darstellen und nicht untereinander
  • DrupalCamp Frankfurt 27-28 November 2026
  • Bitte mein Bentzerkonto löschen
  • Beim Aufruf einiger Inhalte erhalte ich folgende Fehlermeldung
  • Neuinstallation: vermutlich ein rewrite-Problem
  • Drupal CMS installieren
  • [erledigt]MP3 in Drupal 10 einbinden
Weiter

Neue Kommentare

  • Muss ja nicht genau php 8.3 sein
    vor 22 Stunden 22 Minuten
  • Guten morgen und Danke
    vor 1 Tag 4 Stunden
  • Evtl. versuchen auf PHP 8 zu wechseln
    vor 1 Tag 11 Stunden
  • Danke Schmittrich. Die Frage
    vor 3 Tagen 2 Stunden
  • Keine Antwort auf die Frage nach dem Woher
    vor 3 Tagen 5 Stunden
  • Danke ich werde mir die
    vor 6 Wochen 22 Stunden
  • Vielen Dank für Ihren
    vor 6 Wochen 3 Tagen
  • Composer ist sehr ratsam
    vor 6 Wochen 5 Tagen
  • Vielen Dank für den
    vor 7 Wochen 1 Tag
  • Die alten CMS Vergleiche von contentmanager.de
    vor 7 Wochen 1 Tag

Statistik

Beiträge im Forum: 250324
Registrierte User: 20571

Neue User:

  • alxshell
  • FesObsemo
  • AnthonyhoF

» Alle User anzeigen

User nach Punkten sortiert:
wla9466
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 11 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