Bestimmte Kategorien nicht anzeigen (foreach)

Liebe OXIDler,

dieses Script gibt alle Hauptkategorie außer der ersten aus. Ist es möglich, dass die erste, die dritte und die vierte Hauptkategorie nicht ausgegeben weden?

[{foreach from=$oxcmp_categories item=ocat key=catkey name=root}]
    
[{* Prüft die erste Katrgorie und zeigt diese nicht an *}]
        [{if $smarty.foreach.root.first}]
        [{else}]
    	<li>
    	<span></span>
		[{* -- Zauberschlüssel -- *}]
		[{if $ocat->load($catkey)}][{/if}]
		[{if $ocat->getIsVisible()}]
			<div class="box">
				<h3>
    				<a href="[{$ocat->getLink()}]" title="[{$ocat->oxcategories__oxtitle->value}]">[{$ocat->oxcategories__oxtitle->value}]</a>
    			</h3>
			<div class="content catPicOnly">
			<div class="subcatPic">
    			<a href="[{$ocat->getLink()}]" title="[{$ocat->oxcategories__oxtitle->value}]">
					<img src="[{$ocat->getPromotionIconUrl()}]" alt="[{$ocat->oxcategories__oxtitle->value}]">
    			</a>
			</div>
			</div>
			</div>
		</li>
		[{/if}] 
    	[{/if}]  
        
	[{/foreach}]

Beste Grüße
Flo

Ist nicht von mir:

[{if $smarty.foreach.root.iteration gt 1 || $smarty.foreach.root.iteration gt 3 || $smarty.foreach.root.iteration gt 4}]

Mit diesem Code werden alle außer die erste Kategorie angezeigt.

Ich hab einige Varianten ausprobiert. Steh ich auf dem Schaluch :rolleyes: Hast du vielleicht noch eine Idee?

[{ $smarty.foreach.root.iteration }]

lass dir einfach mal die iteration jeder kategorie angeben, dann hast du die zahlen (int) welche du dann abfragen kannst

Wäre es nicht sinnvoller auf die ID zu prüfen? Reihenfolgen von Kategorien können sich ändern. IDs tendieren nicht dazu.

Ich habe die Anzahl der Kategorien mit [{ $smarty.foreach.root.iteration }] überprüft.
Es sind 5 Kategorien. Das wusste ich aber schon vorher.

Mit [{if $smarty.foreach.root.iteration gt 2}] werden die ersten Beiden Kategorien nicht angezeigt.

Es muss doch möglich sein bestimmte Kategorien (also Kat 1, 3 und 4) nicht an zu zeigen.

Was spricht dagegen == als Vergleichsoperator zu nehmen?

Wie müsste der Code dann aussehen, msslovi0?

Ich würde das so versuchen

[{if $smarty.foreach.root.iteration == 1 || usw.

Besten Dank! So funktioniert es :slight_smile:

[{if $smarty.foreach.root.iteration == 1 || usw.