Shop Support News Archive - Shopbetreiber News -> Forum : ECB: Yaml template - Neue Produkte 3 Spaltig
Kopernikus
15.03.2009, 17:21
Hallo zusammen
Ich möchte gerne die neuen Produkte auf der Frontseite 3-Spaltig darstellen.
Da ich das yaml Template [CSS Shop/Onlineshop Template s oder Tabellen Shop/Onlineshop Template s ] mit snippets verwende, habe ich es mal so versucht, wie es Pufaxx auf seiner Seite (http://www.gunnart.de/tipps-und-tricks/xtcommerce-weniger-stress-mit-snippets/) beschreibt.
{php} $col=0; {/php}
{foreach item=proDuct from=$moDule_content}
{php} $col++; {/php}
{include file=$smarty.const.schnippsel1}
{php} if ($col>=2) { $col=0; {/php}
<br style="clear:both" />
{php} } {/php}
{/foreach}
Ich vermute ich müsste die new_proDucts_default.html entspechend diesem Beispiel ändern. Die sieht in unverändertem original Zustand zur Zeit ja so aus:
{config_load file="$language/lang_$language.conf" section="index"}
{config_load file="$language/lang_$language.conf" section="new_proDucts"}
<h2>{#heading_Text#}</h2>
{foreach name=aussen item=moDule_data from=$moDule_content}
****{snippet file=product_listing_item.html item=$moDule_data}
{/foreach}
Doch irgendwie will es einfach nicht funktionieren, ausser vielen FehlermelDungen erreiche ich damit gar nichts. Könnt ihr mir da einen Tipp geben?
Gruss Kopernikus
Gummel23
15.03.2009, 17:44
Hi,
ich denke eher, dass Du die product_listing_item.html änderen muss, dort ist das layout für das snipet hinterlegt.
Gruß
und wieso machst Du es nicht in dieser Art:
{config_load file="$language/lang_$language.conf" section="index"}
{config_load file="$language/lang_$language.conf" section="new_proDucts"}
<h2>{#heading_Text#}</h2>
{ !!! Not for large proDuct names and short deScript [ Programm ]ions and only for fix width more then 890px !!! }
"containerProdListing3col">
{assign var="elementNow" value="0"} { Zurücksetzen der Varible }
{foreach name=aussen item=moDule_data from=$moDule_content}
{ Überprüfung welche Spalte derzeit aktuell ist }
****{if $elementNow == "0" }
****"subcolumns">
********"c33l">
************"subcl">
****{elseif $elementNow == "1" }
********"c33l">
************"subc">
****{elseif $elementNow == "2" }
********"c33r">
************"subcr">
****{/if}
{ Content }
{ Div damit Button auf einer Höhe stehen }
**<div>
****{ Dein Artikel Layou muss hier stehen }
**</div>
</div>
****</div>
{ Subcolums schließen }
{if $elementNow == "2" }
****</div>
{/if}
****
{ Spaltennummer ändern }
{if $elementNow < "2" }
****{assign var="elementNow" value="`$elementNow+1`"}
{else}
****{assign var="elementNow" value="0"}
{/if}
{/foreach}
{ Leere Zellen einfügen }
{assign var="but1" value="`$smarty.foreach.aussen.total+2`"}
{assign var="but2" value="`$smarty.foreach.aussen.total+1`"}
{ Wenn Spalten unvollständig füge leere Spalten hinzu }
{if $but1%3 == 0 }
****"c33l">"subc"></div></div>
****"c33r">"subcr"></div></div>
****</div>
{elseif $but2%3 == 0 }
****"c33r">"subcr"></div></div>
****</div>
{/if}
</div>
Kopernikus
15.03.2009, 18:10
''>ZITAT</div>und wieso machst Du es nicht in dieser Art:[/b]
Ich dachte eben es gibt mit den snippets eine einfachere Methode. Ich habs nun so gelöst:
Den Inhalt der \templates\yaml\moDule\new_proDucts_default.html mit folgendem Code ersetzen:
{config_load file="$language/lang_$language.conf" section="index"}
{config_load file="$language/lang_$language.conf" section="new_proDucts"}
<h2>{#heading_Text#}</h2>
"containerProdListing3col">
{assign var="elementNow" value="0"} { Zurücksetzen der Varible }
{foreach name=aussen item=moDule_data from=$moDule_content}
{ Überprüfung welche Spalte derzeit aktuell ist }
**{if $elementNow == "0" }
**"subcolumns">
****"c33l">
******"subcl">
**{elseif $elementNow == "1" }
****"c33l">
******"subc">
**{elseif $elementNow == "2" }
****"c33r">
******"subcr">
****{/if}
"colSpacer">
{$moDule_data.PRODUCTS_IMAGE} ({$moDule_data.PRODUCTS_LINK})
"bezContainer"><h3>{$moDule_data.PRODUCTS_NAME} ({$moDule_data.PRODUCTS_LINK})</h3></div>
"priceContainer">{$moDule_data.PRODUCTS_PRICE}</div>
</div>
</div>
</div>
{if $elementNow < "2" }
****{assign var="elementNow" value="`$elementNow+1`"}
{else}
****{assign var="elementNow" value="0"}
{/if}
{/foreach}
{ Leere Zellen einfügen }
{assign var="but1" value="`$smarty.foreach.aussen.total+2`"}
{assign var="but2" value="`$smarty.foreach.aussen.total+1`"}
{ Wenn Spalten unvollständig füge leere Spalten hinzu }
{if $but1%3 == 0 }
****"c33l">"subc"></div></div>
****"c33r">"subcr"></div></div>
****</div>
{elseif $but2%3 == 0 }
****"c33r">"subcr"></div></div>
****</div>
{/if}
</div>
PS: Das Design muss natürlich noch angepasst werden.
handysparshop
15.11.2009, 21:48
''>ZITAT(Kopernikus @ Mar 15 2009, 19:10) 154406
''>ZITATund wieso machst Du es nicht in dieser Art:[/b]
Ich dachte eben es gibt mit den snippets eine einfachere Methode. Ich habs nun so gelöst:
Den Inhalt der \templates\yaml\moDule\new_proDucts_default.html mit folgendem Code ersetzen:
{config_load file="$language/lang_$language.conf" section="index"}
{config_load file="$language/lang_$language.conf" section="new_proDucts"}
<h2>{#heading_Text#}</h2>
"containerProdListing3col">
{assign var="elementNow" value="0"} { Zurücksetzen der Varible }
{foreach name=aussen item=moDule_data from=$moDule_content}
{ Überprüfung welche Spalte derzeit aktuell ist }
**{if $elementNow == "0" }
**"subcolumns">
****"c33l">
******"subcl">
**{elseif $elementNow == "1" }
****"c33l">
******"subc">
**{elseif $elementNow == "2" }
****"c33r">
******"subcr">
****{/if}
"colSpacer">
{$moDule_data.PRODUCTS_IMAGE} ({$moDule_data.PRODUCTS_LINK})
"bezContainer"><h3>{$moDule_data.PRODUCTS_NAME} ({$moDule_data.PRODUCTS_LINK})</h3></div>
"priceContainer">{$moDule_data.PRODUCTS_PRICE}</div>
</div>
</div>
</div>
{if $elementNow < "2" }
****{assign var="elementNow" value="`$elementNow+1`"}
{else}
****{assign var="elementNow" value="0"}
{/if}
{/foreach}
{ Leere Zellen einfügen }
{assign var="but1" value="`$smarty.foreach.aussen.total+2`"}
{assign var="but2" value="`$smarty.foreach.aussen.total+1`"}
{ Wenn Spalten unvollständig füge leere Spalten hinzu }
{if $but1%3 == 0 }
****"c33l">"subc"></div></div>
****"c33r">"subcr"></div></div>
****</div>
{elseif $but2%3 == 0 }
****"c33r">"subcr"></div></div>
****</div>
{/if}
</div>
PS: Das Design muss natürlich noch angepasst werden.
[/b][/quote]
Also wenn ich diesen Code in die new_products_default.html reinnehme, habe ich nur weiss, da wo die Artikel sein sollen. Was habe ich da falsch gemacht?
vBulletin® v3.8.4, Copyright ©2000-2012, Jelsoft Enterprises Ltd.