Hallo, Bestellung im Shop 100 Euro, Zahlung per Paypal 100 Euro. Ware nur zu 50% lieferbar 50 Euro. Betrag über den Shop und Paypal zurück gezahlt 50 Euro. Aber jetzt steht in der Bestellung noch 100 Euro drin. Wie korrigiert man das, habe nix gefunden! Paypal stimmt wieder! In Mein Büro stimmt es auch. Also wie wird das in Gambio richtig gebucht bzw. berechnet, dass der/die Beträge stimmen??
Du musst die Artikel korrigieren und dann die Beträge neu berechnen lassen (MwSt und so sollte auch überprüft werden).
Ja, ich finde es nicht, wie ich "Den Versand auf 0 oder löschen kann"! Der Betrag des Artikels lässt sich ändern. Mir geht es um die Versandkosten. Das bleibt stehen. Das muss ich ändern und darf keine Änderung auf Paypal haben.
Du öffnest die Bestellung und gehst auf den Button "Bearbeiten" Dann klickst Du oben auf den Reiter "Versandarten, Zahlungsweisen und Summen" Nun kannst Du rechts die Versandart mit den Kosten umstellen. und durch den button "speihcern" bestätigen. Jetzt kannst Du in dem Block "Zusammenfassung" darunter überprüfen, ob alles stimmt.
Danke, hat geklappt, nur habe ich da noch Fehler entdeckt. Siehe Bild: 3 x Warnung und "DHL und HERMES" sind nicht sichtbar. Man sieht nur "Kein Versand und Selbstabholung". Wie und wo muss das geändert werden?
Da wird die Sprachdatei nicht gefunden. Hast Du das in GXModules? wenn ja, erstelle in dem selben Verzeichnis im Ordner "Shop" ein weiteres Unterverzeichnis: Overloads/LanguageTextManager/ und darin eine Datei MappingArrayExtension.php mit diesem Inhalt: PHP: <?phpclass MappingArrayExtension extends MappingArrayExtension_parent{ protected function _initMappingArray() { parent::_initMappingArray(); // hier die entsprechenden geklonten Versandmodule eintragen $mappingArray = array( 'modules/shipping/table2.php' => 'table2', 'modules/shipping/table3.php' => 'table3', ); foreach(self::$languages as $languageArray) { foreach($mappingArray as $old => $new) { $old = 'lang/' . $languageArray['directory'] . '/' . sprintf($old, $languageArray['directory']); $new = sprintf($new, $languageArray['directory']); self::$sectionMappings[$old] = $new; } } }}
Genauso habe ich es unter shop/GXModules/Overloads/LanguageTextManager/MappingArrayExtension.php <?php class MappingArrayExtension extends MappingArrayExtension_parent { protected function _initMappingArray() { parent::_initMappingArray(); // hier die entsprechenden geklonten Versandmodule eintragen $mappingArray = array( 'modules/shipping/table2.php' => 'table2', 'modules/shipping/table3.php' => 'table3', ); foreach(self::$languages as $languageArray) { foreach($mappingArray as $old => $new) { $old = 'lang/' . $languageArray['directory'] . '/' . sprintf($old, $languageArray['directory']); $new = sprintf($new, $languageArray['directory']); self::$sectionMappings[$old] = $new; } } } } eingetragen. Cache geleert. Verändert sich aber nix. (Link nur für registrierte Nutzer sichtbar.) Versandart aktuell Kein Versand neu Kosten:
Ja, habe gerade den Cache nochmals gelöscht und den Cache im Browser auch. Bleibt unverändert. Soll ich ein Ticket einstellen?
Da das eine individuelle Anpassung ist, wird ein Ticket nicht unbedingt nützen Schau mal bitte in die lang-Dateien der Module, ob da diese Zeilen oben stehen: Code: $languageTextManager = MainFactory::create_object('LanguageTextManager', array(), true); $languageTextManager->init_from_lang_file('table2'); (entsprechend des Modules) Wenn nicht, setze die Zeile einmal über das $t_language_text_section_content_array = array
du meinst hier: shop/GXModules/Overloads/LanguageTextManager/MappingArrayExtension.php (entsprechend des Modules) Wenn nicht, setze die Zeile einmal über das $t_language_text_section_content_array = array finde ich weder noch! Ich brauche das immer etwas präzieser... immer den kompletten Pfad.
nein, ich meine die Dateien in lang/german/user_sections/.../ oder in GXModules/.../.../Shipping/Shop/TextPhrases/german/ je nachdem, wo Du die Sprachdateien abgelegt hast
blickt keiner mehr durch, hier habe ich das .... der Text wird gefunden ... $languageTextManager = MainFactory::create_object('LanguageTextManager', array(), true); $languageTextManager->init_from_lang_file('table2'); class table2_ORIGIN { var $code, $title, $description, $icon, $enabled; public function __construct() { global $order; $this->code = 'table2'; $this->title = defined('MODULE_SHIPPING_TABLE2_TEXT_TITLE') ? MODULE_SHIPPING_TABLE2_TEXT_TITLE : ''; $this->description = defined('MODULE_SHIPPING_TABLE2_TEXT_DESCRIPTION') ? MODULE_SHIPPING_TABLE2_TEXT_DESCRIPTION : ''; $this->sort_order = defined('MODULE_SHIPPING_TABLE2_SORT_ORDER') ? MODULE_SHIPPING_TABLE2_SORT_ORDER : '0'; $this->icon = ''; $this->tax_class = defined('MODULE_SHIPPING_TABLE2_TAX_CLASS') ? MODULE_SHIPPING_TABLE2_TAX_CLASS : '0'; $this->enabled = defined('MODULE_SHIPPING_TABLE2_STATUS') && MODULE_SHIPPING_TABLE2_STATUS === 'True'; if ( ($this->enabled == true) && ((int)MODULE_SHIPPING_TABLE2_ZONE > 0) ) { $check_flag = false; $check_query = xtc_db_query("select zone_id from " . TABLE_ZONES_TO_GEO_ZONES . " where geo_zone_id = '" . MODULE_SHIPPING_TABLE2_ZONE . "' and zone_country_id = '" . $order->delivery['country']['id'] . "' order by zone_id"); while ($check = xtc_db_fetch_array($check_query)) { if ($check['zone_id'] < 1) { $check_flag = true; break; } elseif ($check['zone_id'] == $order->delivery['zone_id']) { $check_flag = true; break; } } if ($check_flag == false) { $this->enabled = false; } } } function quote($method = '') { global $order, $shipping_weight, $shipping_num_boxes,$xtPrice; if (MODULE_SHIPPING_TABLE2_MODE == 'price') { $order_total = $xtPrice->xtcRemoveCurr($_SESSION['cart']->show_total()); } else { $order_total = $shipping_weight; } // BOF GM_MOD: $shipping = -1; $table_cost = preg_split('/[:,]/' , MODULE_SHIPPING_TABLE2_COST); $size = sizeof($table_cost); for ($i=0, $n=$size; $i<$n; $i+=2) { if ($order_total <= $table_cost[$i]) { $shipping = $table_cost[$i+1]; break; } } // BOF GM_MOD if(MODULE_SHIPPING_TABLE2_MODE == 'weight' && $shipping != -1) { $shipping = $shipping * $shipping_num_boxes + (double)MODULE_SHIPPING_TABLE2_HANDLING; } elseif($shipping == -1) { $error = true; $shipping = 0; $shipping_method = MODULE_SHIPPING_TABLE2_UNDEFINED_RATE; } $this->quotes = array('id' => $this->code, 'module' => MODULE_SHIPPING_TABLE2_TEXT_TITLE, 'methods' => array(array('id' => $this->code, 'title' => MODULE_SHIPPING_TABLE2_TEXT_WAY, 'cost' => $shipping))); // EOF GM_MOD if ($this->tax_class > 0) { $this->quotes['tax'] = xtc_get_tax_rate($this->tax_class, $order->delivery['country']['id'], $order->delivery['zone_id']); } if (xtc_not_null($this->icon)) $this->quotes['icon'] = xtc_image($this->icon, $this->title); // BOF GM_MOD: if ($error == true) $this->quotes['error'] = MODULE_SHIPPING_TABLE2_UNDEFINED_RATE; return $this->quotes; } function check() { if (!isset($this->_check)) { $check_query = xtc_db_query("select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_SHIPPING_TABLE2_STATUS'"); $this->_check = xtc_db_num_rows($check_query); } return $this->_check; } function install() { xtc_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_key, configuration_value, configuration_group_id, sort_order, set_function, date_added) VALUES ('MODULE_SHIPPING_TABLE2_STATUS', 'True', '6', '0', 'gm_cfg_select_option(array(\'True\', \'False\'), ', now())"); xtc_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_key, configuration_value, configuration_group_id, sort_order, date_added) values ('MODULE_SHIPPING_TABLE2_ALLOWED', '', '6', '0', now())"); xtc_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_key, configuration_value, configuration_group_id, sort_order, date_added) values ('MODULE_SHIPPING_TABLE2_COST', '', '6', '0', now())"); xtc_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_key, configuration_value, configuration_group_id, sort_order, set_function, date_added) values ('MODULE_SHIPPING_TABLE2_MODE', 'weight', '6', '0', 'gm_cfg_select_option(array(\'weight\', \'price\'), ', now())"); xtc_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_key, configuration_value, configuration_group_id, sort_order, date_added) values ('MODULE_SHIPPING_TABLE2_HANDLING', '0', '6', '0', now())"); xtc_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_key, configuration_value, configuration_group_id, sort_order, use_function, set_function, date_added) values ('MODULE_SHIPPING_TABLE2_TAX_CLASS', '0', '6', '0', 'xtc_get_tax_class_title', 'xtc_cfg_pull_down_tax_classes(', now())"); xtc_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_key, configuration_value, configuration_group_id, sort_order, use_function, set_function, date_added) values ('MODULE_SHIPPING_TABLE2_ZONE', '0', '6', '0', 'xtc_get_zone_class_title', 'xtc_cfg_pull_down_zone_classes(', now())"); xtc_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_key, configuration_value, configuration_group_id, sort_order, date_added) values ('MODULE_SHIPPING_TABLE2_SORT_ORDER', '0', '6', '0', now())"); } function remove() { xtc_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key in ('" . implode("', '", $this->keys()) . "')"); } function keys() { return array('MODULE_SHIPPING_TABLE2_STATUS', 'MODULE_SHIPPING_TABLE2_COST', 'MODULE_SHIPPING_TABLE2_MODE', 'MODULE_SHIPPING_TABLE2_HANDLING','MODULE_SHIPPING_TABLE2_ALLOWED', 'MODULE_SHIPPING_TABLE2_TAX_CLASS', 'MODULE_SHIPPING_TABLE2_ZONE', 'MODULE_SHIPPING_TABLE2_SORT_ORDER'); } } MainFactory::load_origin_class('table2');
Sorry, jetzt habe ich mich verheddert es ist der Verweis auf die Sprachdatei und die muss natürlich in die Modul-Datei. Ist also alles richtig bei Dir. Nachtrag: ich habe jetzt bei mir in den Shops und Testshops mal nachgesehen, ich habe den Text mal gar nciht drinnen, einmal den Text wie bei Dir: $languageTextManager = MainFactory::create_object('LanguageTextManager', array(), true); $languageTextManager->init_from_lang_file('table2'); und einmal einen etwas anderen: PHP: $languageTextManager = MainFactory::create_object('LanguageTextManager', array(), true); $languageTextManager->init_from_lang_file('item2'); Wenn das bei Dir mit dem "table2" nicht geht, dann versuche es doch einmal mit dem "item2"
weder noch! mir fällt auf, dass table etwas anders aussieht als table2, dass ist aber korrekt? Hat vielleicht nix mit einander zu tun.
Dein Pfad: shop/GXModules/Overloads/LanguageTextManager/MappingArrayExtension.php passt nicht ganz. Man kann die Sprachdateien und das Overload auch in GXModules anlegen. Der Pfad müsste dann etwa so sein: GXModules/DeinName/Modulname/Shop/Overloads/LanguageTextManager/MappingArrayExtension.php Wobei "DeinName" und "Modulnabme" von Dir vergeben werden Wenn Du aber die Sprachdateien unter lang/german/user_sections hast, kannst Du das Overload auch in den Ordner GXUserComponents/overloads/LanguageTextManager/ ablegen. Das ist dann einfacher. P.S. wo kann ich Urlaub beantragen? ich glaube ich bin reif dafür.
Moin Moin, ich fasse mal zusammen: IST zur Zeit: includes/modules/shipping/table2.php includes/modules/shipping/table3.php lang/german/user_sections/modules/shipping/table2.lang.inc.php lang/german/user_sections/modules/shipping/table3.lang.inc.php soll geändert werden auf: GXModules/DeinName/Modulname/Shop/Overloads/LanguageTextManager/MappingArrayExtension.php Hier kann ich eintragen was ich möchte? Wobei "DeinName" und "Modulnabme" von Dir vergeben werden Die Sprachdatei soll hier hin geschoben werden: GXUserComponents/overloads/LanguageTextManager/ Und auf diesen Positionen sollen entfernt werden? includes/modules/shipping/table2.php includes/modules/shipping/table3.php lang/german/user_sections/modules/shipping/table2.lang.inc.php lang/german/user_sections/modules/shipping/table3.lang.inc.php Ist das jetzt so korrekt? Blick bald nicht mehr durch! dazu: 3.15.x.x: (Link nur für registrierte Nutzer sichtbar.) Gruß Rainer Amend
Noch einmal ganz auf Anfang. Die Dateien includes/modules/shipping/table2.php includes/modules/shipping/table3.php bleiben da wo sie sind. Erstelle in GXModules dieses Verzeichnis: Meins/Versand/Shop/Overloads/LanguageTextManager/ und dort hinein die Datei MappingArrayExtension.php und Meins/Versand/Shop/TextPhrases/German/ und dahin die Dateien: shipping/table2.lang.inc.php shipping/table3.lang.inc.php (Wenn Du weitere Sprachen hast, muss das für die anderen Sprachen entsprechend gemacht werden) Der Aufbau sollte dann so aussehen: GXModules/Meins/Versand/Shop/Overloads/LanguageTextManager/MappingArrayExtension.php /TextPhrases/German/shipping/table2.lang.inc.php table3.lang.inc.php Statt "Meins" kannst Du Deinen Namen oder Kürzel verwenden und statt "Versand" kannst Du auch einen anderen, für Dich eindeutigen, Namen verwenden. Danach die Cache leeren.