Neu Kurzbeschreibung auf Artikelübersichtsseite

Wegra

Aktives Mitglied
1. Dezember 2012
22
2
Bin etwas verzweifelt... Und zwar muss ich für einige Produkte in meinem Shop zwingend Gefahrenhinweise in der Artikelbeschreibung platzieren, und zwar so, dass der Kunde diese auf jeden Fall sieht, bevor er den Artikel in den Warenkorb legt.

Auf der Artikeldetailseite ist das auch kein Problem, allerdings kann der Kunde einige Artikel (nämlich die ohne Variationen) ja bereits auf der Artikelübersichtsseite in den Warenkorb legen. Es wäre hier zwingend, dass hier entweder die Gefahrenhinweise eingeblendet werden (wenigstens die Piktogramme), oder eben der Kunde erst auf die Detailseite muss, um den Artikel zu kaufen.

Habe weder für das eine noch für das andere eine Lösung gefunden.

Wer hat eine Idee?
 

Tomas

Sehr aktives Mitglied
8. Januar 2018
330
70
Lübeck
Hallo Wegra,

beides wäre machbar. Wobei ich glaube, dass das entfernen der Warenkorb-Funktionalitäten in den Artikellisten das einfachere von beiden wäre.
Dafür musst du jedoch eine Template-Anpassung machen.

Solltest du dir das nicht selber zutrauen, findest du hier im Forum jede Menge Service Partner die dir weiter helfen können. Das Thema sollte relativ schnell erledigt sein.
Wenn du dir das doch zutraust, hast du hier eine kleine Anleitung von mir:

Hast du ein Child Template?

Falls nicht:
Solltest du dir eins anlegen. http://docs.jtl-shop.de/de/latest/s...plate.html#ein-neues-child-template-erstellen
Wenn du Hilfe brauchst, dann sag nochmal Bescheid.

Solltest du eines haben:
Wenn du ein Child Template hast stellt sich die Frage ob dort bereits die /productlist/item_box.tpl hast.

Solltest du die /productlist/item_box.tpl haben:
Wenn die Datei bereits existiert und der Block {block name="productlist-add-basket"} noch nicht existiert, kannst du folgenden Code einfach ans Ende der Datei schreiben:
Code:
{block name="productlist-add-basket"}
    <div class="top7 form-group">
        <a class="btn btn-default btn-sm btn-block" role="button" href="{$Artikel->cURL}">{lang key="details"}</a>
    </div>
{/block}

Solltest du die /productlist/item_box.tpl NICHT haben:
Dann erstellst du in deinem Child Template die Datei /productlist/item_box.tpl mit dem Inhalt:
Code:
{extends file="{$parent_template_path}/productlist/item_box.tpl"}
{block name="productlist-add-basket"}
    <div class="top7 form-group">
        <a class="btn btn-default btn-sm btn-block" role="button" href="{$Artikel->cURL}">{lang key="details"}</a>
    </div>
{/block}

Du kannst den Button auch komplett weglassen. Dafür lässt du den Inhalt innerhalb des Blocks weg. Also quasi:
Code:
{extends file="{$parent_template_path}/productlist/item_box.tpl"}

{block name="productlist-add-basket"}
{/block}

Standartmäßig ist in JTL glaube ich die "Erweiterte Darstellung" aktiviert. Das zeigt dir dann in der Artikelliste einen Button mit dem du zwischen der Listenansicht und Galerieansicht wechseln kannst.
Diese würde ich im backend ausschalten. Du müsstest die Listenansicht sonst auch noch entsprechend anpassen um sicher zu gehen. Suche im Backend einfach nach der Einstellungsnr.: 1313

VG
Tomas
 

FPrüfer

