Kundengruppe simulieren für Kategorie

Thema wurde von ff-webdesigner, 27. März 2022 erstellt.

  1. ff-webdesigner

    ff-webdesigner Erfahrener Benutzer

    Registriert seit:
    22. Januar 2014
    Beiträge:
    419
    Danke erhalten:
    36
    Danke vergeben:
    53
    Hallo beisammen,

    Ich habe gerade eine ungewöhnliche Problemstellung:
    Alle Produkte einer Kategorie werden via Style Edit Produkt Widget auf einer Content Seite ausgegeben.
    die Kategorie ist unsichtbar.
    die Produkte hierin sind sichtbar.
    alle betreffende Produkte sind für alle Kundengruppen freigeschaltet.

    Mein Problem: generell dürfen Gäste für alle Produkte im Shop keine preise sehen, deaktviert via kundengruppen.

    Wie bringe ich Gambio am besten mit einem Modul bei dass "wenn Produkt in Kategorie ID=X liegt" entweder
    a) das Produkt angezeigt wird als wäre ein Händler eingeloggt oder
    b) Der Preis für Gäste nur für Produkte aus dieser Kategorie trotzdem angezeigt wird.

    Hat da jemand ein Kochrezept?

    Danke!
     
  2. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    Ich würde es mit eigenen html-Dateien für Kategorie/ Artikel versuchen.
    Die eigenen Dateien der einen Kategorie geben und in der Datei eine if-abfrage einfügen, die den entsprechenden Preis anzeigt.

    Du weißt aber, dass die Artikel auch über Google und die Shop-Suche gefunden werden und somit jeder die Preise sieht?
     
  3. ff-webdesigner

    ff-webdesigner Erfahrener Benutzer

    Registriert seit:
    22. Januar 2014
    Beiträge:
    419
    Danke erhalten:
    36
    Danke vergeben:
    53
    danke barbara! google: eh klar. 100% dicht geht nix, aber aus sitemap ist kategorie/artikel raus und ebenso via robots gesperrt.

    da ich die produkte damit die kategorie wirklich unsichtbar in navi bleibt auf eine content seite einbauen muss sollte das richtige html template dann mittels GXModules/ff-webdesigner/Shop/Themes/All/html/system/product_listing_product.html überschrieben werden. habe das eben getestet. smarty variable ist $p_price. aber die ist schon "Nur für eingeloggte Händler sichtbar" wenn nicht eingeloggt, sonst der preis. ich müsste also noch grundlegender eingreifen, vermutlich mit einem overload da wo $p_price gesetzt wird. wo?
     
  4. ff-webdesigner

    ff-webdesigner Erfahrener Benutzer

    Registriert seit:
    22. Januar 2014
    Beiträge:
    419
    Danke erhalten:
    36
    Danke vergeben:
    53
  5. ff-webdesigner

    ff-webdesigner Erfahrener Benutzer

    Registriert seit:
    22. Januar 2014
    Beiträge:
    419
    Danke erhalten:
    36
    Danke vergeben:
    53
    ich habe etwas weiter gehackt. shopversion 4.4.0.4
    /includes/xtcPrice.php
    zeile 63 einbauen:

    PHP:
    if(strpos($_SERVER['REQUEST_URI'],"Promo-2022")!==FALSE)    {
                
    $this->actualGroup 0;
                
    $this->cStatus['customers_status_show_price']="1";
                
    $this->cStatus['customers_status_id']="0";
    das führt dann schon mal dazu dass auf der contentseite produktpreise abgezeigt werden obwohl generell gäste keine preise sehen dürfen in den shop:
    https://marrya.de/info/Promo-2022.html
    auch auf der betreffenden produktseite werden die preise beim ersten laden angezeigt:
    https://marrya.de/Promo-2022/es-12-454.html
    aber nach setzen der optionen erscheint wieder "Preise können nur Händler sehen"
    wo bekomme ich das noch raus?
    ggf. $_SESSION?
    habe versucht danach noch einzubauen:
    Code:
     session_start();
                $_SESSION['customer_status']['customers_status_id']='0';
                $_SESSION['customer_status']['customers_status_show_price']='1';
    aber das greift nicht, variablen unverändert. ich kann session arrays oder variablen löschen, aber nicht neu setzen...sind die jetzt irgendwie protected?
    ich vemute genau hier muss ich ansetzen damit auch der warenkob button wieder erscheint, oder?
     
  6. Christian Mueller

    Christian Mueller Beta-Held

    Registriert seit:
    4. Juli 2011
    Beiträge:
    3.699
    Danke erhalten:
    889
    Danke vergeben:
    288
    Warum stellst Du nicht für alle die Preise sichtbar und blendest im standard-template die Preise aus?
    Dann hast du p_price immer gefüllt und kannst für Artikel, wo die Preise angezeigt werden sollen, das normale Standard-Template benutzen.
     
  7. ff-webdesigner

    ff-webdesigner Erfahrener Benutzer

    Registriert seit:
    22. Januar 2014
    Beiträge:
    419
    Danke erhalten:
    36
    Danke vergeben:
    53
    hmmm...interessante idee...ist zwar alles "von hinten" aufzäumen. denn wir brauchen nur zwei dutzend artikel einer kategorie für alle mit preis, ein paar hundert weitere ohne. ich müsste dann in den templates smarty.session.customer_group abfragen plus url. nur wenn url gleich xyz dann preise anzeigen ansonsten generell nur "preise nur für händer sichtbar". dazu müsste ich denke ich 4 templates modifizieren: productboxes in listing und swiper sowie product info. ein problem dürfte aber sicher bleiben: nach auwahl der optionen wird dynamisch wieder ein neu ermittelter preis eingefügt.
     
  8. ff-webdesigner

    ff-webdesigner Erfahrener Benutzer

    Registriert seit:
    22. Januar 2014
    Beiträge:
    419
    Danke erhalten:
    36
    Danke vergeben:
    53
    danke für den input, bisschen rumprobiert. leider in unserem fall auch keine lösung. ja, ich könnte für gäste alle preise sichtbar schalten. gastpreise alle auf z.v. 1€ setzen und dann mittels smarty umwandeln in "preise nur für händler sichtbar". die "echten" händlerpreise müssten dann in der db von KG gast nach händler kopiert werden. soweit sogut.

    aber wir haben auch attribute und eigenschaften mit auf/abpreisen. hier haut dann das filtern "1€ > preise nur für händler sichtbar" garantiert nicht mehr hin. zumal ja preise auf produktseiten dynamische geupdated werden.

    ich denke daher mein ansatz ist schon der richtige. die grundlagen dort ändern wo wir es brauchen. nur in der einen kategorie in der gäste preise sehen können umstellen. in unserem fall sind das sehr sicher die $_SESSION variablen. aber da scheinen laut dominik späte neue gambio serviceklassen zu greifen, und zwar sehr komplex. die session wird anscheinend mehrfach neu gesetzt. daran beisse ich mir gerade die zähne aus. ich schaffe es nicht $_SESSION parameter (konkret:
    $_SESSION['customer_status']['customers_status_id']='0';
    $_SESSION['customer_status']['customers_status_show_price']='1';) neu zu setzen. hat da wer einen tipp?
     
  9. ff-webdesigner

    ff-webdesigner Erfahrener Benutzer

    Registriert seit:
    22. Januar 2014
    Beiträge:
    419
    Danke erhalten:
    36
    Danke vergeben:
    53
  10. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    Ich habe es gerade verschoben.
     
  11. ff-webdesigner

    ff-webdesigner Erfahrener Benutzer

    Registriert seit:
    22. Januar 2014
    Beiträge:
    419
    Danke erhalten:
    36
    Danke vergeben:
    53