Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Themes & Theming ›

Variable von template.php an script.js übergeben

Eingetragen von haggis (35)
am 01.03.2010 - 02:46 Uhr in
  • Themes & Theming
  • Drupal 6.x

Moin,
ich versuche eine ganz triviale Sache, die mit Modulen auch immer super funktionert hat. Jetzt will es aber innerhalb eines Themes einfach nicht laufen:

In der template.php wird bei Abarbeitung von page.tpl.php folgende Funktion aufgerufen:

<?php

function myTheme_test() {
 
$settings = array(
   
'test' => 'foobar',
  );

 
drupal_add_js(array('myTheme' => $settings), 'setting');
}
?>

Testweise soll dieses 'foobar' einfach mal durch ein alert ausgegeben werden.
script.js:

Drupal.behaviors.myTheme = function(context) {
  var test = Drupal.settings.myTheme.test;
  alert(test);
}

Leider passiert nichts. Firebug sagt mir "Drupal.settings.myTheme is undefined".
Was ist hier los? Habe die Funktion myTheme_test() aus der template.php auch schon direkt in der ersten Zeile der page.tpl.php aufrufen lassen, was aber auch nichts genützt hat.

Wäre über jede Hilfe dankbar!

Greetz haggis

P.S: die myTheme_test() wird auf jeden Fall korrekt aufgerufen, denn ein "dpm('gnarf');" erzeugt die Meldung.

‹ Conent Profile: Inhaltstypen + Profilausgabe themen [gelöst] Anzeige eines Zen-Sub-themes im Browser. (URL ?) ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Jetzt hab ichs raus! Wenn ich

Eingetragen von haggis (35)
am 01.03.2010 - 14:32 Uhr

Jetzt hab ichs raus!
Wenn ich in der template.php die Funktion statt myTheme_test() myTheme_preprocess(&$vars, $hook) nenne, dann funktionierts.

Edit:
Ein Problem taucht aber auf: die mytheme_preprocess() wird mehrfach aufgerufen, weshalb sich der Wert der Variablen ändert (statt 'foobar' bekomme ich 'foobar,foobar,foobar,foobar'.

Irgendeine Idee?

Edit2:
die mytheme_preprocess() wird wohl für jeden Block einmal aufgerufen, genauso für den Footer-Bereich. Habe versucht beim erstmaligen aufruf $vars['myTheme_preprocessed'] zu setzen, damit ich überprüfen kann, ob die Funktion schon einmal aufgerufen wurde. Hat aber leider nichts genützt.

Edit3:
Mit mytheme_preprocess_page() funktioniert es.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • How to Spend a Great Evening at Crash Online Games
  • Neuinstallation: vermutlich ein rewrite-Problem
  • Drupal CMS installieren
  • [erledigt]MP3 in Drupal 10 einbinden
  • (gelöst)Drupal 11 installieren
  • Titel ausblenden
  • Ich brauche dringen Hilfe zu Updates oder ggf. wwie geht Composer?
  • Dynamische Ansicht von Seiteninhalt (als Tabelle?)
  • Vergabe von Berechtigungen für bestimmte Rollen; mir fehlt der Haken bzw. das „Veröffentlicht“
  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • Rolle erstellen nicht zu finden
  • für drupal11 ein Slider Modul
Weiter

Neue Kommentare

  • Was für einen Server benutzt
    vor 1 Woche 1 Tag
  • Wenn die Subdomain auf
    vor 1 Woche 2 Tagen
  • ordnerstruktur
    vor 1 Woche 3 Tagen
  • Die Subdomain muß auf den
    vor 1 Woche 5 Tagen
  • Verwende doch das Tag dafür,
    vor 5 Wochen 14 Stunden
  • Guckst du hier: step by step
    vor 5 Wochen 4 Stunden
  • Guckst du hier: step by step
    vor 5 Wochen 4 Stunden
  • Ich habe ja keine Angst vor
    vor 6 Wochen 2 Tagen
  • Ist grundsätzlichmachbar – aber nichts für „einfach mal schnell“
    vor 6 Wochen 4 Tagen
  • Vielen Dank erst einmal, aber
    vor 6 Wochen 6 Tagen

Statistik

Beiträge im Forum: 250290
Registrierte User: 20516

Neue User:

  • RollingSlots
  • Wolf Dab
  • Scottteday

» 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 19 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