Author Topic: normale Var Strings in loop ausgeben  (Read 1655 times)

0 Members and 1 Guest are viewing this topic.

Offline Markx14

  • Newbie
  • *
  • Posts: 4
normale Var Strings in loop ausgeben
on: Thu, 14. June 2007 - 22:30:28
hi leutz, hi claus, hoffe ich habe es mit der registrierung jetzt richtig gemacht, wenn nicht, dann kannst mich wieder löschen^^

also ich will gerne wissen ob man normale Var strings die ich mit z.b. $tmpl->setvar("text", $text); im php script erstellt habe im template bei einer loop ausgabe so

z.b. (templatecode)
Code: [Select]
   <tmpl_loop name=loop>
      <p>{tmpl_var name=text}
      <p>User: {tmpl_var name=u_id} - {tmpl_var name=u_name}</p>
   </tmpl_loop>

einsetzen kann ? Ich weiß das man den text dann gleich direkt in das array hinzufügen kann, aber gibt es keine möglichkeit wie mans so machen könnte, weil bei meinen arrays verliere ich irgendwann die übersicht v ;D

danke schonmal

Offline ClausVB

  • Administrator
  • Hero Member
  • *****
  • Posts: 566
    • Homepage: clausvb.de
Re: normale Var Strings in loop ausgeben
Reply #1 on: Thu, 14. June 2007 - 22:39:12
Wenn ich mich richtig erinnere, geht das so, wie Du es möchtest.

Hast Du das überhaupt schon mal getestet?

Gruß
Claus

Offline Markx14

  • Newbie
  • *
  • Posts: 4
Re: normale Var Strings in loop ausgeben
Reply #2 on: Sat, 16. June 2007 - 11:23:51
also wenn ich das gesetzte var in ein loop ausgeben will, funzt es nicht, aber wenn ich es nicht in ein loop sondern normal irgendwo im template ausgebe, dann funzt es!

könnte es sein, das wenn ich ein loop ausgebe, auch nur die daten ausgeben kann die in dem array bzw. loop ist?


noch eine Frage: Kann man auch keine zwei unterschiedliche loops ineinander ausgeben, also jetzt gebe ich das erste loop aus, und wie ich das mit den var machen will, will ich noch das andere loop, komplett anders aufgebaut usw. in den ersten loop ausgeben, aber das funzt auch irgendwie nicht!?


finde das templatesystem viel besser als smarty und deswegen brauch ich eure hilfe, danke schonmal ^^

Offline ClausVB

  • Administrator
  • Hero Member
  • *****
  • Posts: 566
    • Homepage: clausvb.de
Re: normale Var Strings in loop ausgeben
Reply #3 on: Sat, 16. June 2007 - 12:02:56
Dann musst du die Variablen in den LOOP integrieren.

Hier ist ein Beispiel dafür, wie man das macht.

Mit zwei Loops musst Du es auf jeden Fall so machen, wie es oben in dem Beispiel steht.

Gruß
Claus
Last Edit: Sat, 16. June 2007 - 12:22:59 by ClausVB

Offline ClausVB

  • Administrator
  • Hero Member
  • *****
  • Posts: 566
    • Homepage: clausvb.de
Re: normale Var Strings in loop ausgeben
Reply #4 on: Sat, 16. June 2007 - 12:21:17
Übrigens folgendes funktioniert einwandfrei:

Code: [Select]
<?php
    
require_once vlib/vlibTemplate.php;

    
$tmpl = new vlibTemplate(tmpl/loop.htm);

    
$loop = array(
        
=> array(u_id => 1u_name => Claus),
        
=> array(u_id => 2u_name => Kelvin),
        
=> array(u_id => 3u_name => Skrol),
        
=> array(u_id => 4u_name => Micheal)
    );

    
$tmpl->setloop(loop$loop);

    
$tmpl->setvar(ueberschriftueberschrift);

    
$tmpl->pparse();
?>

