Ich würde gerne diesen Resolver ersetzen: Shopware\Core\Content\Cms\DataResolver\Element\TextCmsElementResolver
Über die reguläre Methode in der services.xml
geht das leider nicht:
<service id="Shopware\Core\Content\Cms\DataResolver\Element\TextCmsElementResolver" class="MyPlugin\Core\Content\Cms\DataResolver\Element\TextCmsElementResolver">
<tag name="shopware.cms.data_resolver"/>
</service>
Ich würde gerne das CMS Text-Element filtern, bzw. den Text darin. Um z.B. Markdown zu ermöglichen oder nach irgendwas spezifischem zu filtern. Wie stelle ich das am besten an?
Nein, was soll mir das bringen? Was haben CMS-Elemente mit E-Mail Versand zu tun?
Sorry, dachte du hättest ein Problem mit einer Abstrakten Klasse. Ist aber gar nicht der Fall.
Wie kann ich ein CMS-Element decoraten? Geht das überhaupt?
Also ich kann auch auf dem Page Loader Event einfach alle Slots loopen und filtern aber ich würde es lieber auf der Model-Ebene, also direkt beim laden, machen.
Did you have a fix on this issue? I am facing the same issue last time but no response from anyone.
rapidfs
no solution yet
will do it in the Page Loader Event until I know how to do this properly
@AlexGalax Ich kenne nur den Weg den Serivce in der service.xml komplett zu überschreiben. Ist aber auch nicht optimal, da man alle privaten Funktionien kopieren und einfügen muss…
Aber seit deiner letzten Antwort ist ja einige Zeit vergangen, hast du hierzu mittlerweile einen passablen Weg gefunden?
Edit:
Hier findet sich alles zum Thema, man kann einfach einen zusätzlichen Resolver programmieren, welcher die Daten holt: Add data to CMS element - Shopware Developer
Ich überschreibe den Resolver
<service id="MyTheme\Core\Content\Cms\DataResolver\Element\TextCmsElementResolver"
decorates="Shopware\Core\Content\Cms\DataResolver\Element\TextCmsElementResolver">
<argument type="service"
id="MyTheme\Core\Content\Cms\DataResolver\Element\TextCmsElementResolver.inner" />
</service>
1 „Gefällt mir“