# Eigenes Email-Template installieren...

**URL:** <https://forum.shopware.com/t/eigenes-email-template-installieren/21680>\
**Category:** Shopware 3.5\
**Tags:** programming\
**Created:** [3. August 2014 um 10:18 UTC](https://forum.shopware.com/t/eigenes-email-template-installieren/21680 "2014-08-03T10:18:50Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Trimension](https://avatars.discourse-cdn.com/v4/letter/t/7feea3/32.png) [@Trimension](https://forum.shopware.com/u/Trimension)\
**Post date:** [3. August 2014 um 10:18 UTC](https://forum.shopware.com/t/eigenes-email-template-installieren/21680/1 "2014-08-03T10:18:50Z")

</div>

So, nun habe ich herausgefunden, wie ich ein Email-Template aufrufe, mit Daten fülle und absende… so weit so gut… Aber wie kann ich in meinem Plugin ein Email-Template installieren ? Es soll nach der Installation des Plugins in den Email Vorlagen unter User-Emails erscheinen. Jemand ne Idee ? Ist das irgendwo dokumentiert ? Hab hier nix gefunden… Beste Grüße Jürgen

---

<div class="post-metadata">

**Author:** ![EikeBrandtWarneke](https://avatars.discourse-cdn.com/v4/letter/e/cdc98d/32.png) [@EikeBrandtWarneke](https://forum.shopware.com/u/EikeBrandtWarneke)\
**Post date:** [3. August 2014 um 12:01 UTC](https://forum.shopware.com/t/eigenes-email-template-installieren/21680/2 "2014-08-03T12:01:24Z")

</div>

Aus der Wühlkiste: ` // read from our files $content = file\_get\_contents( $this-\>Path() . "Install/email\_template\_content.txt" ); $html = file\_get\_contents( $this-\>Path() . "Install/email\_template\_html.txt" ); // create a new object $mail = new \Shopware\Models\Mail\Mail(); // set all parameters $mail-\>setName( $name ); $mail-\>setFromMail( "{config name=mail}" ); $mail-\>setFromName( "{config name=shopName}" ); $mail-\>setSubject( "Überschrift {config name=shopName}" ); $mail-\>setContent( $content ); $mail-\>setContentHtml( $html ); $mail-\>setIsHtml( true ); $mail-\>setMailtype( 1 ); $mail-\>setContext( null ); // save it Shopware()-\>Models()-\>persist( $mail ); Shopware()-\>Models()-\>flush();` Viele Grüße

---

<div class="post-metadata">

**Author:** ![Trimension](https://avatars.discourse-cdn.com/v4/letter/t/7feea3/32.png) [@Trimension](https://forum.shopware.com/u/Trimension)\
**Post date:** [3. August 2014 um 14:53 UTC](https://forum.shopware.com/t/eigenes-email-template-installieren/21680/3 "2014-08-03T14:53:00Z")

</div>

Vielen Dank… das funktioniert super… und wie bekomm ich das wieder wech ? Wenn das Plugin deinstalliert wird, dann soll auch das Template entfernt werden. Um es löschen zu können muß ich es zunächst lesen, brauch dazu aber die id … Ich hab aber nur den Namen. `$mail = Shopware()-\>Models()-\>find('\Shopware\Models\Mail\Mail', ???); if(!is\_null($mail)) Shopware()-\>Models()-\>remove($mail);` Vielleicht noch nen Tipp aus der Wühlkiste ?

---

<div class="post-metadata">

**Author:** ![EikeBrandtWarneke](https://avatars.discourse-cdn.com/v4/letter/e/cdc98d/32.png) [@EikeBrandtWarneke](https://forum.shopware.com/u/EikeBrandtWarneke)\
**Post date:** [3. August 2014 um 15:25 UTC](https://forum.shopware.com/t/eigenes-email-template-installieren/21680/4 "2014-08-03T15:25:05Z")

</div>

Da würde ich nach dem Namen gehen, da der idR. nicht geändert wird. ` $mail = Shopware()-\>Models()-\>getRepository( '\Shopware\Models\Mail\Mai' )-\>findOneBy( array( 'name' =\> "der name der mail" ) ); ` Viele Grüße

---

<div class="post-metadata">

**Author:** ![Trimension](https://avatars.discourse-cdn.com/v4/letter/t/7feea3/32.png) [@Trimension](https://forum.shopware.com/u/Trimension)\
**Post date:** [3. August 2014 um 15:57 UTC](https://forum.shopware.com/t/eigenes-email-template-installieren/21680/5 "2014-08-03T15:57:19Z")

</div>

Nochmals vielen Dank… ich hab das etwas umständlicher gelöst: ` $builder = Shopware()-\>Models()-\>createQueryBuilder(); $builder-\>select(array('mail'))-\>from('Shopware\Models\Mail\Mail', 'mail')-\>where('mail.name = :mailName'); $builder-\>setParameter('mailName', Constants::EMAIL\_TEMPLATE\_PROT); $mail = $builder-\>getQuery()-\>getOneOrNullResult(); ` Die Lösung über das Repository ist aber schöner und wird gleich mal ausprobiert… Beste Grüße Jürgen
