# Twig Filter html\_entity\_decode integrieren

**URL:** <https://forum.shopware.com/t/twig-filter-html-entity-decode-integrieren/90742>\
**Category:** Shopware 6 (German)\
**Created:** [7. Oktober 2021 um 08:45 UTC](https://forum.shopware.com/t/twig-filter-html-entity-decode-integrieren/90742 "2021-10-07T08:45:31Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![CHSB](https://avatars.discourse-cdn.com/v4/letter/c/b3f665/32.png) [@CHSB](https://forum.shopware.com/u/CHSB)\
**Post date:** [7. Oktober 2021 um 08:45 UTC](https://forum.shopware.com/t/twig-filter-html-entity-decode-integrieren/90742/1 "2021-10-07T08:45:31Z")

</div>

Wo kann ich diesen Filter aktivieren/integrieren? Finde leider keinen Anhaltspunkt. Möchte das auf der Detailseite in der Beschreibung html entities entfernt werden, die aus meiner WaWi übertragen werden.

Würde mich über Hilfe sehr freuen.

---

<div class="post-metadata">

**Author:** ![f.mertens](https://avatars.discourse-cdn.com/v4/letter/f/7993a0/32.png) [@f.mertens](https://forum.shopware.com/u/f.mertens)\
**Post date:** [7. Oktober 2021 um 09:50 UTC](https://forum.shopware.com/t/twig-filter-html-entity-decode-integrieren/90742/2 "2021-10-07T09:50:36Z")

</div>

Wahrscheinlich muss du dir einen eigenen Filter schreiben.  
Mir hat damals dieser Thread dabei geholfen:

> [@Eigener Twig Modifier](https://forum.shopware.com/t/eigener-twig-modifier/62680/4):
>
> [@Michael Telgmann schrieb:](https://forum.shopware.com/profile/17553/Michael%20Telgmann "Michael%20Telgmann") Hallo, da wir Twig im Standard verwenden, sollte diese Doku dir weiter helfen:&nbsp;[https://symfony.com/doc/current/templating/twig\_extension.html](https://symfony.com/doc/current/templating/twig_extension.html) Du kannst dich auch an die Shopware eigenen Extensions halten:&nbsp;[https://github.com/shopware/platform/tree/master/src/Core/Framework/Twig](https://github.com/shopware/platform/tree/master/src/Core/Framework/Twig) Viele Grüße aus Schöppingen [cool]&nbsp;Michael Telgmann Hallo Michael, Ok das ist schon mal ein erster Ansatz. Wie genau ist die Konvention um einen eigenen Twig Modifier in ein Plugin zu i…

---

<div class="post-metadata">

**Author:** ![CHSB](https://avatars.discourse-cdn.com/v4/letter/c/b3f665/32.png) [@CHSB](https://forum.shopware.com/u/CHSB)\
**Post date:** [7. Oktober 2021 um 11:52 UTC](https://forum.shopware.com/t/twig-filter-html-entity-decode-integrieren/90742/3 "2021-10-07T11:52:19Z")

</div>

Leider geht der github Link nicht mehr.

---

<div class="post-metadata">

**Author:** ![CHSB](https://avatars.discourse-cdn.com/v4/letter/c/b3f665/32.png) [@CHSB](https://forum.shopware.com/u/CHSB)\
**Post date:** [7. Oktober 2021 um 12:34 UTC](https://forum.shopware.com/t/twig-filter-html-entity-decode-integrieren/90742/4 "2021-10-07T12:34:32Z")

</div>

new TwigFilter(‚html\_entity\_decode‘, ‚html\_entity\_decode‘, [‚is\_safe‘ =\> [‚html‘]]),

Diesen Filter müßte ich in meinem Theme einbinden, dann läuft alles, was ich brauche. Evtl. kann mir hier noch jemand helfen.

---

<div class="post-metadata">

**Author:** ![f.mertens](https://avatars.discourse-cdn.com/v4/letter/f/7993a0/32.png) [@f.mertens](https://forum.shopware.com/u/f.mertens)\
**Post date:** [8. Oktober 2021 um 08:57 UTC](https://forum.shopware.com/t/twig-filter-html-entity-decode-integrieren/90742/5 "2021-10-08T08:57:45Z")

</div>

Deine service.xml muss du erweitern:

```auto
<service id="ThemeNamespace\Twig\Filter\KlassenName" >
            <tag name="twig.extension" />
        </service>

```

Und dann die Klasse erstellen „ThemeNamespace\Twig\Filter\KlassenName.php“

```auto
<?php

namespace ThemeNamespace\Twig\Filter;

use Twig\Extension\AbstractExtension;
use Twig\TwigFilter;

class JsonDecodeFilter extends AbstractExtension
{
    public function getFilters(): array
    {
        return [
            new TwigFilter(‚html_entity_decode‘, ‚html_entity_decode‘, [‚is_safe‘ => [‚html‘]]),
        ];
    }

}

```

---

<div class="post-metadata">

**Author:** ![CHSB](https://avatars.discourse-cdn.com/v4/letter/c/b3f665/32.png) [@CHSB](https://forum.shopware.com/u/CHSB)\
**Post date:** [15. Februar 2022 um 16:04 UTC](https://forum.shopware.com/t/twig-filter-html-entity-decode-integrieren/90742/6 "2022-02-15T16:04:56Z")

</div>

Da es in meinem Theme nicht funktioniert hat, hatte ich das Ganze mal im Core getestet, mit Erfolg. Leider geht es seit dem heutigen Update auf die Version 6.4.8.1 nicht mehr.

Bevor Fragen aufkommen, ich habe die Änderung natürlich wieder im Core gemacht:

ReplaceRecursiveFilter.php

```auto
<?php declare(strict_types=1);

namespace Shopware\Core\Framework\Adapter\Twig\Filter;

use Twig\Extension\AbstractExtension;
use Twig\TwigFilter;

class ReplaceRecursiveFilter extends AbstractExtension
{
    public function getFilters(): array
    {
        return [
            new TwigFilter('replace_recursive', [$this, 'replaceRecursive']),
            new TwigFilter('html_entity_decode', 'html_entity_decode', ['is_safe' => ['html']]),
        ];
    }

    public function replaceRecursive(array ...$params): array
    {
        return array_replace_recursive(...$params);
    }
}

```

Im Pfad: /dev\_sw6/vendor/shopware/core/Framework/Adapter/Twig/Filter

Hat sich etwas bei Shopware geändert?

---

<div class="post-metadata">

**Author:** ![moschadr](https://avatars.discourse-cdn.com/v4/letter/m/65b543/32.png) [@moschadr](https://forum.shopware.com/u/moschadr)\
**Post date:** [15. Februar 2022 um 16:18 UTC](https://forum.shopware.com/t/twig-filter-html-entity-decode-integrieren/90742/7 "2022-02-15T16:18:54Z")

</div>

```auto
{{ beschreibung|e }}
oder
{{ beschreibung|e('html') }}

```

funktioniert wohl nicht? Das entspricht etwa dem **htmlspecialchars** aus php

---

<div class="post-metadata">

**Author:** ![CHSB](https://avatars.discourse-cdn.com/v4/letter/c/b3f665/32.png) [@CHSB](https://forum.shopware.com/u/CHSB)\
**Post date:** [17. Februar 2022 um 11:15 UTC](https://forum.shopware.com/t/twig-filter-html-entity-decode-integrieren/90742/8 "2022-02-17T11:15:04Z")

</div>

Du meinst (zum Test) in der description.html.twig

```auto
{{ product.translated.description|e }}

```

Wenn ja, funktioniert das leider nicht.

---

<div class="post-metadata">

**Author:** ![CHSB](https://avatars.discourse-cdn.com/v4/letter/c/b3f665/32.png) [@CHSB](https://forum.shopware.com/u/CHSB)\
**Post date:** [15. August 2022 um 14:57 UTC](https://forum.shopware.com/t/twig-filter-html-entity-decode-integrieren/90742/9 "2022-08-15T14:57:58Z")

</div>

Hat dieses Problem denn niemand? Der Filter scheint einfach nicht mehr zu funktionieren.

---

<div class="post-metadata">

**Author:** ![CHSB](https://avatars.discourse-cdn.com/v4/letter/c/b3f665/32.png) [@CHSB](https://forum.shopware.com/u/CHSB)\
**Post date:** [13. September 2022 um 10:07 UTC](https://forum.shopware.com/t/twig-filter-html-entity-decode-integrieren/90742/10 "2022-09-13T10:07:10Z")

</div>

Langsam werde ich hier wirklich etwas verrückt. Hatte zuletzt die Version 6.4.10, damit konnte ich in der description.html.twig

{{ page.product.translated.description|html\_entity\_decode }}

Setzen, und damit lief alles super, so wie es soll, und das ohne einen eigenen Twig Filter einbinden zu müssen. Hab das dann in meinem Theme entsprechend geändert, alles toll. Jetzt ein Update auf 6.4.14.0 gemacht, und wieder geht nichts mehr, {{ page.product.translated.description|html\_entity\_decode }} wirft jetzt die Fehlermeldung auf der Detailseite raus, das etwas schief gelaufen ist. {{ page.product.translated.description|raw }} ist ja standard, und damit funktioniert es wie gewohnt, nur eben nicht, wie ich es brauche.

Warum wird hier ständig etwas geändert?

---

<div class="post-metadata">

**Author:** ![Mike\_W](https://avatars.discourse-cdn.com/v4/letter/m/a87d85/32.png) [@Mike\_W](https://forum.shopware.com/u/Mike_W)\
**Post date:** [28. Juni 2023 um 14:28 UTC](https://forum.shopware.com/t/twig-filter-html-entity-decode-integrieren/90742/11 "2023-06-28T14:28:18Z")

</div>

Ich habe das selbe Problem. Wie kann man |html\_entity\_decode im Shopware twig nutzen?
