PHP - Template & Platzhalter



  • hi @all!

    hab wieder mal ein problem und zwar folgendes - für jede schnelle antwort werde ich sehr dankbar sein 🙂

    Also, ich möchte eine seite bauen, die die möglichkeit bietet anhand eines buttons neue zeilen in einem text einzufügen, wenn bestimmte kriterien erfüllt sind.
    da muss ich nach dem klick auf dem button - an einer bestimmten stelle - ein paar felder plazieren. da soll dann möglich sein, felder aus einer datenbank raus zu lesen und die mit einem, vom benutzer eingegebenen string vergleichen und demensprechend neue zeilen erzeugen oder wenn die kriterien nicht erfüllt sind, eben gar nichts im text reingeschrieben wird.

    das problem ist, dass ich, erstens weil ich eben an einer bestimmten stelle die felder anzeigen lassen will, in dem template einen platzhalter habe und in dem php-programm folgendes mache:

    addline=;if(addline = ''; if (HTTP_POST_VARS[addLine]){
    addline .= "

    "; } tpl->set_var(array('ADD_LINE' => $add_line));

    Hier bekomme ich leider die Werte von {IBEFIELD_NAME} nicht angezeigt, so wie ich es vorher in einem Block hatte und im template mir anzeigen lassen habe. was auch einleuchtend ist, weil sie in einem array vorher reingeschrieben sind

    Was muss ich hier ändern? wie komme ich an diese werte ran und kann sie darstellen lassen?
    oder gibt es eine ganz einfache lösung in meinem template eine bestimmte stelle für die anzeige dieser felder zu definieren?

    es ist wirklich sehr dringend, würde mich auf schnelle antworten sehr freuen!
    also, vielen dank...



  • engelsfleisch schrieb:

    $tpl->set_var(array('ADD_LINE' => $add_line));

    Woher kommt $tbl? Ist das eine bestimmte Klassenbibliothek?



  • habe vergessen zu erwähnen, dass **tpl** für den templete die werte speichert. später rufe ich natürlich mit tpl->parse('out','main');
    $tpl->p('out');
    das alles auf.

    das funktioniert auch... ganz sicher!



  • Du könntest entweder versuchen vorher in $addline schon die anderen Template-Variablen zu ersetzen, oder du ersetzt eben vor dem Einlesen des Templates im Template selbst den entsprechenden Abschnitt 🕶


Anmelden zum Antworten