Unknownst Posted December 3, 2012 Share Posted December 3, 2012 (edited) Hallo, nachdem mir hier sehr erfolgreich geholfen wurde, möchte ich nun ein bisschen zurück an die Community geben. Das psoting dürfte hier nicht sehr viele Leute betreffen, aber wenn sich jemand angesprochen fühlt: Gern geschehn' ~ Ich arbeite mit Prestashop 1.5.2, es sollte aber auch mit anderen Versionen problemlos funktionieren (nur wegen der Zeilenangabe später) ~ Ich entwickle PS Seiten hauptsächlich auf Englisch und Chinesisch und nutze PS weil vieles einfach aus der Box raus funktioniert, eines scheint aber nicht beachtet worden zu sein. Das Problem: Die Kurzbeschreibungen unter/neben den Produkten in der Kategorieansicht haben eine einhetliche Länge von "x"-Zeichen für alle Sprachen, werden also nach erreichen einer bestimmten Zeichenmenge abgeschnitten. Da aber nicht alle Sprachen pro Zeichen den gleichen Platz einnehmen kann das Design bei einer "unglücklichen" Kombi (z.B. Englisch und Chinesisch - [was ein Zufall]) ganz schnell aus dem Leim laufen. Bei meiner Kombi liegt es daran, dass im Chinesischen alle Zeichen die gleiche Breite haben (ja, auch die Satzzeichen). Ich hatte kurzfristig in meinem Design einfach die Textbox so klein gemacht (und den overflow aus), dass die chinesischen Texte einfach abgeschnitten wurden. Allerdings war ich ganz und gar nicht zufrieden mit der Lösung... Deshalb ist hier eine bessere: In der product-list.tpl (../themes/EUER_THEME/product-list.tpl), findet ihr in Zeile 46: <p class="product_desc"><a href="{$product.link|escape:'htmlall':'UTF-8'}" title="{$product.description_short|strip_tags:'UTF-8'|truncate:360:'...'}" >{$product.description_short|strip_tags:'UTF-8'|truncate:360:'...'}</a></p> Da Smarty auch Sprachvariablen speichert, kann eine recht einfache Wenn - Dann (If, Then) euch dabei helfen den Text korrekt(er) zu kürzen. Der obere code kann dann durch diesen ersetzt werden: <p class="product_desc"><a href="{$product.link|escape:'htmlall':'UTF-8'}" title="{$product.description_short|strip_tags:'UTF-8'|truncate:360:'...'}" > {if $lang_iso == en} {$product.description_short|strip_tags:'UTF-8'|truncate:100:'...'} {else} {$product.description_short|strip_tags:'UTF-8'|truncate:55:'...'} {/if} </a></p> Also: WENN englisch, dann 100 Zeichen, ansonsten nur 55 Bei mehreren Sprachen kann man das natürlich beliebig erweitern. Die Länge (bzw. Menge der Zeichen) kann selbstverständlich auch angepasst werden, je nach Theme und Sprache. Bei mir funktioniert es perfekt aber/und Verbesserungen nehme ich gerne entgegen. Viel Spass und Erfolg, Pierre PS: Das gleiche Prinzip funktioniert auch bei den Featured-Produkts (HomeFeatured) Edited December 3, 2012 by Unknownst (see edit history) Link to comment Share on other sites More sharing options...
guest* Posted December 3, 2012 Share Posted December 3, 2012 Nur kleine Anmerkung: Die Kurzbeschreibung wenn eingepflegt dient zu SEO-Zwecken, d.h. SUMAS ziehen den Content von dort. Da aber die Sumas die Länge auf X-Zeichen begrenzt, macht es auch wenig Sinn dort viel Text einzugeben. Dazu gibt es die Produktbeschreibung. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now