JTL-Shop 5: On Page Composer: Text auf Startseite abhängig von angemeldetem User oder nicht - ist das möglich?

Christian_BD

Sehr aktives Mitglied
7. November 2016
380
69
Hallo zusammen,

ist es möglich mit dem OnPageComposer die Startseite so zu gestalten, dass bei eingeloggten Kunden eine geänderte Startseite zu nicht-eingeloggten Kunden erscheint?

Der Shop ist so konfiguriert, dass nur bei angemeldeten Kunden die Kategorien und Artikel angezeigt werden. Hier mein Screenshot aus dem Composer:

Derzeit ist es so:

Der der Kunde nicht eingeloggt, dann wir nur der untere Teil angezeigt "Herzlich willkommen beim ..." "Bitte loggen Sie sich ein..." Button zum Kundenkonto => passt

Wenn der Kunden eingeloggt ist, dann passt es nicht mehr ganz:

Herzlich Willkommen (Oben) wird angezeigt => passt
Unsere Bestseller wird angezeigt => passt
Der Untere Block wird aber auch noch angezeigt => passt nicht

Für mich wäre es einfach, wenn ich einfach den oberen Textblock und unteren Block drinlassen könnte und nur die Bestseller bei eingeloggten Kunden angezeigt werden. Dann würde ich den Text so schreiben, dass er immer passt.
Aber wenn der Kunde nicht eingeloggt ist, dann wird der obere Textblock auch nicht angezeigt. Kann ich das ändern? Weil bei eingeloggten Kunden steht jetzt die Begrüßung 2x dran...

Danke und viele Grüße
Christian


1625561100459.png
 

MHillmann

Moderator
Mitarbeiter
11. Oktober 2018
1.372
541
Hallo,

das geht standardmäßig leider nicht. Was du probieren kannst, ist einen MountPoint im Template abhängig davon ob ein Kunde eingeloggt ist oder nicht einzufügen (ungetestet):
Code:
{if \JTL\Session\Frontend::getCustomer()->getID() > 0}
   {opcMountPoint id='opc_customer_only'}
{/if}

Viele Grüße
Michael
 

grafikdesignerin

Aktives Mitglied
25. Februar 2021
56
3
Hallo,

das geht standardmäßig leider nicht. Was du probieren kannst, ist einen MountPoint im Template abhängig davon ob ein Kunde eingeloggt ist oder nicht einzufügen (ungetestet):
Code:
{if \JTL\Session\Frontend::getCustomer()->getID() > 0}
   {opcMountPoint id='opc_customer_only'}
{/if}

Viele Grüße
Michael
Hallo!

ich kenne mich leider wenig mit "programmieren" aus. Könnten Sie mir sagen, wo man genau einen Code den überhaupt einfügt? Ich würde mir auch sehr gerne wünschen, dass man bei Portlets auswählen kann ob diese im ausgeloggten oder eingeloggten Zustand zu sehen sind. Gibt es da auch irgendwleche Klassen oder Codes? Und wenn ja, wo gibt man den Codes generell ein.
 

MHillmann

Moderator
Mitarbeiter
11. Oktober 2018
1.372
541
Ich habe zum Thema ein Ideen-Ticket formuliert: https://issues.jtl-software.de/issues/SHOP-5897

Bzgl. der Umsetzung müsstest du dir ein Child-Template anlegen: https://jtl-devguide.readthedocs.io...plate.html#ein-neues-child-template-erstellen
Dann müsstest du dir einen Block auf der Startseite raussuchen und diesen erweitern, mit dem Code den ich oben gepostet habe: https://jtl-devguide.readthedocs.io....html?highlight=block#anpassungen-uber-blocks

2 verschiedene Startseiten nach eingeloggt/nicht eingeloggt, sind nicht möglich. Hier könnte man höchstens per Kundengruppe differenzieren.
 
  • Gefällt mir
Reaktionen: grafikdesignerin

grafikdesignerin

Aktives Mitglied
25. Februar 2021
56
3
Ein Kollege hat jetzt eine Lösung gefunden ohne html Kenntnisse etc. Daher möchte ich das hier teilen:

Das gewünschte Portlet erstellen.
Im OnPage Composer einen Drop platzieren und das Flexlayout wählen. Dort eine leere Zeile erstellen mit der Einstellung (Nur im ausgeloggten Zustand sichtbar). Das gewünschte Portlet dann, in die Dropperzeile machen. Somit übernimmt das Portlet die Einstellung des Droppers. Ich finde das ist die perfekte Lösung wenn man das Dropper Plugin besitzt.

Es ist jetzt auf jeden Fall möglich 🙂
 

Ähnliche Themen