Freitext auf alle Artikel anwenden?

Hallo Community, ich hoffe ihr könnt mir helfen. Und zwar sind in dem Shop vom Kunden schon hunderte Artikel angelegt worden. Jetzt muss dennoch bei jedem Artikel ein Zusatz dabei, und zwar “ACHTUNG: Nicht geeignet für Kinder unter 15 Jahren!” Dies sollte am besten unter/über der Bestell-Nummer ausgegeben werden. Dies kann ich bei einem einzelnen Artikel ja über den Freitext lösen. Aber wie mache ich das am besten bei hunderten Artikeln? Hoffe auf eine schnelle, positive Antwort :slight_smile: Grüße, Andreas

Hi Andreas, wie wäre es wenn du einen Textbaustein anlegst. Und dann die Artikeldetailansicht erweiterst und den Platzhalter für den Textbaustein einbaust. Gruß Wolfgang

Hallo Wolfgang, danke für die Antwort. Aber ich weiß nicht, wo ich dann was includen muss? Kann mir jemand kurz weiterhelfen? Grüße, Andreas

Hi Andreas, schau dir doch mal http://wiki.shopware.de/Templatedokumen … 4_713.html an. Abschnitt: zusätzlichen Inhalt einfügen: {* Erben der Detailseite *} {extends file=“frontend/detail/index.tpl”} {* Erweitern des Blocks *} {block name=“frontend_detail_index_name” prepend} Jetzt sparen!!! {/block} Oder mit append hinter dem Block einfügen. Anstelle “JETZT SPAREN” kann dein Text “ACHTUNG: Nicht geeignet für Kinder unter 15 Jahren!” stehen, oder du erstellst einen Textbaustein, damit der Redakteur diesen Text im Backend pflegen kannst. Bei der Textbausteinvorgehensweise und Syntax bin ich gerade selbst am lernen und kann dir noch keine Details sagen. Das geht mit Smarty Markern und Platzhalter. Ich muss mir das jetzt mal selbst genauer anschauen. Gruß Wolfgang

Hey, habe mir den Artikel jetzt mal angeschaut. Aber scheinbar bin ich zu doof. Ich denke die beiden Funktionen “append” und “prepend” sind für mich nützlich. Soweit so gut. Da steht jetzt ich soll erst einen ordner xx erstellen und eine Datei namens xx.tpl erstellen. Aber wo genau soll ich den Ordner erstellen? In welchem Template? Local? Default? In dem Template, welches ich benutze? Hoffe, die Frage ist jetzt nicht allzublöd :slight_smile:

In dem Tutorial wird das ganze Template System erklärt. Schau einfach mal von Anfang an durch. Das ist sicher hilfreich. Prinzipiell legst du alles in deinem im Shop verwendeten Template an. Da es sich um die Detailseite handelt und diese auch im Frontend ausgegeben wird in folgendem Ordner: frontend/detail/ Falls diese noch nicht in deinem Template sind musst du die natürlich anlegen. Dort legst du eine Datei index.tpl an und in dieser schreibst du den Code. Im Prinzip machst du nichts anderes als in deinem Template eine Kopie der DEFAULT Struktur und Datein anzulegen welche du ändern willst und dort überschreibst du dann das Original.

Hey, ja, das habe ich mir soweit durchgelesen. Alles klar und verständlich, aber: ich habe in meinem benutzten Template jetzt meine Ordner erstellt und auch die index.tpl. In dieser habe ich jetzt die „_frontend/detail/index.tpl“ geerbt. Dann spuckt er mir einen ellenlangen Fehlercode aus, der mit exception 'SmartyCompilerException' with message 'Syntax Error in template anfängt. Erbe ich aber z.B. nicht die index der Detailseite, sondern die vom normalen Index „frontend/index/index.tpl“ oder 404, dann geht es (wird halt nichts mehr im Artikelbereich angezeigt). Was mache ich falsch?

meistens ist so eine Fehlermeldung ein Hinweis auf Schreibfehler, zumindest bei mir. Leider endet dein Code bevor man etwas erkennen kann. Aber Du schreibst als Pfad zum DETAIL Template vererben: “_frontend/detail/index.tpl” eigentlich sollte da kein Unterstrich vorher stehen. Prüf das mal nach. Wenn du nur die Eigenschaften überschreibst langt es exakt den Code aus dem Tutorial einzugeben. Und dort wird der Pfad in der EXTENDS Anweisung ohne Unterstrich geschrieben. ALTERNATIVE: Ich selbst gehe her und kopiere mir den kompletten Ordner detail aus dem DEFAULT Template in mein Template hinein. Dann habe ich alles beisammen und muss nicht dauert durch die Ordner blättern wenn ich auf dem Server editiere oder etwas suche. Dann erweitere oder ändere ich NUR direkt in der index.tpl von DETAIL den jeweiligen Block. Denn dann ist ja schon alles in der index.tpl angelegt. Probiere das doch mal.

Danke für die Antwort. Habe es so “_frontend/detail/index.tpl” und so “frontend/detail/index.tpl” getestet. Wie gesagt, binde ich “frontend/index/index.tpl” oder “frontend/error/index.tpl” ein, gibt es keine Probleme. Hier ein Teil des Fehlercodes, der glaube ich der Fehler sein könnte: illegal recursive call of "frontend/detail/index.tpl"' in Grüße, Andreas

Laut Tutorial sollte es so geladen werden. Aber probiere dann doch mal meine Methode: Ich habe aus dem _default Template den gesamten Inhalt der frontend/detail/index.tpl kopiert und dann in meinTemplate in die dort erstellte frontend/detail/index.tpl kopiert. Dort habe ich dann die Änderung im jeweiligen Block eingefügt. Und es funktioniert. Ansonsten würde ich das {\* Erben der Detailseite \*} {extends file="frontend/detail/index.tpl"} so lasssen wie es funktioniert. Bei dir also: {\* Erben der Detailseite \*} {extends file="frontend/index/index.tpl"}

Ach ja da fällt mir noch eine Möglichkeit ein: {\* Detailseite des Mastertemplates erben \*} {extends file="../\_default/frontend/detail/index.tpl"} Porbier das mal aus Gruß Wolfgang

Hey, habe es jetzt wie „wpa“ gesagt hat gemacht. Habe es nun hinbekommen, wie ich es möchte. Habe die den Text einfach als Grafik eingepflegt. Sieht gut aus. Danke .)

Nicht gerade elegant, aber dennoch eine einfache Lösung, wenn es für alle Artikel ausgegeben werden soll: In deinem Template in der data.tpl einfach den Text unter die ordernummer setzen.