Hallo erstmal.
Ein super Forum, aus dem ich schon vieles nutzen konnte.
Ich helfe jemandem bei kleinen Änderungen an einem Shop, der zwar auf XT:Commerce v3.0.4 SP2.1 aufgebaut ist, aber die Lösungen aus modified eCommerce Shopsoftware funktionieren oft 1:1.
Die Produktmerkmale aus den Kurz-/Langbeschreibungen anzuzeigen, habe ich jetzt erfolgreich umgesetzt.
Was mir nicht richtig gelang, war das Kürzen des Kurzbeschreibung auf eine bestimmte Zeichenanzahl.
Zwar fand ich einige Postings dazu, aber entweder habe ich etwas falsch gemacht, oder die Poster bedankten sich zu früh für eine erfolgreiche Lösung¿
Jedenfalls scheint mein nachfolgender Code aus der
checkout_confirmation.php eingefügt vor
if (ACTIVATE_SHIPPING_STATUS == 'true') {
zu funktionieren:
$data_products .= '<tr>
<td class="main" align="left" valign="top">
<small>'; if (!empty($order->products[$i]['short_description'])) { $data_products .=trim(substr(strip_tags($order->products[$i]['short_description']),0,200)); if (strlen(strip_tags($order->products[$i]['short_description'])) > 200) $data_products.=' ...'; } else { $data_products .=trim(substr(strip_tags($order->products[$i]['description']),0,200)); if (strlen(strip_tags($order->products[$i]['description'])) > 200) $data_products.=' [...]'; } $data_products .='</small></td>
<td class="main" align="right" valign="top"> </td>
<td class="main" align="right" valign="top"> </td>
</tr>'; Aus der Kurzbeschreibung werden 200 Zeichen angezeigt und nur wenn diese leer ist, werden 200 Zeichen aus der Langbeschreibung angezeigt.
Ist die gesamte Kurzbeschreibung länger als 200 Zeichen, so wird am Ende noch '...' angezeigt - falls Langtext > 200 Zeichen, dann sollte '[...]' angezeigt werden (letzteres ungetestet!).
Eine Unbequemlichkeit gibt es noch mit dem Zählen der Zeichen!
Liegt sicherlich an den gestrippten tags, die nicht im Text angezeigt, aber eigentlich auch nicht mitgezählt werden soll(t)en!? Es liegt an den Umlauten (ö = ö etc.)!
Beispiel:
Kurztext in Quellcodeanzeige - mit 236 Zeichen, laut zeichenzähler.de:
<p>Ein österreichisches Naturprodukt - seit 1980 nach den Erkenntnissen von Max Mustermann.<br />
Zutaten: Brennessel, Schweizer Minze, Schafgarbe, Mädesüß, Johanniskraut</p>
<p>Grundpreis: 9,90 € pro 100 g</p>
Wird gekürzt auf 181 Zeichen
Ein österreichisches Naturprodukt - seit 1980 nach den Erkenntnissen von Max Mustermann. Zutaten: Brennessel, Schweizer Minze, Schafgarbe, Mädesüß, Johanniskraut Grundpreis: 9,9 ...
Die 4 Zeichen ' ...' müsste man schonmal abziehen, denke ich. Wenn ich im Code bis dahin die Zeichen zähle(n lasse), dann ergibt das 214 Zeichen
<p>Ein österreichisches Naturprodukt - seit 1980 nach den Erkenntnissen von Max Mustermann.<br />
Zutaten: Brennessel, Schweizer Minze, Schafgarbe, Mädesüß, Johanniskraut</p>
<p>Grundpreis: 9,9
Ohne die tags '<p>, </p> und <br />, sowie für <br /> ein Leerzeichen eingesetzt, sind es dann genau 200 Zeichen
Ein österreichisches Naturprodukt - seit 1980 nach den Erkenntnissen von Max Mustermann.
Zutaten: Brennessel, Schweizer Minze, Schafgarbe, Mädesüß, Johanniskraut
Grundpreis: 9,9
Dies war mein erstes Posting und habe sicherlich zuviel, an falscher Stelle und auch noch unnütziges geschrieben.
Vielleicht hilft es aber doch irgend jemanden. Eigentlich wollte ich eine Frage stellen, aber die habe ich inzwischen vergessen