# backend formular und email erweitern

**URL:** <https://forum.shopware.com/t/backend-formular-und-email-erweitern/30833>\
**Category:** Programmierung\
**Created:** [24. September 2015 um 11:47 UTC](https://forum.shopware.com/t/backend-formular-und-email-erweitern/30833 "2015-09-24T11:47:08Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![wontfix](https://avatars.discourse-cdn.com/v4/letter/w/b19c9b/32.png) [@wontfix](https://forum.shopware.com/u/wontfix)\
**Post date:** [24. September 2015 um 11:47 UTC](https://forum.shopware.com/t/backend-formular-und-email-erweitern/30833/1 "2015-09-24T11:47:08Z")

</div>

wir möchten die backend formular editor um eine „mail header“ feld erweitern, daher: [list] [\*] wie erweitert man die backend formular editor?[/\*] [\*] wie erweitert man die formular email?[/\*][/list] ich hab mit hinweisen von hier und da was basteln können, was ein datenbank feld addiert und in die backend formular editor ein feld addiert. es speichert aber die werte von backend editor nicht… Backend/HolabeFormMailHeader/Bootstrap.php [code]\<?php class Shopware\_Plugins\_Backend\_HolabeFormMailHeader\_Bootstrap  
extends Shopware\_Components\_Plugin\_Bootstrap  
{  
public function getVersion()  
{  
return ‚0.0.1‘;  
}

```
public function getLabel()
{
    return 'Form Mail Header';
}

public function install()
{
    $this->createAttributes(); $this-\>subscribeEvent( "Enlight\_Controller\_Action\_PostDispatch\_Backend\_Form", "onLoadForm" ); return true; } public function uninstall() { $this-\>removeAttributes(); return true; } protected function getEntityManager() { return Shopware()-\>Models(); } private function createAttributes() { $this-\>Application()-\>Models()-\>addAttribute( 's\_cms\_support\_attributes', 'holabe', 'mail\_header', 'varchar(100)', true, null ); $this-\>getEntityManager()-\>generateAttributeModels(['s\_cms\_support\_attributes']); } private function removeAttributes() { $this-\>Application()-\>Models()-\>removeAttribute( 's\_cms\_support\_attributes', 'holabe', 'mail\_header' ); $this-\>getEntityManager()-\>generateAttributeModels(['s\_cms\_support\_attributes']); } public function onLoadForm(Enlight\_Event\_EventArgs $args) { $view = $args-\>getSubject()-\>View(); $view-\>addTemplateDir($this-\>Path().'Views/'); $view-\>extendsTemplate('backend/model.js'); $view-\>extendsTemplate('backend/view.js'); } } [/code] Backend/HolabeFormMailHeader/Views/backend/model.js [code] //{block name="backend/form/model/form/fields" append} { name: 'holabeMailHeader', type: 'string' }, //{/block} [/code] Backend/HolabeFormMailHeader/Views/backend/view.js [code] //{block name="backend/form/view/main/formpanel" append} Ext.override(Shopware.apps.Form.view.main.Formpanel, { getItems: function() { var me = this; var elements = me.callParent(arguments); elements = Ext.Array.insert(elements, 1, [{ xtype:'textfield', name: 'holabeMailHeader', anchor: '98%', fieldLabel:'eMail Header', translatable: true, helpText: 'Additional e-mail headers' }]); return elements; } }); //{/block} [/code]
```

---

<div class="post-metadata">

**Author:** ![wontfix](https://avatars.discourse-cdn.com/v4/letter/w/b19c9b/32.png) [@wontfix](https://forum.shopware.com/u/wontfix)\
**Post date:** [25. September 2015 um 11:47 UTC](https://forum.shopware.com/t/backend-formular-und-email-erweitern/30833/2 "2015-09-25T11:47:24Z")

</div>

juhuu, diese community seite [http://community.shopware.com/Schuhgr%C … \_1052.html](http://community.shopware.com/Schuhgr%C3%B6%C3%9Fen-Erweiterung%5C_detail%5C_1052.html) ist genau was ich gesucht habe und jetzt funktioniert auch das speichern. hier die lösungen für vorherige code: in Backend/HolabeFormMailHeader/Views/backend/model.js ` //{block name="backend/form/model/attribute/fields" append} ` statt ` //{block name="backend/form/model/form/fields" append} ` und in Backend/HolabeFormMailHeader/Views/backend/view.js ` name: 'attribute[holabeMailHeader]', ` statt ` name: 'holabeMailHeader', ` jetzt mach ich mich dann auf die suche wie man diesen wert in die email header addiert…

---

<div class="post-metadata">

**Author:** ![wontfix](https://avatars.discourse-cdn.com/v4/letter/w/b19c9b/32.png) [@wontfix](https://forum.shopware.com/u/wontfix)\
**Post date:** [25. September 2015 um 13:30 UTC](https://forum.shopware.com/t/backend-formular-und-email-erweitern/30833/3 "2015-09-25T13:30:59Z")

</div>

oh yeah, email header addiert! bin aber nicht ganz sicher ob das holen der holabeMailHeader so umständlich sein muss, aber es scheint zu funktionieren… Backend/HolabeFormMailHeader/Bootstrap.php ` ... public function install() { ... $this-\>subscribeEvent( "Shopware\_Controllers\_Frontend\_Forms\_commitForm\_Mail", "onCommitForm" ); ... } ... public function onCommitForm(Enlight\_Event\_EventArgs $args) { $content = $args-\>getSubject()-\>View()-\>sSupport; $form = Shopware()-\>Models() -\>getRepository('Shopware\Models\Form\Form') -\>findOneById($content["id"]) ; $extraHeader = $form-\>getAttribute()-\>getHolabeMailHeader(); if (!empty($extraHeader)) { $mail = $args-\>getReturn(); $headers = explode(";", $extraHeader); foreach ($headers as $header) { $parts = explode(":", $header); if (isset($parts[0]) && isset($parts[1])) { $mail-\>addHeader($parts[0], $parts[1]); } } $args-\>setReturn($mail); } } `

---

<div class="post-metadata">

**Author:** ![wontfix](https://avatars.discourse-cdn.com/v4/letter/w/b19c9b/32.png) [@wontfix](https://forum.shopware.com/u/wontfix)\
**Post date:** [28. September 2015 um 11:14 UTC](https://forum.shopware.com/t/backend-formular-und-email-erweitern/30833/4 "2015-09-28T11:14:52Z")

</div>

tja, doch nicht wirklich richtig. wenn ich eine zweite plugin genau so mache wie hier, wird nur das feld von der ersten plugin in backend angezeigt… und es kommt nirgends fehlermeldungen… \*sigh\*
