Hallo, ihr kenndas bestimmt alle. Ihr wollt Staffelpreise erstellen und Gambio erscheint dann diese seltsame Staffelpreisansicht: 1-19; 20-49;50-99; 100-199; usw. Geht bitte in den Ordner Includes/classes und sucht euch die Datei product.php raus Ladet diese Datei per ftp z.B. fillezilla runter und öffnet sie mit einem Editor. Ich persönlich benutze den kostenlosen Notepad ++ Editor Geht nun in den Bereich der Zeilen 677 – 699 bzw. kopiert folgenden Code dort hinein Die Zeile 698 wurde neu hinzugefügt - ist aber bereits so u sehen. - ihr müsst nichts ändern. Wie ihr seht ist die Zeile 677 //HEIKO geändert/auskommentiert - bis 696 auskommentiert //ENDE HEIKO Zeile 698 wie bereits erwähnt eingefügt. Das aber nur zur Info: Kopiert einfach die Zeilen in die Datei an die richtige Stelle und dann sollte es gehen. Macht Euch aber bitte immer eine Sicherheitskopie der original product.php bzw. benennt diese um z.B. in product_org.php, damit ihr sie notfals wieder herstellen könnt. Ihr müsst den Admin bereich verlassen oder einen anderen Browser sehen, damit ihr die Änderungen seht, eventuell auch den Cache leeren. Ich würde mich über eure Rückmeldung freuen. Vielen Dank an meinen Buddy Heiko, der dies für mich gemacht hat. Hier der einzufügende Code : //HEIKO geändert/auskommentiert //if(isset($staffel[$i + 1]['stk'])) //{ //if((double)$staffel[$i + 1]['stk'] - (double)$this->data['gm_graduated_qty'] > $quantity) //{ // $quantity_output = gm_prepare_number($quantity, $xtPrice->currencies[$_SESSION['currency']]['decimal_point']) . ' - ' . gm_prepare_number(($staffel[$i + 1]['stk'] - (double)$this->data['gm_graduated_qty']), $xtPrice->currencies[$_SESSION['currency']]['decimal_point']); //} //elseif((double)$staffel[$i + 1]['stk'] - (double)$this->data['gm_graduated_qty'] == $quantity) //{ // $quantity_output = 'ab '.gm_prepare_number($quantity, $xtPrice->currencies[$_SESSION['currency']]['decimal_point']); //} //$quantity_output = 'ab '.gm_prepare_number($quantity, $xtPrice->currencies[$_SESSION['currency']]['decimal_point']); //} //else //{ // $quantity -= (double)$this->data['gm_graduated_qty']; // $quantity_output = '> ' . gm_prepare_number($quantity, $xtPrice->currencies[$_SESSION['currency']]['decimal_point']); //} // ENDE HEIKO geändert/auskommentiert //nächste zeile ist von HEIKO $quantity_output = 'ab '.gm_prepare_number($quantity, $xtPrice->currencies[$_SESSION['currency']]['decimal_point']); //ENDE HEIKO
Willkommen im Forum. zunächst ist es schön, dass Du Deine Lösung hier postest Aber: 1. Du hast für den Code keine Code-Box benutzt. Das kann zur Folge haben, dass beim Kopieren unerwünschter Quellcode oder Leerzeichen mit kopiert werden, die dann zu Fehlermeldungen führen. Außerdem ist es in der Box besser lesbar. Die Box findest Du, wenn du auf das kleine "+" im Kästchen klickst. Zum Vergleich eine Zeile so: // $quantity -= (double)$this->data['gm_graduated_qty']; und in der Box: PHP: // $quantity -= (double)$this->data['gm_graduated_qty']; 2. Beim nächsten Update fängst Du wieder an die Änderung zu machen, zumindest wenn die Datei im Update überschrieben wird. Das geht auch Updatesicher. Mehr dazu findest Du hier: (Link nur für registrierte Nutzer sichtbar.) Und als Tipp, falls Du das nicht alleine Update-scher hin bekommst: Kai Stejuhn hat etwas ähnliches freundlicherweise als Gratismodul auf seiner Seite: (Link nur für registrierte Nutzer sichtbar.)
Du kannst auch folgenden Code nehmen: Code: <?php class staffel_product extends staffel_product_parent { function getGraduated() { global $xtPrice; $staffel_data = array(); if($xtPrice->xtcCheckSpecial($this->pID) == 0) { $staffel_query = xtDBquery("SELECT quantity, personal_offer FROM " . TABLE_PERSONAL_OFFERS_BY . (int)$_SESSION['customers_status']['customers_status_id'] . " WHERE products_id = '" . $this->pID . "' ORDER BY quantity ASC"); //Avenger start $customers_status=(int) $_SESSION['customers_status']['customers_status_id']; if ($customers_status==0) { $customers_status=DEFAULT_CUSTOMERS_STATUS_ID_GUEST; } $staffel_query = xtDBquery("SELECT quantity, personal_offer FROM ".TABLE_PERSONAL_OFFERS_BY.$customers_status." WHERE products_id = '".$this->pID."' ORDER BY quantity ASC"); //Avenger ende $staffel = array(); while($staffel_values = xtc_db_fetch_array($staffel_query, true)) { $staffel[] = array('stk' => (double)$staffel_values['quantity'], 'price' => (double)$staffel_values['personal_offer']); } for($i = 0, $n = sizeof($staffel); $i < $n; $i ++) { // BOF GM_MOD $quantity_output = ''; $quantity = (double)$staffel[$i]['stk']; if($quantity < (double)$this->data['gm_min_order']) { $quantity = (double)$this->data['gm_min_order']; } if(isset($staffel[$i + 1]['stk'])) { if((double)$staffel[$i + 1]['stk'] - (double)$this->data['gm_graduated_qty'] > $quantity) { $quantity_output = gm_prepare_number($quantity, $xtPrice->currencies[$_SESSION['currency']]['decimal_point']) . '-' . gm_prepare_number(($staffel[$i + 1]['stk'] - (double)$this->data['gm_graduated_qty']), $xtPrice->currencies[$_SESSION['currency']]['decimal_point']); } elseif((double)$staffel[$i + 1]['stk'] - (double)$this->data['gm_graduated_qty'] == $quantity) { $quantity_output = gm_prepare_number($quantity, $xtPrice->currencies[$_SESSION['currency']]['decimal_point']); } } else { $quantity -= (double)$this->data['gm_graduated_qty']; // $quantity_output = '> ' . gm_prepare_number($quantity, $xtPrice->currencies[$_SESSION['currency']]['decimal_point']); $quantity_output = 'ab ' . gm_prepare_number($quantity + 1, $xtPrice->currencies[$_SESSION['currency']]['decimal_point']); } $vpe = ''; if($this->data['products_vpe_status'] == 1 && $this->data['products_vpe_value'] != 0.0 && $staffel[$i]['price'] > 0) { $vpe = $staffel[$i]['price'] - $staffel[$i]['price'] / 100 * $discount; $vpe = $vpe * (1 / $this->data['products_vpe_value']); } require_once (DIR_FS_INC . 'xtc_get_vpe_name.inc.php'); if($quantity_output != '') { if($vpe) { $staffel_data[$i] = array('QUANTITY' => $quantity_output, 'VPE' => trim($xtPrice->xtcFormat($vpe, true, $this->data['products_tax_class_id']) . TXT_PER . xtc_get_vpe_name($this->data['products_vpe'])), 'PRICE' => $xtPrice->xtcFormat($staffel[$i]['price'] - $staffel[$i]['price'] / 100 * $discount, true, $this->data['products_tax_class_id']), 'UNIT' => $this->data['unit_name']); } else { $staffel_data[$i] = array('QUANTITY' => $quantity_output, 'VPE' => $vpe, 'PRICE' => $xtPrice->xtcFormat($staffel[$i]['price'] - $staffel[$i]['price'] / 100 * $discount, true, $this->data['products_tax_class_id']), 'UNIT' => $this->data['unit_name']); } } // EOF GM_MOD } } return $staffel_data; } } Die Datei benennst Du staffel_product.inc.php und packst diese in den Ordner GXUserComponents/overloads/product/ Vorteil hier ist noch, das Du als Admin auch die Stafelpreise jetzt sehen kannst und hast das "ab" davor. Funktioniert seit Jahren trotz Updates sehr gut bei uns bis jetzt;-)
Hi Leute ich möchte dass die Staffelpreise nicht angezeigt werden, weil es unschön ist ein langen Balken zu betrachten. Wo kann ich diese Box deaktivieren ohne dass es Darstellung Probleme gibt. Für jede Antwort ein großes Danke.
Was ist ein "langer Balken"? Staffelpreise legt man eigentlich an, um Kunden zum Kauf von mehr Artikeln zu animieren. Das funktioniert aber nur, wenn der Kunde die Staffeln auch sieht. Du kannst in der Kundengruppe jeweils die Staffelpreise aktivieren oder deaktivieren. Werden keine Staffelpreise angezeigt, werden auch keine Berechnet. - da könnte man sich das Anlegen auch sparen
Der Kunde bekommt die Info bei der Artikelbeschreibung dass es Staffelpreise gibt und in welche Menge als Tafel. Es soll nur nicht in Warenkorb angezeigt werden als so ein rissiger Balken. Natürlich soll ein Berechnung Staat finden. Meine Staffelpreise gehen bis 1000 st. mit ein Staffelung von 5. Dass geht über den Footer hinaus. Im Inspektor von Mozilla sehe ich das es ein Box ist nur als CSS, aber ich finde die Datei nicht.
Das müsste der Block in der tempaltes/Honeygrid/module/product_info/standard.html sein: HTML: {block name="module_product_info_standard_sticky_box_graduated_price_if"} {if $MODULE_graduated_price != '' && $QUANTITY} {block name="module_product_info_standard_sticky_box_graduated_price"} {$MODULE_graduated_price} {/block} {/if} {/block} Ich weiß aber nicht, ob die Berechnung noch geht, wenn man das weg nimmt.
Barbara du bist einfach spitze und ich bin unsagbar froh und dankbar dass es dich gibt. ES FUNKTIONIERT Danke vielmals!!
Hallo, ich möchte das Thema nochmal aufgreifen. Wie mache ich das mit der Anzeige wie in dem Bild im ersten Beitrag mit Shopversion 4.03? Ich habe den Code von wie von Charon beschrieben eingebaut. Passiert ist leider nichts.
GXUserComponents wird nicht mehr genommen Dass muss jetzt in GXModules/DeinName/Stafflepreise/Shop/Overloads/
Hallo Barbara, danke für deine Antwort. Das habe ich getan. Die Datei liegt in GXModules/..../Staffelpreis/Shop/Overloads/product/ im Code habe ich auch class staffel_product extends staffel_product_parent durch class ks_overload_product extends product_parent ersetzt nachdem eine Fehlermeldung kam, dass es keine staffel_product findet. Geht leider auch nicht.
KS gehört zu einem Modul von Kai Stejuhn. Das hat nichts mit der oben genannten Datei zu tun, es sei denn, dass es die selbe Datei überlädt Hast Du da ein Modul, was auf die Datei geht?
Nee, die Datei / das Verzeichniss kommt wohl von einer anderen Installation, bei welcher ich die Dateien vom Shop beim einspielen eines Backups eines anderen Testshops mit übernommen habe. Dort ist die Anzeige aber auch nicht wie gewünscht. Habe mich vorhin schon gewundert warum in dem Verzeichniss schon eine Datei ist
Manchmal sollte man aufräumen Willst Du das "Ab" davor oder die Staffeln als Admin sehen (geht nur bei den Staffeln der Kundengruppe "Gast")?
Guten Morgen. Ich hätte gerne vor jeder Staffel "ab" - wie im Bild des Threaderstellers. Bombe wäre natürlich noch ein "ab vor dem angezeigten Preis und hier statt der ersten Preisstaffel den niedrigsten aus der Staffel zu nehmen, - wenn es denn eine Staffelung gibt. Haben ja nicht alle Artikel Als Admin sehe ich die Staffelpreise. Die bekommen bei uns alle Kundengruppen angezeigt.
Dann hast Du schon eine Anpassung dafür, denn im Standard sieht der Admin keinen Staffelpreis, und deshalb geht das andere nicht. Das müsstest Du zusammenführen (lassen)
Ich habe es für mich etwas überarbeitet. Wenn es jemand gebrauchen kann. Die Datei entzippen und in GXModules/Eigenes/ kopieren. Dann Cache leeren. Bei der letzten Staffel steht jetzt "ab" statt ">" und die Staffelpreise haben eine CSS-Klassen zum Stylen bekommen. So kann z.B. der Preis fett gestellt werden und der VPE-Preis in eine neue Zeile gelegt werden. Die css-Datei liegt auch in dem Ordner. Den Code könnt ihr auch im SE ins eigene css kopieren. Dann aber den Ordner Css aus GXModule löschen. Funktioniert bei mir unter der Version 4.4.0.3 im Honeygrid-Theme und Malibu prima. Viel Spaß beim Probieren