PHP - Globale Variablen
![](http://www.drupalcenter.de/files/noavatar_mini.gif)
am 25.09.2009 - 12:07 Uhr in
Hallo Leute
leider reichen meine PHP-Kenntnisse nicht soweit, sodass ich vor folgendem Problem stehe:
Kann ich in der "node-NODENAME.tpl.php" eines nodes... eine globale variable definieren und dann in der "template.php" den wert von ihr abfragen? Geht das prinzipiell von der Logik her überhaupt? ^^
mfg Roavei
- Anmelden oder Registrieren um Kommentare zu schreiben
template
am 25.09.2009 - 12:27 Uhr
Moin.
Nein, das funktioniert nicht.
Das node-Template wird quasi "nach" der template.php "gefüllt".
Allerdings funktioniert das genau andersherum: Du kannst über eine preprocess-Funktion in der template.php Variablen für das node-Template zur Verfügung stellen.
hth,
Stefan
--
sei nett zu Deinem Themer
hallo... danke für deine
am 27.09.2009 - 13:52 Uhr
hallo...
danke für deine antwort.
hat mich ein bisschen zeit gekostet, das ganze jetzt anders zu lösen.
jedoch stehe ich jetzt vor einem anderen problem, und zwar ist mir nicht klar, warum folgende Abfrage nicht funktioniert: (ich frage von einem view aus ab)
<?php
$sql = "SELECT form_data FROM signup_log WHERE nid=$data->nid";
$result = db_query($sql);
while ($data = db_fetch_object($result)) {
$mein_array = explode("\"", $data->form_data);
}
if($mein_array[7] == 'putzen'){
print $mein_array[3];
}<em>else{
$putzenSql = "SELECT field_aj_putzjanein_value FROM content_type_nodetyp WHERE nid = $data->nid";
$putzenObj = db_result(db_query($putzenSql));
if($putzenObj == 'Ja'){
print "Noch niemand";
}else{
print "Siehe oben";
}</em>
}
?>
das produzierrt folgende fehlermeldung:
user warning: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 query: SELECT field_aj_putzjanein_value FROM content_type_jugendtreff WHERE nid = in /*/*/*/*/all/modules/views_customfield/includes/views_customfield_handler_field_phpcode.inc(118) : eval()'d code on line 13.
Mache ich hingegen nur eine SQL abfrage, also z.b. den kursiven teil... dann funktioniert alles prächtigst.
Kann man nur einemal die Datenbank abfragen?
fg Roavei
Wo wird denn Deine Variable
am 27.09.2009 - 15:09 Uhr
Wo wird denn Deine Variable $data vor der ersten Zeile gesetzt? Die Fehlermeldung zeigt ja auch deutlich, daß für nid kein Wert gesetzt ist. Was soll denn Deiner Meinung da stehen? Vielleicht $node->nid? Und woher bekommst Du den dann?
Beste Grüße
Werner
danke dir wla. leider war
am 27.09.2009 - 16:16 Uhr
danke dir wla.
leider war das für mich nicht so deutlich, dass nid keinen wert von $data->nid; bekommt.
Ich hab das Problem gelöst... und zwar verwende ich das Modul Customfield, was es mir ermöglicht ein Feld in einem View mit PHP-Inhalt zu erzeugen. Dieses Modul stellt $data->nid; zur Verfügung... d.h. so bekomm ich schnell u einfach die nid.
Jedoch habe ich ja in $data etwas andres reingeschrieben in der while-schleife. Deshalb konnte ich dann beim 2. SQL-Statement nicht mehr auf $data->nid zugreifen.
Habe es jetzt einfach so gelöst, dass ich $data->nid jetzt vor dem while in eine andere Variable speichere und somit unten auch die nid abfragen kann :)
mfg Roavei