Code: [Select]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
<head>
   <title>simple LOOP</title>
   <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
</head>

<body>

<h1>vlibTemplate LOOP is displayed using &lt;p&gt;</h1>

<tmpl_loop name=loop>
   <h1>{tmpl_var name=ueberschrift}</h1>
   <p>User: {tmpl_var name=u_id} - {tmpl_var name=u_name}</p>
</tmpl_loop>

</body>
</html>

Ausgabe:

Code: [Select]
vlibTemplate LOOP is displayed using <p>
ueberschrift

User: 1 - Claus
ueberschrift

User: 2 - Kelvin
ueberschrift

User: 3 - Skrol
ueberschrift

User: 4 - Micheal

Die Variable wird also immer wieder ausgegeben.

Sich ändernde Werte müssen mit in den LOOP eingegeben werden, aber eine normale Templatevariable kann im LOOP benutzt werden.

Gruß
Claus

Offline Markx14

  • Newbie
  • *
  • Posts: 4
Re: normale Var Strings in loop ausgeben
Reply #5 on: Sat, 16. June 2007 - 12:29:23
habe jetzt deinen code mal getestet, aber bei mir funzt es nicht, bei mir kommt das raus im Browser:

Code: [Select]
vlibTemplate LOOP is displayed using <p>
{tmpl_var name=ueberschrift}

User: 1 - Claus
{tmpl_var name=ueberschrift}

User: 2 - Kelvin
{tmpl_var name=ueberschrift}

User: 3 - Skrol
{tmpl_var name=ueberschrift}

User: 4 - Micheal


bei mir hat ueberschrift keinen wert, obwohl es im php script einen wert kriegt!
habe genau die codes von dir genommen gerade, funzt einfach nicht?

Offline ClausVB

  • Administrator
  • Hero Member
  • *****
  • Posts: 566
    • Homepage: clausvb.de
Re: normale Var Strings in loop ausgeben
Reply #6 on: Sat, 16. June 2007 - 12:36:22
Dann hast du entweder eine alte vLIB Version oder irgendein PHP Problem.

Ich habe es gerade mit vLIB_4-1-0.zip versucht und bei mir läuft es.

Wenn es daran nicht liegt, kann ich Dir nicht helfen.

Gruß
Claus

Offline Markx14

  • Newbie
  • *
  • Posts: 4
Re: normale Var Strings in loop ausgeben
Reply #7 on: Sat, 16. June 2007 - 12:47:59
habe erst diese woche das erste mal vLIB runtergeladen und das war die neueste version vLIB_4-1-0...

in wiefern meinst du, das es an php liegen könnte? an den php code kann es nicht liegen, weil nicht mal dein beispiel gefunzt hat, habe php5, könnnte es daran liegen?

Offline ClausVB

  • Administrator
  • Hero Member
  • *****
  • Posts: 566
    • Homepage: clausvb.de
Re: normale Var Strings in loop ausgeben
Reply #8 on: Sat, 16. June 2007 - 12:53:11
Nein, ich benutze auch PHP5 (PHP Version 5.1.4). Dann liegt es an irgendwelchen Einstellungen von PHP.

Du hast zwei Möglichkeiten:
- Schritt für Schritt den vlibTemplate-Code durchgehen und herausfinden, was er braucht, was Du nicht hast oder
- die Überschrift mit in den Array übernehmen.

Gruß
Claus

Offline ClausVB

  • Administrator
  • Hero Member
  • *****
  • Posts: 566
    • Homepage: clausvb.de
Re: normale Var Strings in loop ausgeben
Reply #9 on: Sat, 23. June 2007 - 15:29:36
Es ist ein Fehler beim letzten Upload der "vlibIni.php" passiert.

Der Wert "GLOBAL_VARS=0" ist falsch, es muss "GLOBAL_VARS=1" sein.

Gruß
Claus