Replace CMS Data Resolver

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 :sleeping:

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“