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. Hier werden nur Links wie
Alle Caches sind geleert. Was mache ich falsche? oder steht das rewrite im Widget nicht zur Verfügung? Im Listing etc. werden die Urls ganz normal und korrekt ausgegeben.
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?
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?
Leider steht in $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.
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 Getting started with Smarty aber hier wird ja gar nciht auf die vorhandenen Plugin eingegangen.
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.
Ich habe die Datei /themes/Frontend/Bare/frontend/listing/product-box/box-basic.tpl geändert:
hast du schon den Array-Key ‚linkDetailsRewrited‘ von $sArticle ausprobiert? Hier sollte in jedem Fall der umgeschriebene und SEO konforme Link drin stehen
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
Michael Telgmann
Hallo Michael, danke für deine Antwort. Den Key linkDetailsRewrited gibt es leider nicht.
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:
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:
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 ein {$sArticle.linkDetails} nur innerhalb eines a-href den korrekten SEO-Link ausgibt? Siehe beispiel oben. Das macht doch eigentlich gar keinen Sinn.
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:
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?
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:
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?
Hast du dazu eine Lösung gefunden? Ich bin gerade am Bauen des Controllers.