Liebes Forum
ich habe mal eine vielleicht ein bisschen simple Frage zu smarty in shopware. Wenn ich zum Beispiel den foldenden Blok in meinem Theme überschreibe:
{block name=“frontend_listing_list_inline”}
{foreach $sArticles as $Article}
{include file=“frontend/listing/box_article.tpl”}
{/foreach}
{/block}
Was ist dann mit der eingebundenen Datei box-article.tpl?
Muss sie dann auch in dem Theme-Ordner liegen, auch wenn man an ihr keine Änderungen vornimmt?
Was ist wenn man in der box-article.tpl z.B. nur einen Block ändern will?
Jedenfalls klappt das mit diesem Block nicht.
Liebe Grüße
Kerstin
Nein sie muss nicht im Theme integriert werden. Shopware sucht sich die passende Date in „Bare“ wenn diese nicht im Theme enthalten ist. Wenn du einen Block in der Datei ändern willst, dann musst du diese Datei in dein Theme legen und dort die Änderung vornehmen. Entweder durch überschreiben der kompletten Datei oder eines bestimmten Blockes (extends)
Vielen Dank für die Antwort. Ja, so habe ich bisher auch gedacht. Und es auch so gemacht. Funktioniert nur in diesem Falle nur leider nicht
Dann verstehe ich die Frage nicht… Du willst also einen block aus box_article überschreiben?! Oder willst du den oben geposteten include überschreiben? Was ist dein Ziel?
Viele Grüße
Mein Ziel ist es, vor das foreach noch eine Abfrage zu setzen. Das kann ich natürlich mit prepend machen und dann funktioniert es auch.
Die Frage ist mehr prinzipieller Natur. Wenn ich mit dem Theme einen Block wie oben exakt wie im Original überschreibe dürfte sich ja eigentlich nichts ändern. Tut es aber. Und ich würde gerne wissen warum das so ist.
Kannst du mal die Dateistruktur grob und deine Programmierung im Detail posten?
Wenn du oben den block überschreibst und 1 zu 1 in dein Theme übernimmst, dann wird - wie mit jedem anderen Template auch - die Datei “frontend/listing/box_article.tpl” gesucht - und zwar in der korrekten Vererbungsreihenfolge.
Viele Grüße