Artikel description_long HTML in Listing

Hallo zusammen,

ich hätte eine Frage bezüglich der Beschreibung, welche im Listing ausgegeben wird. Ich konnte dazu zwar schon einen Beitrag finden, wo meine Problematik über Freitextfelder gelöst wird nur ist dies leider in diesem Fall nicht praktikabel. Die Funktion, welche dieses Verhalten erzeugt, ist die “getListing” Funktion in “sArticle”.

Um ganz genau zu sein passiert dies in dieser Zeile:

$article['description_long'] = $this->sOptimizeText($article['description_long']);

Nur da dies leider in einer private function steht kann diese nicht einfach so überschrieben werden. Ein weiterer Ansatz wäre gewesen für jeden Artikel anhand der ID im Event “onPostDispatchListing” die Beschreibung erneut zu holen und im Objekt zu ergänzen. Aber für jeden Artikel einen API Call durchführen wird wohl kaum performant sein. Kann hier vielleicht noch jemand eine andere Herangehensweise kurz erläutern oder hat jemand schon etwas Ähnliches gemacht?

Unabhängig davon erschließt sich mir auch nicht unbedingt der Grund, warum das entfernen der HTML Tags nicht per Smarty im Template passiert.

 

Vielen Dank und viele Grüße

Phil

 

 

edit:

Ich konnte mir jetzt alle Attribute Ausgeben lassen. Ich kann dann jetzt einfach über die Artikel alle default Attribute abrufen. Code dazu ist folgender:

$article = $args->getReturn();

$article['sDefaultArticleAttributes'] = array_reverse(Shopware()->Modules()->Articles()->sGetArticleById($article['articleID']));

 

wir haben folgenden Workaround (nicht updatefähig):

engine/Shopware/Core/sArticle.php

die Description im Listing wird nicht mit HTML angezeigt. Das liegt zum einen am Listing da muss das Template erweitert werden und das strip tag entfernt werden, aber auch an sArticles.php muss was geändert werden:

Zeilen ab 2286
 

2287 // es soll html dargestellt werden.
2288 //$article['description_long'] = $this->sOptimizeText($article['description_long']);
2289 $article['description_long'] = $article['description_long'];

das sOptimizeText ist das Problem… es muss raus.

Siehe auch hier: https://forum.shopware.com/discussion/43747/variable-sarticle-description-long-mit-html-im-listing

Das war mir auch klar nur das ich unter keinen Umständen Änderungen am Core vornehmen wollte, eben wegen der Updatefähigkeit. Wir haben uns letztlich ein Plugin geschrieben, welches die normalen Informationen des Artikels noch einmal abruft und auch in den Artikeln im Listing wiedergegeben wird. Geht bestimmt auch noch etwas eleganter funktioniert aber für’s erste. Aber danke :slight_smile: