Seite 1 von 1

Problem mit Eintrag von Variable in Template

Verfasst: 05.07.2005 22:01
von Malo05
Hi!

Ich habe ein kleines Problem mit der Nutzung der Templates.

Ich möchte einen kleinen String im Template unterbringen. In meinem Fall will ich es ihns Viewprofile haben.

Ich habe nun in der "usercp_viewprofile.php" in der Template->Assign_vars-Funktion folgenden String hinzugefügt:

Code: Alles auswählen

"TEST" => 'test',
Dann habe ich in der profile_view_body.tpl folgenden Code hinzugefügt:

Code: Alles auswählen

<td valign="middle" nowrap="nowrap" align="right"><span class="gen">{TEST}</span></td>
Beides gespeichert und im Board nachgeschaut. Allerdings wird der Teststring nicht angezeigt. Wenn ich jedoch ein hardgecodetes "Test" in die Template-Datei hineinschreibe, funktioniert es. Wo liegt also mein Fehler?

Edit: Hab übrigens einen Fehler schon gefunden: Strings werden in PHP ja mit doppelten Anführungsstrichen gekennzeichnet :?

Für mich als Pascal'er einer schwierige Umgewöhnung... trotzdem funktioniert es nicht :(

Re: Problem mit Eintrag von Variable in Template

Verfasst: 06.07.2005 09:32
von QCO

Code: Alles auswählen

"TEST" => 'test',
Wahrscheinlich hast du das an der falschen Stelle eingefügt. Poste doch mal etwas mehr von deinem Code...
(üblicher ist auch

Code: Alles auswählen

'TEST' => 'test',
, aber das sollte eigentlich keinen Unterschied machen)

Code: Alles auswählen

<td valign="middle" nowrap="nowrap" align="right"><span class="gen">{TEST}</span></td>
Da sehe ich keinen Fehler.
Edit: Hab übrigens einen Fehler schon gefunden: Strings werden in PHP ja mit doppelten Anführungsstrichen gekennzeichnet :?
Das stimmt nicht direkt. Man kann Strings auch mit einfachen Anführungsstrichen schreiben.
Es gibt aber schon einen Unterschied. Strings in ' werden nicht geparsed, während "-Strings auf mehr Escapezeichen untersucht werden und außerdem im String enthaltene Variablen eingesetzt werden.
Bsp.:

Code: Alles auswählen

$a = 'Test';
$b = 'Hallo $a';
echo $b; //ergibt Hallo $a
$c = "Hallo $a";
echo $c; // ergibt Hallo Test
Lies dir mal http://de.php.net/manual/de/language.types.string.php durch.

Verfasst: 06.07.2005 11:15
von Malo05
So, mittlerweile funktioniert es.

Ich glaub, ich hab irgendwie eine falsche Datei editiert. Eventuell eine andere Datei von meiner Festplatte, die zu einem phpBB gehört.

Funktioniert jetzt aber soweit. Danke trotzdem für die Hilfe :)
QCO hat geschrieben:

Code: Alles auswählen

"TEST" => 'test',
Wahrscheinlich hast du das an der falschen Stelle eingefügt. Poste doch mal etwas mehr von deinem Code...
(üblicher ist auch

Code: Alles auswählen

'TEST' => 'test',
, aber das sollte eigentlich keinen Unterschied machen)
Naja, ich hab mich an die Vorlagen in der jeweiligen Datei gehalten. Und da standen imho doppelte Anführungsstriche... naja, egal ;)

QCO hat geschrieben:
Edit: Hab übrigens einen Fehler schon gefunden: Strings werden in PHP ja mit doppelten Anführungsstrichen gekennzeichnet :?
Das stimmt nicht direkt. Man kann Strings auch mit einfachen Anführungsstrichen schreiben.
Es gibt aber schon einen Unterschied. Strings in ' werden nicht geparsed, während "-Strings auf mehr Escapezeichen untersucht werden und außerdem im String enthaltene Variablen eingesetzt werden.
Bsp.:

Code: Alles auswählen

$a = 'Test';
$b = 'Hallo $a';
echo $b; //ergibt Hallo $a
$c = "Hallo $a";
echo $c; // ergibt Hallo Test
Lies dir mal http://de.php.net/manual/de/language.types.string.php durch.
Echt? Da hab ich mich wohl zu sehr an C gehalten, wenn ich mich nämlich nicht völlig irre, werden dort Strings mit " " und Chars mit ' ' gekennzeichnet.

Naja, kann mir auch egal sein ;)