# Smarty|rewrite funktioniert nicht

**URL:** <https://forum.shopware.com/t/smarty-rewrite-funktioniert-nicht/44445>\
**Category:** Programmierung\
**Created:** [13. März 2017 um 15:14 UTC](https://forum.shopware.com/t/smarty-rewrite-funktioniert-nicht/44445 "2017-03-13T15:14:14Z")\
**Posts on this page:** 17\
**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:** [13. März 2017 um 15:14 UTC](https://forum.shopware.com/t/smarty-rewrite-funktioniert-nicht/44445/1 "2017-03-13T15:14:14Z")

</div>

hi, ich habe einen eigenen Widget-Controller. Im Template möchte ich mir Artikel-Links ausgeben lassen. Das funktioniert soweit bis auf das Umschreiben der Links. &nbsp;Hier werden nur Links wie&nbsp;

shopware.php?sViewport=detail&sArticle=15&sCategory=4

ausgegeben. Leider keine SEO-Urls.

Mein Template sieht wie folgt aus:

```
{$sArticle.linkDetails|rewrite:$sArticle.articleName}

```

Alle Caches sind geleert. Was mache ich falsche? oder steht das rewrite im Widget nicht&nbsp;zur Verfügung? Im Listing etc. werden die Urls ganz normal und korrekt ausgegeben.

&nbsp;

---

<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:** [13. März 2017 um 15:55 UTC](https://forum.shopware.com/t/smarty-rewrite-funktioniert-nicht/44445/2 "2017-03-13T15:55:22Z")

</div>

ok, ich habe jetzt noch mal ein bisschen rumprobiert.

Wenn ich das in einem a-Tag ausgebe, wird der link umgeschrieben

```
{*wird umgeschrieben zu Mein Artikel*}
{$sArticle.attr4}

{*wird nicht umgeschrieben Mein Artikel*}
{$sArticle.attr4}

```

genau das gleiche mit Kategorie-Links. Warum ist das so? Wie bekomme ich die SEO-Link ausserhalb eines a?

---

<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:** [15. März 2017 um 09:17 UTC](https://forum.shopware.com/t/smarty-rewrite-funktioniert-nicht/44445/3 "2017-03-15T09:17:20Z")

</div>

Ich muss das hier noch mal pushen. Kann das Problem jemand bestätigen?&nbsp;

---

<div class="post-metadata">

**Author:** ![R4M](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/r4m/32/9983_2.png) [@R4M](https://forum.shopware.com/u/R4M)\
**Post date:** [15. März 2017 um 10:44 UTC](https://forum.shopware.com/t/smarty-rewrite-funktioniert-nicht/44445/4 "2017-03-15T10:44:25Z")

</div>

Jetzt bin ich etwas verwirrt, weil {$sArticle.linkDetails} eigenlich die Links schon als SEO ausgeben sollte. Werden überhaupt SEO-URLs erzeugt? Kannst du in der DB das sehen?

---

<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:** [15. März 2017 um 10:56 UTC](https://forum.shopware.com/t/smarty-rewrite-funktioniert-nicht/44445/5 "2017-03-15T10:56:37Z")

</div>

> [@R4M schrieb:](https://forum.shopware.com/profile/17170/R4M "R4M")
> 
> Jetzt bin ich etwas verwirrt, weil {$sArticle.linkDetails} eigenlich die Links schon als SEO ausgeben sollte. Werden überhaupt SEO-URLs erzeugt? Kannst du in der DB das sehen?

&nbsp;Leider steht in&nbsp;$sArticle.linkDetails nicht der SEO-Link. SEO-Links werden aber generell erzeugt. Im Listing etc. werden die Links ja auch korrekt ausgegeben. Und wenn ich es, wie oben beschrieben, in einem a href packe, geht es ja auch. Hier scheint es einen Bug im Smarty-Plugin zugeben. Oder das ist aus irgendwelchen Gründen so gewollt – verstehe ich aber nicht.

---

<div class="post-metadata">

**Author:** ![R4M](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/r4m/32/9983_2.png) [@R4M](https://forum.shopware.com/u/R4M)\
**Post date:** [15. März 2017 um 11:01 UTC](https://forum.shopware.com/t/smarty-rewrite-funktioniert-nicht/44445/6 "2017-03-15T11:01:03Z")

</div>

Muss ich passen, ist mir so noch nie aufgefallen.

---

<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:** [16. März 2017 um 13:56 UTC](https://forum.shopware.com/t/smarty-rewrite-funktioniert-nicht/44445/7 "2017-03-16T13:56:13Z")

</div>

wo finde ich denn überhaupt die smarty pugins? es gibt ja scheinbar nciht mal mehr eine dokumentation dazu. das einzige was ich gefunden habe ist das hier&nbsp;[Getting started with Smarty](https://developers.shopware.com/designers-guide/smarty/) aber hier wird ja gar nciht auf die vorhandenen Plugin eingegangen.

&nbsp;

---

<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:** [16. März 2017 um 14:54 UTC](https://forum.shopware.com/t/smarty-rewrite-funktioniert-nicht/44445/8 "2017-03-16T14:54:38Z")

</div>

ok, ich habe das Plugin nun unter /engine/Library/Enlight/Template/Plugins/modifier.rewrite.php gefunden. So wie ich das sehe macht das aber gar nichts. Kann mir jemand sagen wie das Plugin arbeitet bzw. an welcher stelle der Link umgeschrieben wird?

Scheinbar wird das in der aktuellen Shopware auch gar nciht mehr genutzt:

```
 @deprecated since 5.2.3 will be removed in 5.3

```

Also habe ich das mal in einer 5.2.20 getestet. leider das selbe Phänomen.&nbsp;

Ich habe die Datei&nbsp;/themes/Frontend/Bare/frontend/listing/product-box/box-basic.tpl geändert:

```
{block name='frontend_listing_box_article_name'}
{$sArticle.linkDetails}

{$sArticle.articleName|truncate:50|escapeHtml}

{/block}

```

Die Ausgabe sieht so aus:

```
shopware.php?sViewport=detail&sArticle=153&sCategory=5

ELASTIC MÜTZE

```

Ich verstehe es leider nicht. Könnte das bitte mal jemand testen und bestätigen?

Vielen Dank

---

<div class="post-metadata">

**Author:** ![Michael\_Telgmann](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/michael_telgmann/32/20289_2.png) [@Michael\_Telgmann](https://forum.shopware.com/u/Michael_Telgmann)\
**Post date:** [16. März 2017 um 15:24 UTC](https://forum.shopware.com/t/smarty-rewrite-funktioniert-nicht/44445/9 "2017-03-16T15:24:44Z")

</div>

Hallo,

hast du schon den Array-Key ‚linkDetailsRewrited‘ von $sArticle ausprobiert? Hier sollte in jedem Fall der umgeschriebene und SEO konforme Link drin stehen

Viele Grüße aus Schöppingen

![cool](http://forum.shopware.com/plugins/CKEditor/plugins/smiley/images/shopware.png "cool")&nbsp;Michael Telgmann

---

<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:** [16. März 2017 um 16:06 UTC](https://forum.shopware.com/t/smarty-rewrite-funktioniert-nicht/44445/10 "2017-03-16T16:06:40Z")

</div>

> [@Michael Telgmann schrieb:](https://forum.shopware.com/profile/17553/Michael%20Telgmann "Michael%20Telgmann")
> 
> Hallo,
> 
> hast du schon den Array-Key ‚linkDetailsRewrited‘ von $sArticle ausprobiert? Hier sollte in jedem Fall der umgeschriebene und SEO konforme Link drin stehen
> 
> Viele Grüße aus Schöppingen
> 
> ![cool](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/1X/86c57fbace799dd4eb1f1b8a2d3bdc1733f0aea1.png "cool")&nbsp;Michael Telgmann

Hallo Michael, danke für deine Antwort. Den Key linkDetailsRewrited gibt es leider nicht.&nbsp;

&nbsp;

---

<div class="post-metadata">

**Author:** ![Michael\_Telgmann](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/michael_telgmann/32/20289_2.png) [@Michael\_Telgmann](https://forum.shopware.com/u/Michael_Telgmann)\
**Post date:** [17. März 2017 um 07:15 UTC](https://forum.shopware.com/t/smarty-rewrite-funktioniert-nicht/44445/11 "2017-03-17T07:15:12Z")

</div>

welche Shopware Version nutzt du denn?

---

<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:** [17. März 2017 um 07:23 UTC](https://forum.shopware.com/t/smarty-rewrite-funktioniert-nicht/44445/12 "2017-03-17T07:23:13Z")

</div>

> [@Michael Telgmann schrieb:](https://forum.shopware.com/profile/17553/Michael%20Telgmann "Michael%20Telgmann")
> 
> welche Shopware Version nutzt du denn?

Wie oben geschrieben nutze ich die 5.2.20 aber auch bei einer 5.2.2 das gleiche.&nbsp;

---

<div class="post-metadata">

**Author:** ![Michael\_Telgmann](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/michael_telgmann/32/20289_2.png) [@Michael\_Telgmann](https://forum.shopware.com/u/Michael_Telgmann)\
**Post date:** [17. März 2017 um 07:42 UTC](https://forum.shopware.com/t/smarty-rewrite-funktioniert-nicht/44445/13 "2017-03-17T07:42:55Z")

</div>

ah sorry, du bewegst dich im Listing und nicht auf der Detailseite? Dann könntest du dir den Link selbst ans Template übergeben. Folgende Funktion generiert dir den SEO Link:

Shopware()-\>Modules()-\>Core()-\>sRewriteLink($sArticle.linkDetails, $sArticle.articleName);

Viele Grüße aus Schöppingen

![cool](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/1X/86c57fbace799dd4eb1f1b8a2d3bdc1733f0aea1.png "cool")&nbsp;Michael Telgmann

---

<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:** [17. März 2017 um 07:45 UTC](https://forum.shopware.com/t/smarty-rewrite-funktioniert-nicht/44445/14 "2017-03-17T07:45:59Z")

</div>

> [@Michael Telgmann schrieb:](https://forum.shopware.com/profile/17553/Michael%20Telgmann "Michael%20Telgmann")
> 
> ah sorry, du bewegst dich im Listing und nicht auf der Detailseite? Dann könntest du dir den Link selbst ans Template übergeben. Folgende Funktion generiert dir den SEO Link:
> 
> Shopware()-\>Modules()-\>Core()-\>sRewriteLink($sArticle.linkDetails, $sArticle.articleName);
> 
> Viele Grüße aus Schöppingen
> 
> ![cool](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/1X/86c57fbace799dd4eb1f1b8a2d3bdc1733f0aea1.png "cool")&nbsp;Michael Telgmann

ja genau, ich bin im Listing bzw. möchte ich das später in einem Widget verwenden. die von dir genante Funktion werde ich gleuch mal testen, danke dafür.

Kannst du denn aber erklären warum &nbsp;ein {$sArticle.linkDetails} nur innerhalb eines a-href den korrekten SEO-Link ausgibt? Siehe beispiel oben. Das macht doch eigentlich gar keinen Sinn.

&nbsp;

---

<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:** [23. März 2017 um 09:32 UTC](https://forum.shopware.com/t/smarty-rewrite-funktioniert-nicht/44445/15 "2017-03-23T09:32:00Z")

</div>

> [@Michael Telgmann schrieb:](https://forum.shopware.com/profile/17553/Michael%20Telgmann "Michael%20Telgmann")
> 
> ah sorry, du bewegst dich im Listing und nicht auf der Detailseite? Dann könntest du dir den Link selbst ans Template übergeben. Folgende Funktion generiert dir den SEO Link:
> 
> Shopware()-\>Modules()-\>Core()-\>sRewriteLink($sArticle.linkDetails, $sArticle.articleName);
> 
> Viele Grüße aus Schöppingen
> 
> ![cool](http://forum.shopware.com/plugins/CKEditor/plugins/smiley/images/shopware.png "cool")&nbsp;Michael Telgmann

&nbsp;Hallo Michael, die von dir genannte Funktion hilft hier weiter. mein Code in meinem Widget-Controller sieht nun so aus:

```
$categoryId = $this->Request()->getParam('categoryId');
        $articles = Shopware()->Modules()->Articles()->sGetArticlesByCategory($categoryId);

        foreach($articles['sArticles'] as &$article){
            $article['linkDetailsRewrited'] = Shopware()->Modules()->Core()->sRewriteLink($article['linkDetails'], $article['articleName']);
        }

        $this->View()->assign('quickSelect',$articles);

```

Das ist ja aber im Grunde nur ein Workaround und beantwortet die eigentlich Frage nicht. Warum wird der korrekte SEO-Link nur innherhalb der a-href ausgegeben?

&nbsp;

---

<div class="post-metadata">

**Author:** ![anfuet](https://avatars.discourse-cdn.com/v4/letter/a/ecc23a/32.png) [@anfuet](https://forum.shopware.com/u/anfuet)\
**Post date:** [8. Februar 2018 um 09:24 UTC](https://forum.shopware.com/t/smarty-rewrite-funktioniert-nicht/44445/16 "2018-02-08T09:24:44Z")

</div>

> [@hbee schrieb:](https://forum.shopware.com/profile/1538/hbee "hbee")
> 
> > [@Michael Telgmann schrieb:](https://forum.shopware.com/profile/17553/Michael%20Telgmann "Michael%20Telgmann")
> > 
> > ah sorry, du bewegst dich im Listing und nicht auf der Detailseite? Dann könntest du dir den Link selbst ans Template übergeben. Folgende Funktion generiert dir den SEO Link:
> > 
> > Shopware()-\>Modules()-\>Core()-\>sRewriteLink($sArticle.linkDetails, $sArticle.articleName);
> > 
> > Viele Grüße aus Schöppingen
> > 
> > ![cool](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/1X/86c57fbace799dd4eb1f1b8a2d3bdc1733f0aea1.png "cool")&nbsp;Michael Telgmann
> 
> &nbsp;Hallo Michael, die von dir genannte Funktion hilft hier weiter. mein Code in meinem Widget-Controller sieht nun so aus:
> 
> $categoryId = $this-\>Request()-\>getParam(‚categoryId‘);  
> $articles = Shopware()-\>Modules()-\>Articles()-\>sGetArticlesByCategory($categoryId);
> 
> foreach($articles[‚sArticles‘] as &$article){  
> $article[‚linkDetailsRewrited‘] = Shopware()-\>Modules()-\>Core()-\>sRewriteLink($article[‚linkDetails‘], $article[‚articleName‘]);  
> }
> 
> $this-\>View()-\>assign(‚quickSelect‘,$articles);
> 
> Das ist ja aber im Grunde nur ein Workaround und beantwortet die eigentlich Frage nicht. Warum wird der korrekte SEO-Link nur innherhalb der a-href ausgegeben?
> 
> &nbsp;

Hast du dazu eine Lösung gefunden? Ich bin gerade am Bauen des Controllers.

---

<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:** [13. März 2018 um 09:51 UTC](https://forum.shopware.com/t/smarty-rewrite-funktioniert-nicht/44445/17 "2018-03-13T09:51:23Z")

</div>

> [@anfuet schrieb:](https://forum.shopware.com/profile/26966/anfuet "anfuet")
> 
> Hast du dazu eine Lösung gefunden? Ich bin gerade am Bauen des Controllers.

&nbsp;Nein, ich habe daran nichts mehr geändert. weiß nicht ob der Fehler mittlerweile behoben ist.
