Topseller individuell ausblenden

Hallo, ich versuche die Topseller individuell auszublenden. http://wiki.shopware.de/_detail_1242.html bezieht sich ja aufs Haupttemplate. Ich wollte die Sache gern updates sicher gestallten. Habe also in meinem Template das Verzeichnis frontend/listing hinzugefügt und dort die Datei index.tpl mit folgendem Inhalt eingefügt: {extends file=‘parent:frontend/listing/index.tpl’} {block name=“frontend_listing_index_text” append} {if !$hasEmotion && !$sSupplierInfo} {if $sCategoryInfo.attribute.attribute1 == “Topseller”} {action module=widgets controller=listing action=top_seller sCategory=$sCategoryContent.id} {/if} {/if} {/block} Die Topseller werden aber immer noch angezeigt. Was mache ich falsch? Danke für Eure Hilfe.

gibt´s hierfür eine Lösung?

Mir geht es darum die Topseller individuell in bestimmten Kategorien auszublenden. Grund: in der jeweiligen Kategorie sind z.B. nur 4 Produkte vorhanden. Da wird der Artikel doppelt (einmal im Topseller und dann im Artikellisting) angezeigt. Das ganze soll update sicher gestalltet sein. Daher bitte ich nochmals um Eure Hilfe. Vielen Dank

Du überschreibst vermutlich mit deinem Block in der default Datei. Diese wird dann im Emotion wieder mit dem Inhalt der Emotion Datei überschrieben. Versuche mal: {extends file="_emotion/frontend/listing/index.tpl"}

Hallo, mit append wird an den genannten Block ein weiterer Topseller-Slider angehangen und nicht der Inhalt im Template ersetzt. Damit ist auch der Aufruf ohne neue if-Abfrage erhalten geblieben. Der Inhalt des Blocks muss überschrieben werden. Das Tutorial beschreibt den Weg, die Änderungen direkt im emotion-Standardtemplate vorzunehmen. Das ist natürlich kein korrekt abgeleitetes emotion-Template mehr und nicht updatesicher. Durch die Angabe parent in der extend-Anweisung wird auf allen Standardtemplates aufgebaut und nicht nur auf _default. Das ist also vollkommen korrekt. Bei allen Änderungen zusätzlich testen, ob diese bei der Änderung der Sortierung im Kategorienlisting erhalten bleiben.

artelier: funktioniert nicht, da kommen nur Fehlermeldungen hth: auch das (wie oben angegeben) funktioniert nicht. Die Topseller sind immer noch zu sehen.

Hallo, @Dorsch74: selbstverständlich funktioniert es die Darstellung der Topseller selektiv nach Inhalt der Variablen $sCategoryInfo zu steuern, wenn man den Block überschreibt. Man kann hier ganz normal nach dem Vererbungsschema der Template-Engine vorgehen. Da muss irgendwo noch ein Fehler sein, wenn das nicht funktioniert. Ist die if-Anweisung korrekt, die Caches geleert? Viele Grüße H. Thomas (info@mycetome.de, IT & Media Consulting)

1 „Gefällt mir“

ich habe in der listing/index.tpl folgenden Inhalt: {extends file=‘parent:frontend/listing/index.tpl’} {block name=“frontend_listing_index_text” append} {if !$hasEmotion && !$sSupplierInfo} {if $sCategoryInfo.attribute.attribute1 == “Topseller”} {action module=widgets controller=listing action=top_seller sCategory=$sCategoryContent.id} {/if} {/if} {/block} Cache habe ich geleert. Dennoch werden alle Topseller angezeigt.

jetzt funktionierts, danke hth. wie von hth beschrieben ohne append in Zeile2 {extends file=‚parent:frontend/listing/index.tpl‘} {block name=„frontend_listing_index_text“} {if !$hasEmotion && !$sSupplierInfo} {if $sCategoryInfo.attribute.attribute1 == „Topseller“} {action module=widgets controller=listing action=top_seller sCategory=$sCategoryContent.id} {/if} {/if} {/block}