# Smarty-Modifier in PDF-Template

**URL:** <https://forum.shopware.com/t/smarty-modifier-in-pdf-template/55414>\
**Category:** Programmierung\
**Created:** [26. September 2018 um 12:07 UTC](https://forum.shopware.com/t/smarty-modifier-in-pdf-template/55414 "2018-09-26T12:07:26Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![hbee](https://avatars.discourse-cdn.com/v4/letter/h/f08c70/32.png) [@hbee](https://forum.shopware.com/u/hbee)\
**Post date:** [26. September 2018 um 12:07 UTC](https://forum.shopware.com/t/smarty-modifier-in-pdf-template/55414/1 "2018-09-26T12:07:26Z")

</div>

Hallo, ich habe mir einen eigenen smarty-modifier gebaut der innerhalb der normalen templates auch funktioniert. jetzt wollte ich diesen innerhalb eines Templates im “/themes/Frontend/MYTHEME/documents” verwenden. Also in einem Template zur PDF erstellung. Ich bekomme hier aber den fehler “unknown modifier”.

Muss ich den Modifier noch speziell für diese Template bekannt machen o.ä.?

&nbsp;

vielen Dank.

&nbsp;

&nbsp;

&nbsp;

---

<div class="post-metadata">

**Author:** ![area-net-gmbh](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/area-net-gmbh/32/21995_2.png) [@area-net-gmbh](https://forum.shopware.com/u/area-net-gmbh)\
**Post date:** [2. Dezember 2021 um 09:18 UTC](https://forum.shopware.com/t/smarty-modifier-in-pdf-template/55414/2 "2021-12-02T09:18:42Z")

</div>

Zwar schon ne Weile her. Das Problem ist, dass die Plugin-Verzeichnisse bei der Dokument-Erstellung nicht von Shopware gesetzt werden. Anbei die Lösung über ein eigenes Plugin:

dein-plugin-ordner/Resources/sevices.xml

```auto
<?xml version="1.0" ?>
<container xmlns="http://symfony.com/schema/dic/services"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
    <services>
       ...
        <service id="dein_plugin.subscriber.document_subscriber" class="DeinPlugin\Subscriber\DocumentSubscriber">
            <tag name="shopware.event_subscriber"/>
        </service>
    </services>
  ...
</container>

```

dein-plugin-ordner/Subscriber/DocumentSubscriber.php

```auto
<?php

namespace DeinPlugin\Subscriber;

use Enlight\Event\SubscriberInterface;
use Doctrine\ORM\Events;
use Shopware\Models\Shop\Shop;

class DocumentSubscriber implements SubscriberInterface
{

  public static function getSubscribedEvents()
  { return [
      'Shopware_Components_Document::initTemplateEngine::after' => 'onAfterInitTemplateEngine'
    ];
  }

  public function onAfterInitTemplateEngine(\Enlight_Event_EventArgs $args)
  {

    $document = $args->getSubject();

    $shop = Shopware()->Container()->get('shop');
    $inheritance = Shopware()->Container()->get('theme_inheritance');

    $document->_template->addPluginsDir(
      $inheritance->getSmartyDirectories($shop->getTemplate())
    );

  }
}

```
