Jump to content
  • 0

Zeilenumbruch im Produktnamen erzwingen


Termeander

Question

Hallo,

 

meine Produktnamen setzen sich immer wie folgt zusammen:

Hersteller - Produktname

 

Ist es nun möglich, das immer nach dem "-" ein Zeilenumbruch erzwungen wird, sodass der Hersteller in der ersten Zeile steht und der Produktname in der zweiten Zeile steht?

 

Ich habe mal dem Code rausgesucht der den Namen wiedergibt in der Produktübersicht:

   <div class="product-description">
        {block name='product_name'}
          <h1 class="h3 product-title" itemprop="name"><a href="{$product.url}">{$product.name|truncate:50:'...'}</a></h1>
        {/block}

Könnte man diesen Anpassen um das gewünschte Ergebnis zu erzielen?

 

Vielen Dank im Voraus.

Link to comment
Share on other sites

16 answers to this question

Recommended Posts

  • 0

Ich habe herausgefunden wie es geht, man muss den nofilter modifier verwenden.

 

Hier der Code, falls es jemand gebrauchen kann:

<div class="product-description">
        {block name='product_name'}
          <h1 class="h3 product-title" itemprop="name"><a href="{$product.url}">{$product.name|replace:' - ':'<br />'|truncate:50:'...' nofilter}</a></h1>
        {/block}
Edited by Termeander (see edit history)
  • Like 1
Link to comment
Share on other sites

  • 0

Dann solltest du halt anstatt den Produktnamen abzuschneiden, eben einen Umbruch einfügen:

{$product.name|replace:'- ':'- <br />'} 

Für den Fall, dass dies zu lang wird, kannst du denn Parameter truncate mit dem Pipe-Zeichen auch wieder dranhängen. Mit der Zeichenanzahl dahinter kann man in gewissen Grenzen ( abhängig vom Template) auch experimentieren.

  • Like 2
Link to comment
Share on other sites

  • 0

Dann solltest du halt anstatt den Produktnamen abzuschneiden, eben einen Umbruch einfügen:

{$product.name|replace:'- ':'- <br />'} 

Für den Fall, dass dies zu lang wird, kannst du denn Parameter truncate mit dem Pipe-Zeichen auch wieder dranhängen. Mit der Zeichenanzahl dahinter kann man in gewissen Grenzen ( abhängig vom Template) auch experimentieren.

 

Der replace Befehl funktioniert zwar, aber er schreibt dann das <br /> in den Produktnamen, anstatt den Zeilenumbruch zu machen :/ (siehe Bild).

post-1398186-0-46288300-1505424479_thumb.jpg

Link to comment
Share on other sites

  • 0

Der replace Befehl funktioniert zwar, aber er schreibt dann das <br /> in den Produktnamen, anstatt den Zeilenumbruch zu machen :/ (siehe Bild).

 

Hast du ev. in der Originalzeile nur den truncate-teil durch den replace-teil ersetzt also so:

 

{$product.name|replace:'- ':'- <br />'|escape:'html':'UTF-8'}

  Dann würde in der Tat genau das passieren was du schilderst.

 

Wenn du aber die Komplettzeile so wie eleazar das beschrieben has einsetzt:

 

 

{$product.name|replace:'- ':'- <br />'}

muß das funktionieren, es sei denn du hast noch einen anderen html-stripper aktiv (welche PS-Version, welches Template?)

 

Grüsse

Whiley

  • Like 1
Link to comment
Share on other sites

  • 0

Also ich habe es wie folgt eingefügt:

 {/block}
      <div class="product-description">
        {block name='product_name'}
          <h1 class="h3 product-title" itemprop="name"><a href="{$product.url}">{$product.name|replace:'- ':'- <br />'}</a></h1>
        {/block}

War das so von euch gemeint?

Ich benutze die Version 1.7.2.2 mit dem standard Classic Theme

Link to comment
Share on other sites

  • 0

Wie Whiley schon sagte: "...es sei denn du hast noch einen anderen html-stripper aktiv."

 

Schalte doch mal den HTML-Purifier ab. Findest du in den Shopeinstellungen.

 

Ich habe keine Ahnung was ein html-stripper ist, ich habe eigentlich nichts verändert.

Den HTML-Purifier habe ich aber in den Shopeinstellungen nun deaktiviert, aber es hat sich dadurch leider nichts geändert :/

Link to comment
Share on other sites

  • 0

Ich habe keine Ahnung was ein html-stripper ist,

 

Um immer gleiche Anzeigen zu gewährleisten, filtert PS an machen Stellen bei derTexteingabe (PS1.6: Funktion cleanhtml in der validate.php) bzw bei der Textausgabe (PS1.6 |escape:'html') html-codes aus den Texten heraus.

Wie das bei 1.7. gemacht wird weiß ich nicht deshalb ... bin ich hier raus.

 

Grüße

Whiley

Link to comment
Share on other sites

  • 0

