# Von Klasse AdditionalTextService die Methode buildTextDynamic Hooken

**URL:** <https://forum.shopware.com/t/von-klasse-additionaltextservice-die-methode-buildtextdynamic-hooken/55127>\
**Category:** Programmierung\
**Created:** [12. September 2018 um 11:19 UTC](https://forum.shopware.com/t/von-klasse-additionaltextservice-die-methode-buildtextdynamic-hooken/55127 "2018-09-12T11:19:51Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![ipsKenni](https://avatars.discourse-cdn.com/v4/letter/i/bb73d2/32.png) [@ipsKenni](https://forum.shopware.com/u/ipsKenni)\
**Post date:** [12. September 2018 um 11:19 UTC](https://forum.shopware.com/t/von-klasse-additionaltextservice-die-methode-buildtextdynamic-hooken/55127/1 "2018-09-12T11:19:51Z")

</div>

Hallo zusammen,

ich würde gerne die Private Methode buildTextDynamic in der Klasse AdditionalTextService Hooken.

(’`\engine\Shopware\Bundle\StoreFrontBundle\Service\Core\AdditionalTextService.php`’)

Ich bekomme ich es mit der [Standard Anleitung](https://developers.shopware.com/blog/2015/06/09/understanding-the-shopware-hook-system/) noch nicht gebacken.

Es wäre super wenn ich ein paar Anreize bekommen könnte wie ich das ganze angehen kann.

MfG,

ipsKenni

&nbsp;

---

<div class="post-metadata">

**Author:** ![shyim](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/shyim/32/7681_2.png) [@shyim](https://forum.shopware.com/u/shyim)\
**Post date:** [12. September 2018 um 11:30 UTC](https://forum.shopware.com/t/von-klasse-additionaltextservice-die-methode-buildtextdynamic-hooken/55127/2 "2018-09-12T11:30:13Z")

</div>

Du musst es dekorieren siehe dazu&nbsp;[Service extensions](https://developers.shopware.com/developers-guide/shopware-5-core-service-extensions/#decorating-an-existing-service)

---

<div class="post-metadata">

**Author:** ![ipsKenni](https://avatars.discourse-cdn.com/v4/letter/i/bb73d2/32.png) [@ipsKenni](https://forum.shopware.com/u/ipsKenni)\
**Post date:** [12. September 2018 um 13:03 UTC](https://forum.shopware.com/t/von-klasse-additionaltextservice-die-methode-buildtextdynamic-hooken/55127/3 "2018-09-12T13:03:13Z")

</div>

Hey,

danke für deine schnelle Antwort.

Ich habe das Beschriebene getestet komme aber eben nicht darauf was ist falsch mache.

Ordnerstruktur:

- TestCardAttribute.php
- Resources\service.xml
- Bundle\StoreFrontBundle\AdditionalTextService.php

&nbsp;

service.xml:

AdditionalTextService.php:

```
configuratorService = $configuratorService;
    }

    /**
     * {@inheritdoc}
     */
    public function buildAdditionalText(ListProduct $product, ShopContextInterface $context)
    {
        $products = $this->buildAdditionalTextLists([$product], $context);

        return array_shift($products);
    }

    /**
     * {@inheritdoc}
     */
    public function buildAdditionalTextLists($products, ShopContextInterface $context)
    {
        $required = [];
        foreach ($products as &$product) {
            if (!$product->getAdditional()) {
                $required[] = $product;
            }
        }

        if (empty($required)) {
            return $products;
        }

        $configurations = $this->configuratorService->getProductsConfigurations(
            $required,
            $context
        );

        /** @var $required ListProduct[] */
        foreach ($required as &$product) {
            if (!array_key_exists($product->getNumber(), $configurations)) {
                continue;
            }

            $config = $configurations[$product->getNumber()];

            $product->setAdditional($this->buildTextDynamic($config));
        }

        return $products;
    }

    /**
     * @param Group[] $configurations
     *
     * @return string
     */
    private function buildTextDynamic($configurations)
    {
        $text = [];
        foreach ($configurations as $group) {
            foreach ($group->getOptions() as $option) {
                $text[] = $option->getName();
            }
        }
        return implode(', ', $text);
    }
}

```

&nbsp;
