Ik ben vandaag met smarty aan de gang gegaan. Ik heb al een loop werkend maar ik heb een geneste loop nodig en ik weet niet hoe je deze goed in elkaar moet zetten.

Dit is mijn template op 't moment:
<div id="blog">
	<div id="article">
		{section name=articles loop=$article}
		<div class="blogItem">
			<a name="{$article[articles].art_id}"></a>
			<h3>{$article[articles].date}</h3>
			<h2>{$article[articles].title}</h2>
			<p>{$article[articles].article}</p>
			<h4>Posted by: {$article[articles].posted_by} -  <a href="javascript:toggle('blog_{$article[articles].art_id}')">{$article[articles].comment_count} comment(s)</a></h4> 
		</div>
		
		<div class="blogComments" id="blog_{$article[articles].art_id}"><!-- style="display: none;" -->
			{section name=comments loop=$comment}
			<h1 class="commentUsername">{$comment[comments].username} wrote:</h1>
			<p>{$comment[comments].message}</p>
			<h2 class="commentDate">{$comment[comments].date}</h2>
			{/section}
		</div>
		{/section}
	</div>
</div>


Het probleem is dat je zo'n loop in een keer parsed omdat je een array mee moet geven. Dit werkt goed voor 1 loop maar niet voor een geneste.

't mooiste zou zijn als er een functie bestaat waarmee je zelf moet loopen zodat je elke keer een artikel kunt parsen en dan kun je ook die comments makkelijker meenemen.

edit: Ik moet beter zoeken...

http://smarty.php.net/manual/en/language.function.section.php

Halvewege de pagina staat de uitleg. Deze kan dicht denk ik.

edit2: Ik heb em nu ook werkend. Excuses voor deze overbodige topic.
Dat is makkelijk, iemand die zichzelf helpt :)

Reageren