Ich habe keine Ahnung was ein html-stripper ist, ich habe eigentlich nichts verändert.

Den HTML-Purifier habe ich aber in den Shopeinstellungen nun deaktiviert, aber es hat sich dadurch leider nichts geändert :/

Es wird immer noch der Tag im Klartext eingefügt? Dann kann es meines Erachtens eigentlich nur an nicht gelöschten Caches liegen.

 

Ich würde aus dem Ersetzungstext übrigens den Bindestrich rausnehmen. Und denk dran, daß ggf. auch an anderen Stellen "- " mit einem Zeilenumbruch ersetzt wird.

Link to comment
Share on other sites

  • 0

Es wird immer noch der Tag im Klartext eingefügt? Dann kann es meines Erachtens eigentlich nur an nicht gelöschten Caches liegen.

 

Ich würde aus dem Ersetzungstext übrigens den Bindestrich rausnehmen. Und denk dran, daß ggf. auch an anderen Stellen "- " mit einem Zeilenumbruch ersetzt wird.

Die Caches wurden geleert und der HTML Purifier ist aus, aber leider kommt es immer noch im Klartext :(

 

Mit dem Bindestrich gebe ich dir absolut recht, aber an das Feintuning kann man gehen, wenn er erstmal macht was er soll. 

 

Wie gesagt der Code sieht wie folgt aus:

{/block}
      <div class="product-description">
        {block name='product_name'}
          <h1 class="h3 product-title" itemprop="name"><a href="{$product.url}">{$product.name|replace:'- ':'- <br />'}</a></h1>
        {/block}

Ergebnis siehe Anhang.

post-1398186-0-92758600-1505561913_thumb.jpg

Link to comment
Share on other sites

  • 0

Danke fürs Teilen der Lösung, Termeander. Ich setzte den Thread dann mal auf Gelöst.

 

Es scheint wirklich so zu sein, dass in PrestaShop 1.7 sämtliche Variablen vorab "escaped" werden, d.h. eventuell vorhandener HTML-Code wird automatisch rausgefiltert. Das ist natürlich auch für den Einsatz von Fremdmodulen interessant:

https://www.prestashop.com/forums/topic/540615-all-variables-getting-html-escaped-in-my-module-in-prestashop-17-causing-module-not-work/?do=findComment&comment=2360687

Link to comment
Share on other sites

  • 0

Wie erklärst du dir eigentlich, dass auf wundersame Weise aus einem Html-Code <br /> ein String <Br /> wird?

 

Das kann ich mir jetzt selbst erklären, denn ich habe das jetzt mal in einer Testinstallation nachgestellt. Das kleine b wird tatsächlich zu einer Versalie.  Das heißt, die Programmierer haben hier gleich noch einen Fehler eingebaut. Egal, wie man den Artikelnamen erfasst hat, im Shop wird jedes einzelne Wort groß geschrieben. Diesen Bug hatten wir auch schon mal im Forum bei den Topic-Bezeichnungen, aber es funktioniert natürlich nur im Englischen, und auch da nich immer.

 
Hier mal ein paar Beispiele: 
Panele 2 Qm 18 Mm Stark
Karibu Holz-Gartenhaus Falköping 7 Set Mit 1 Dachausbauelement 304 Cm x 304 Cm
Schön, nicht wahr?  :rolleyes:
Link to comment
Share on other sites

  • 0

 

Das kann ich mir jetzt selbst erklären, denn ich habe das jetzt mal in einer Testinstallation nachgestellt. Das kleine b wird tatsächlich zu einer Versalie.  Das heißt, die Programmierer haben hier gleich noch einen Fehler eingebaut. Egal, wie man den Artikelnamen erfasst hat, im Shop wird jedes einzelne Wort groß geschrieben. Diesen Bug hatten wir auch schon mal im Forum bei den Topic-Bezeichnungen, aber es funktioniert natürlich nur im Englischen, und auch da nich immer.

 
Hier mal ein paar Beispiele: 
Panele 2 Qm 18 Mm Stark
Karibu Holz-Gartenhaus Falköping 7 Set Mit 1 Dachausbauelement 304 Cm x 304 Cm
Schön, nicht wahr?  :rolleyes:

 

Das ist mir noch nicht aufgefallen, da die Produkte die ich anbiete zum Glück alle groß geschrieben werden :D Dieser Bug ist aber trotzdem elementar und müsste schnellst möglich gefixt werden. Ich muss aber auch mal sagen, das ich Prestashop 1.7 klasse finde und hoffe das dieses Projekt nicht eingestellt wird. Ich bin ganz neu hier, mein live Shop läuft zur Zeit noch mit Gambio GX3 und ich freue mich echt schon darauf, wenn ich endlich switchen kann. Trotz das ich immer wieder gelesen hatte, das man zu 1.6 greifen soll, habe ich dem 1.7 einfach mal eine Chance gegeben. 

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...