netuse template.inc arrays

fbrockherde

Grünschnabel
hallo,
ich benutze die template.inc von netuse. kann ich hiermit arrays in meinem template benutzen? ich will nämlich, dass zum beispiel ein teil eines arrays $dasarray so im template verwendet wird:
{dasarray:0} damit ist dann gemeint $dasarray[0]

danke, fbrockherde
 
ich verstehe nicht ganz, was du willst :-)

PHP:
$tpl->set_var(array
(
     "Platzhalter1" => $string1,
     "Platzhalter2" => $string2,
     "Platzhalter3" => $string3 
));

ersetzt im Template {Platzhalter1}, {Platzhalter2} und {Platzhalter3} mit den Variablen $string1, $string2 und $string3

Hilft dir das irgendwie weiter?
 
ich möchte ein array im template, keine normalen variabeln.
zb.
PHP:
<?php
$dasarray = array(
"noeins" => "blablabla",
"zweiteno" => "auchblabla"
);
?>
im template will ich das dann so aufrufen:
PHP:
{dasarray:noeins} //soll "blablabla" ergeben
und
{dasarray:zweiteno} //soll "auchblabla" ergeben;)
greetz, fbrockherde;)
 
ähh, warum?

unsere beispiele sind identisch, du musst lediglich "dasarray:" in deinen Platzhaltern streichen.

Alle Inhalte, die du im Template zwischen den { } referenzierst, sind Elemente eines (assoziativen) Arrays.

z.b. {blabla} erhält den Inhalt von $array["blabla"]...
 
oh, wusste ich noch nicht.
aber was passiert wenn ich eine variable $beispiel und das array $array["beispiel"] habe? gibt das dann einen error?
danke aber schon mal,
fbrockherde
 
ein dickes problem welches die phplib hatt ist wenn in den variablen die klammern drinnen stehen
z.b. du hast nen nick mit extra sonderzeigen
->
$tpl->set_var("nick","{SonicBe@m}");
das ergebnis wird dann bei der ausgabe leider rausgestrichen!
vorher muste halt die klammern mit replace oder so ersetzen
hier nen kleines tool
braucht ein array und gibt eins zurück
egal ob numerisches oder assoziative Indizes

function specialKeyToHtml($array){
foreach($array as $type => $value){
$array[$type] = str_replace("<","<",$value);
$array[$type] = str_replace(">",">",$array[$type]);
$array[$type] = str_replace("{","{",$array[$type]);
$array[$type] = str_replace("}","}",$array[$type]);
}
return $array;
}
 
moep, moep, so trifft man die leute wieder!
das hilft mir irgendwie nicht weiter, wenn man auf die anfangsfrage schaut, ob man arrays im template verwenden kann.
greetz, fbrockherde

PS: nick arbeitet grad an nem neuen layout für moepreligion********!!! ich muss noch das member script neu schreiben, mit filter für die fakemember!(534 member, nach schätzungen sind die hälfte fakemember)
 
vielleicht beschreibst du mal, wie dein Problem konkret aussieht, dann kann man dir auch eher erklären, wie du es lösen kannst.

Die {} Platzhalter sind ja keine Variablen, und können dementsprechend auch keine Arrays sein. Mit der Geschweifte-Klammern-Syntax weist du dein Script lediglich an, bei der Ausgabe den Platzhalter mit dem Inhalt einer bestimmten Variablen (i.d.R. ein String) zu ersetzen...
Diese Strings können mehr oder weniger riesig sein, du kannst z.B. {Inhalt_hier} durch eine ganze Tabelle ersetzen lassen.

Ich möchte dir nicht zu nahe treten, habe aber das Gefühl, dass du die Sache irgendwo falsch angehst. :-)
 
davon abgesehen
wenn du schon sagst das du ein array im -> template <- haben willst dann haste leider den begriff template falsch verstanden
templates sind nur fürs design und für nichts anderes zuständig !
und ne antwort haste ebenfalls bekommen! ->

$tpl->set_var(array
(
"Platzhalter1" => $string1,
"Platzhalter2" => $string2,
"Platzhalter3" => $string3,
));

ich würde einfach besser beschreiben was du willst dann kann man auch besser drauf antworten!
nebenbei die funktion die ich dir geschrieben habe sollteste benutzen nicht das du dann nachher dich wunderst wieso nichts angezeigt wird falls es zu solch einem fall kommen sollte...
 
Zurück