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