Jump to content

Länge des kurzen Produkttextes bei verschiedenen Sprachen


Recommended Posts

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 by Unknownst (see edit history)
Link to comment
Share on other sites

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

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...