Moderator
Mitarbeiter
19. Februar 2016
1.881
529
Halle
Hallo,
statt die Funktionalität zu beschneiden, kann man das auch über ein Attribut lösen.
- Attribut (z.B. "Gefahrenhinweis", kein Funktionsattribut!) in der Wawi anlegen und für den Shop aktivieren.
- Den Artikeln das Attribut "Gefahrenhinweis" hinzufügen und den Text dafür hinterlegen.
- Wie von Tomas beschrieben ein Child-Template anlegen.
- Die /productlist/item_box.tpl wie folgt im Child-Template anlegen:
PHP:
{extends file="{$parent_template_path}/productlist/item_box.tpl"}
{block name="productlist-add-basket" prepend}
    {if isset($Artikel->AttributeAssoc['Gefahrenhinweis'])}
        <div class="alert alert-warning" >
            <i class="fa fa-2x fa-warning"></i> {$Artikel->AttributeAssoc['Gefahrenhinweis']}
        </div>
    {/if}
{/block}
Damit hat man dann direkt über dem Warenkorb-Button einen entsprechend gestylten Hinweis. Mit "alert-danger" statt "alert-warning" kann man das optisch auch noch verschärfen.
Das kann man dann analog auch in die /productlist/item_list.tpl und ggfs. auch in die /productlist/basket.tpl einbauen.
 
  • Gefällt mir
Reaktionen: Tomas

Tomas

Sehr aktives Mitglied
8. Januar 2018
330
70
Lübeck
Hallo,
statt die Funktionalität zu beschneiden, kann man das auch über ein Attribut lösen.
Das ist natürlich deutlich schicker! 😉

Ergänzend würde ich gerne auf den Guide verweisen für den Fall, dann Wegra nichts mit den Attributen anzufangen weis.
https://guide.jtl-software.de/jtl-wawi/artikel/attribute-anlegen/

Ich warte grad selber auf eine Support-Anfrage und hab zwischen Kaffee und Stulle mal ein Beispiel vorbereitet wie ein Child Template, anhand FPrüfer's Vorschlag, aussehen könnte.
 

Anhänge

Wegra

Aktives Mitglied
1. Dezember 2012
22
2
Vielen lieben Dank für eure Hilfe. Ich habe es jetzt so gemacht, wie ganz oben von Tomas erwähnt. Das gefällt mir sehr gut, zumal bei einigen Produkten ein relativ langer Gefahrenhinweis hinterlegt ist, der vielleicht dann doch die Kurzbeschreibung sprengen würde. Um rechtlich auf der sicheren Seite zu sein... habe ich es nun so umgesetzt.

Eine sehr gute Beschreibung, Tomas. Tausend Dank! 🙂
 
  • Gefällt mir
Reaktionen: Tomas

SHAAN

Sehr aktives Mitglied
26. August 2020
693
228
Hallo,
statt die Funktionalität zu beschneiden, kann man das auch über ein Attribut lösen.
- Attribut (z.B. "Gefahrenhinweis", kein Funktionsattribut!) in der Wawi anlegen und für den Shop aktivieren.
- Den Artikeln das Attribut "Gefahrenhinweis" hinzufügen und den Text dafür hinterlegen.
- Wie von Tomas beschrieben ein Child-Template anlegen.
- Die /productlist/item_box.tpl wie folgt im Child-Template anlegen:
PHP:
{extends file="{$parent_template_path}/productlist/item_box.tpl"}
{block name="productlist-add-basket" prepend}
    {if isset($Artikel->AttributeAssoc['Gefahrenhinweis'])}
        <div class="alert alert-warning" >
            <i class="fa fa-2x fa-warning"></i> {$Artikel->AttributeAssoc['Gefahrenhinweis']}
        </div>
    {/if}
{/block}
Damit hat man dann direkt über dem Warenkorb-Button einen entsprechend gestylten Hinweis. Mit "alert-danger" statt "alert-warning" kann man das optisch auch noch verschärfen.
Das kann man dann analog auch in die /productlist/item_list.tpl und ggfs. auch in die /productlist/basket.tpl einbauen.

Hallo FPrüfer,

ich kann in auf der Detailseite über die Variable {$Artikel->AttributeAssoc['Gefahrenhinweis']} meine Attribute ausgeben, aber in der Artikelliste nicht. Habe es in der price.tpl , item_box.tpl und item_list.tpl versucht. Hat sich in JTL 5.15 etwas geändert?


UPDATE: Sorry, war der cache gewesen.
 
Zuletzt bearbeitet:

Ähnliche Themen