exprimoexprimo MemberComments: 8 Received thanks: 0 Member since: February 20

Guten Tag

Ich möchte für einige ähnliche Artikel einen Teil der Produktbeschreibung (z. B. Pflegehinweise, Matrialbeschreibung, ...) gleich machen. Etwaige Anpasungen wären aber relativ aufwändig, weil ich dann jeweils ettliche Artikel bearbeiten müsste.

Ist es möglich, Textbausteine in Artikelbeschreibungen zu nutzen? Ich habe schon versucht, den Baustein über twig auszugeben, jeweils in der Beschreibung und im HTML Code der Beschreibung. Aber ich nehme an, dass das nicht mehr gerendert wird...

{{ "produkt.produktName.pflegeHinweise" | trans }}

Hat jemand einen Tip?

PS: Varianten kommen nicht in Frage. Die Artikel sind so ähnlich wie Fanta, Cola und Sprite und nicht Cola in der 1.5 l resp. der 0.5 l Flasche.

MfG

Answers

  • sschreiersschreier MemberComments: 3254 Received thanks: 894 edited February 25 Member since: August 2014

    Hallo,

    jein. Du könntest dir eine Art Platzhalter bauen, beispielsweise %PLEGEHINWEIS%, und dann über twig - replace ( https://twig.symfony.com/doc/3.x/filters/replace.html ) den Platzhalter durch einen Text ersetzen. Alternativ könntest du den Text auch vorher in einer Variable speichern, dessen Wert wiederum aus einem Textbaustein stammt, dann könntest du ihn auch über die Administration pflegen.

    Grüße

    Sebastian

    Thanked by 1exprimo
  • exprimoexprimo MemberComments: 8 Received thanks: 0 Member since: February 20

    Danke für deine Antwort, Sebastian. Wenn ich das richtig verstehe, ist deine Empfehlung, ein mini-Plugin zu schreiben, das das bewerkstelligt.

    Ich hatte gehofft, dass es das nicht braucht Foot-in-Mouth

    Danke trotzdem.

  • sschreiersschreier MemberComments: 3254 Received thanks: 894 edited February 25 Member since: August 2014

    Hallo,

    ein extra Plugin bräuchtest du in diesem Fall nicht, du könntest das beispielsweise auch im eigenen Theme - Plugin machen (das sollte man ja eigentlich eh schon haben, um irgendwelche Anpassungen vornehmen zu können wie in Shopware 5 das eigene Theme). Es wäre ja nur eine normale Twig - Template - Anpassung. Komplett nur über die Administration gehen die wenigsten Dinge.

    Grüße

    Sebastian

    Thanked by 1exprimo
  • exprimoexprimo MemberComments: 8 Received thanks: 0 Member since: February 20

    Guten Tag,

    ich habe nun ein Theme Plugin begonnen, dass die gewünschte Funktionalität hinzufügen sollte. Allerdings scheint meine Template Überschreibung nicht gefunden zu werden und ich weiss nicht mehr weiter. Das Plugin wird ohne Fehler installiet und aktiviert; auch keine Fehler (mehr) beim leeren des Caches.
    Kann mir jemand auf die Sprünge helfen? Ich habe das Gefühl, mir fehlt nur noch irgendwo ein "Link". Hier ein Repo mit dem Plugin:
    https://github.com/Orthopoxvirus/SnippetsAtFront

    Ich habe mich an diesen Seiten orientiert:
    https://docs.shopware.com/en/shopware-platform-dev-en/internals/plugins/plugin-quick-start
    https://docs.shopware.com/en/shopware-platform-dev-en/how-to/extending-storefront-block
    https://github.com/shopware/swag-docs-extending-block
    https://github.com/shopware/platform/blob/master/src/Core/Framework/DependencyInjection/services.xml#L272-L274
    https://github.com/shopware/platform/blob/6.1/src/Storefront/Resources/views/storefront/page/product-detail/description.html.twig
    https://github.com/shopware/platform/blob/6.1/src/Core/Framework/Adapter/Twig/FeatureFlagExtension.php
    https://stackoverflow.com/questions/10945200/twig-variables-in-twig-variable
     

    Beste Grüsse

    Michael

  • MoorleicheMoorleiche MemberComments: 328 Received thanks: 75 Member since: August 2019

    Hey, also ich würde es so lösen (Mini Plugin / Theme unterscheidet sich eigentlich nicht, mach lieber ein mini Plugin)

    1. Du legst Beim Produkt ein Freitextfeld -> Checkbox ob bestimmte Hinweis-Snippets aktiv sind (Optimal automatisch beim Installieren des Mini-Plugins)

    2. Im Plugin legst du die Snippets an und registrierst die in der services.xml

    3. im Twig Template einfach stupide if-Abfrage ob ein Freitextfeld 1 oder 0 ist und dann die Snippets includen oder nicht.

    4. Übersetzungen machst du im Backend bei den Textbausteinen

    VG

     

  • exprimoexprimo MemberComments: 8 Received thanks: 0 Member since: February 20

    Hey, also ich würde es so lösen (Mini Plugin / Theme unterscheidet sich eigentlich nicht, mach lieber ein mini Plugin)

    1. Du legst Beim Produkt ein Freitextfeld -> Checkbox ob bestimmte Hinweis-Snippets aktiv sind (Optimal automatisch beim Installieren des Mini-Plugins)

    2. Im Plugin legst du die Snippets an und registrierst die in der services.xml

    3. im Twig Template einfach stupide if-Abfrage ob ein Freitextfeld 1 oder 0 ist und dann die Snippets includen oder nicht.

    4. Übersetzungen machst du im Backend bei den Textbausteinen

    VG

     

    Guten Tag

    Ich weiss jetzt nicht, ob wir uns richtig verstehen. Das Mini-Plugin habe ich bereits gemacht, mein überschreibendes Template für die Produktbeschreibung wird aber nicht angewendet/gefunden. Siehe git Repo: https://github.com/Orthopoxvirus/SnippetsAtFront

    Das Plugin funktioniert so, dass durch einen neuen Twig Filter (evaluate) der Inhalt von Twig Variabeln als Twig Code ausgewertet werden. So können Textbausteine einfach mit {{'dein.textbaustein' | trans}} in der Produktbeschreibung verwendet und über die Administration gepflegt werden. Weitere Arbeiten, wie das Anlegen von verschiedenen Platzhaltern und Variablen in Templates, entfällt. Auch benötige ich so keine zusätzlichen Felder in der Administration.

    Oder soll ich dazu einen neuen Thread im Forum eröffnen, da es sich ja nicht um die ursprüngliche Frage handelt?

    Viele Grüsse
    Michael

     

  • MoorleicheMoorleiche MemberComments: 328 Received thanks: 75 Member since: August 2019

    HI Michael, ein interessanter Ansatz mit den Twig-Variablen in der Produkt-Beschreibung ;)

    Das Mini-Plugin habe ich bereits gemacht, mein überschreibendes Template für die Produktbeschreibung wird aber nicht angewendet/gefunden.

    Du hast aktuell ein Theme - kein Plugin. Du musst also das Theme deinem Saleschannel zuweisen damit überhaupt etwas passiert. Würde hier ansetzen und das Theme zu einem Plugin ändern.

    https://github.com/Orthopoxvirus/SnippetsAtFront/blob/master/src/theme.json

    https://github.com/Orthopoxvirus/SnippetsAtFront/blob/master/src/SnippetsAtFront.php#L8

    VG

     

    Thanked by 1exprimo
  • enbitconenbitcon MemberComments: 24 Received thanks: 1 Member since: February 2015

    Hi,

    habt ihr hier eine Plugin Lösung gefunden, welche Ihr eventuell auch zur Verfügung stellen möchtet?
    Wir hätten das selbe Problem (z.Bsp. Lizenzbeschreibungen an 100ten Stellen).

    Das ist ein der Funktionen was ich bei Oxis sehr nice fand.

    Würde mich sehr übr ein Feedback freuen.
     

  • exprimoexprimo MemberComments: 8 Received thanks: 0 edited July 20 Member since: February 20

    Guten Morgen,

    Ja, ich habe ein kleines Plugin erstellt. Den Source Code findest du hier: https://github.com/Orthopoxvirus/SnippetsUpFront
    Ich habe leider im Moment nicht wirklich viel Zeit, deshalb ist es nicht registriert und Du müsstest es "von Hand" installieren und nicht über den Plugin Store.

    Ich hoffe, das hilft euch und viel Erfolg!

    Beste Grüsse
    Michael

  • enbitconenbitcon MemberComments: 24 Received thanks: 1 Member since: February 2015

    Hi Michael,

    vielen vielen Dank - habe leider gerade erst gesehen, dass du mir geantwortet hast.

    Eine kurze Frage habe ich noch. Den Textbaustein kann ich wahrscheinlich nicht einfach in die Produktbeschreibung integreiren, sonder muss im Theme an der passenden Stelle den Code einbetten, richtig?

    Vielen Dnak im Voraus und BG

    Marcel

  • exprimoexprimo MemberComments: 8 Received thanks: 0 Member since: February 20

    Guten Morgen

    Nein, die Textbausteine können einfach im Beschreibungsfeld eingebettet werden. Man muss nur darauf achten, dass das HTML im Textbaustein sauber aufgebaut ist. Hier ein Screenshot eines typischen Beschreibungsfeldes:

    image

    Und hier ein Textbaustein:

    image
    Für solche Abschnitte gebe ich den Inhalt üblicherweise im Beschreibungsfeld ein un kopiere das generierte HTML in den Textbaustein.

    Ich hoffe, das beantwortet deine Frage.

    Beste Grüsse
    Michael

  • enbitconenbitcon MemberComments: 24 Received thanks: 1 Member since: February 2015

    Guten Morgen,

    vielen Dank für die Erklärung

    Bei uns klappt es leider nicht

    Anbei der Textbaustein

     

    image

    Und hier in der Artikelbeschreibung (Testweise mal ganz oben)

    image

    An der Stelle wird nichts angezeigt

    Musste allerdings im Plugin etwas ändern von Shopware 6.1.* auf 6.3.*

    Zufällig noch ne Idee woran es liegen könnte.

  • enbitconenbitcon MemberComments: 24 Received thanks: 1 Member since: February 2015

    ok - in einerm anderen Shop klappt es.

    Vergess was ich geschrieben habe :)

    Vielen Dank!

  • mse_dietmarmse_dietmar MemberComments: 6 Received thanks: 0 Member since: August 12

    Guten Morgen,

    Ja, ich habe ein kleines Plugin erstellt. Den Source Code findest du hier: https://github.com/Orthopoxvirus/SnippetsUpFront
    Ich habe leider im Moment nicht wirklich viel Zeit, deshalb ist es nicht registriert und Du müsstest es "von Hand" installieren und nicht über den Plugin Store.

    Ich hoffe, das hilft euch und viel Erfolg!

    Beste Grüsse
    Michael

    Hi,

    leider ist der Link mittlerweile tot. Gibt es eine Möglichkeit sich das noch mal anzusehen? Wollte mir gerade was ähnliches bauen.

    Lg

  • mse_dietmarmse_dietmar MemberComments: 6 Received thanks: 0 Member since: August 12

    War vielleicht ein Problem seitens Github... Funktioniert jetzt wieder.. Danke :)

  • exprimoexprimo MemberComments: 8 Received thanks: 0 Member since: February 20

    Ich finde es super, wie sich hier alle Probleme von selbst lösen

  • cbmcbm MemberComments: 31 Received thanks: 0 Member since: June 2019

    Leider läuft es nicht mit Shopware 6.3...

    Gibt es eine Lösung?

Sign In or Register to comment.