php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 26.08.2004, 20:33  
Gast
 
Beiträge: n/a
Standard [Erledigt] Smarty - Schleifenmanagment in Templates

Ich habe gerade ein Problem, wie ich in Templates nicht assoziative Arrays mit Smarty durchlaufen kann. foreach geht anscheinend nicht, Handbuch und Google haben leider auch wenig Infos hergegeben, also hoffe ich auf jemanden, der sich auskennt :wink: . Zur Anschauung, folgendes Codefragment ist betroffen (da wo ich die Iterationen "simuliert" habe, soll eigentlich eine Schleife hin):
Code:
{foreach from=$result item=ergebnis}
{$ergebnis.titel}

{$ergebnis.autor}

...
{$ergebnis.accounts[0]}{$ergebnis.accounts[1]}{$ergebnis.accounts[2]}{$ergebnis.accounts[3]}{$ergebnis.accounts[4]}{$ergebnis.accounts[5]}
...
{/foreach}
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 26.08.2004, 22:28  
Gast
 
Beiträge: n/a
Standard

Ich versteh dein Problem nicht wenn ich dein Code ansehen

Du kannst auch auf den Index zugreifen per {$array[123]}. Nachzulesen gibts das auf der Smarty-Homepage hier
  Mit Zitat antworten
Alt 26.08.2004, 23:25  
Gast
 
Beiträge: n/a
Standard Re: Smarty - Schleifenmanagment in Templates

Schon klar, das ist nicht das Problem. Das Problem ist, dass das:
Code:
{foreach from=$result item=ergebnis}
...
{$ergebnis.titel}
...
{$ergebnis.accounts[0]}{$ergebnis.accounts[1]}{$ergebnis.accounts[2]}{$ergebnis.accounts[3]}{$ergebnis.accounts[4]}{$ergebnis.accounts[5]}
...
{/foreach}
so aussehen soll:

Code:
{foreach from=$result item=ergebnis}
...
{$ergebnis.titel}
...
{for $i=0; $i < sizeof($ergebnis['accounts']); $i++ }
{$ergebnis.accounts[$i]}
{/for}
{/foreach}
Nur gibt es ein solches Konstrukt in Smarty nicht. (oder ich bin zu doof es zu finden, im Manual hab ich jedenfalls nichts entdeckt...

Zwei geschachtelte foreach Schleifen würden es ja tun, wenn das innere Array auch assoziativ wäre.

Bei result handelt es sich um ein 3-dimensionales Array.
  Mit Zitat antworten
Alt 27.08.2004, 06:37  
Gast
 
Beiträge: n/a
Standard

Ach eine for-Schleife hätt ich auch schon gebrauch für was andere die gibts nicht - auf jeden Fall ist keine direkt enthalten kannst sie selber coden.

Hab es mal getestet das funktioniert bei mir -->

test.php:
Code:
<?
	require("include/smarty.inc");
	
	$test["Text1"]["titel"] = "Eine tolle Geschichte! 
";
    $test["Text1"]["text"][] = "Hallo ";
    $test["Text1"]["text"][] = "du ";
    $test["Text1"]["text"][] = "da ";
    $test["Text1"]["text"][] = "im ";
    $test["Text1"]["text"][] = "Radio!

";
    
	$test["Text2"]["titel"] = "Smarty 
";
    $test["Text2"]["text"][] = "Hey ";
    $test["Text2"]["text"][] = "ho ";
    $test["Text2"]["text"][] = "Smarty ";
    $test["Text2"]["text"][] = "kann ";
    $test["Text2"]["text"][] = "das ";
    $test["Text2"]["text"][] = "doch!

";    
    
    $smarty = new smarty();
    $smarty->assign("testarray", $test);
    $smarty->display("test.tpl");
?>
test.tpl:
Code:
{foreach item=item from=$testarray}
    {$item.titel}
    {foreach item=item2 from=$item.text}
        {$item2}
    {/foreach}
{/foreach}
output:
Code:
Eine tolle Geschichte!
Hallo du da im Radio!

Smarty
Hey ho Smarty kann das doch!
  Mit Zitat antworten
Alt 27.08.2004, 15:51  
Gast
 
Beiträge: n/a
Standard

Vielen Dank für deine Mühe!! So klappt es
  Mit Zitat antworten
Alt 27.08.2004, 17:29  
Gast
 
Beiträge: n/a
Standard

for schleifen kann mann mit section emulieren (eigentlich ist section eine for schleife)

{section name=loop start=1 loop=7}
{$smarty.section.loop.index}"
{/section}


gruss
Sike
  Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Smarty + MySQL = immer falsche Ausgabe m0use` PHP Tipps 2006 44 21.11.2008 20:30
Was ist Aufgabe des Templates (Smarty), was nicht? agrajag PHP Tipps 2007 8 24.02.2007 13:19
Smarty => 1ste allgemeine Verunsicherung Canni PHP Tipps 2006 7 10.10.2006 17:56
if abfragen in Templates rob1011 PHP Tipps 2006 13 03.08.2006 15:55
Smarty + Oop Problem Komandar PHP Tipps 2006 5 25.07.2006 14:36
Vererbung bei Templates Pain-maker PHP-Fortgeschrittene 9 28.03.2006 10:05
Smarty verschachtelt snatch-ic PHP Tipps 2006 16 28.02.2006 20:54
[Erledigt] Navigation auf Smarty umstellen?! PHP-Fortgeschrittene 3 10.01.2006 09:19
Smarty Error Simon9990 PHP Tipps 2005-2 8 07.07.2005 09:34
Smarty und X-Cart Profis gesucht Beitragsarchiv 1 21.05.2005 13:38
[Erledigt] includepathproblem pear blockiert smarty und umgekehrt PHP Tipps 2005 1 08.05.2005 18:46
Smarty? Die wesentlichen Vorteile? Off-Topic Diskussionen 7 20.09.2004 13:04
[Erledigt] Wieder mal Templates! PHP-Fortgeschrittene 1 10.09.2004 11:42
If Anweisung mit Smarty Templates! Wo ist der Fehler? PHP Tipps 2004 3 18.07.2004 22:10
Smarty Templates + Radio Buttons + Auswertung Transmitter PHP-Fortgeschrittene 0 05.07.2004 18:29

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
smarty for, smarty loop, smarty foreach i, smarty section index, smarty radios loop, smarty foreach schleife, smarty section und foreach, verschachtelte schleifen smarty, smarty foreach, php html template for schleife, foreach object smarty, smarty foreach object array, smarty foreach loop, smarty section loop, http://www.php.de/php-fortgeschrittene/7767-smarty-schleifenmanagment-templates.html, smarty schleife array, javascript smarty foreach, javascript array smarty foreach, smarty for i, php in smarty for schleife

Alle Zeitangaben in WEZ +2. Es ist jetzt 01:27 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.