@barbara funktioniert. Wenn ich jetzt table2 auf table3 und table4 erweitern möchte, muss ich nur ... includes und lang kopieren un auf tableX umstellen? Wie stelle ich die Icons um, ich habe überall in dem Bereich das Bild von HERMES. Zwei HERMES Icon sollen bleiben und eins soll das DHL Icon zeigen! Und bleibt das nach einen Update erhalten? Danke für eine Antwort.
Du müsstest überall in den Dateien bei "table2" oder "TABLE2" die Zahl entsprechend ändern und in den Lang-Dateien dann auch gleich die Namen eintragen. Die Icons kannst du ganz einfach ändern, indem Du ein Icon mit dem Namen des Moduls erstellst (z.B. table2.jpg) und das Bild dann in das Verzeichnis images/icons/shipping/ hochlädst. Da ja keine Dateien des Shops überschrieben werden ist es Updatesicher, es sei denn, dass sich etwas an dem originalen Modul ändert, dann muss man das anpassen.
Jetzt gehe ich einen Schritt weiter ... Versandkosten sollen so bleiben, das heißt Versand als Preis: 0.00:49.99:3.95,0.00:99999.99 mit HERMES Die Sendung wird direkt im gewünschten Hermes PaketShop zugestellt. Preisvorteil gegenüber Zustellung an der Haustür Firma wo es abgeholt werden kann-Scheuerfeld Musterstraße. 1 99999 Ort Wie kann man sowas Umsetzen? Wichtig ist dabei, dass man den Kunden eine Spanne anbieten kann, das er seine Sendung kostenlos geliefert bekommt. Meines Erachtens sehr wichtig, weil viele Leute Arbeiten und Sendungen abholen!
Der Shop kennt die 'Hermes-Paketshops nicht. Der Kunde könnte also das wählen und dann seine Private Adresse eintragen.
Ist zu aufwändig, glaube nicht, dass das Funktionieren kann. Sollte vielleicht mal entwickelt werden, ich denke, dass auch andere Versandsdienstleister Shop to Shop bevorzugen. Ich denke schon, dass die Entwicklung von Versandkosten etwas vorangetrieben werden muss.
Dazu muss eine Verbindung mit Abfrage da sein, die die Paketschops auflistet (so wie bei DHL) Das gibt es für andere Dienstleister aber nicht. Ich denke nciht, dass da etwas kommt bevor der neue Checkout da ist - und der dauert noch ein bisschen. Dann soll aber wohl etwas flexibles kommen.
@barbara Danke für die eigene Einschätzung, verstanden, aber der Versand muss komplett neu strukturiert werden. Es würde auch schon reichen, wenn man die wichtigen Versandanbieter in deren Systemen eine kostenfreie Lieferung ab einem Bestimmten Preis in Gambio anbieten kann. Der Versandunternehmer bekommt eh sein Geld.
Hallo Barbara, hast du die Datei auch mit der Version v3.14.1.0 getestet? bekomme folgende Meldung: WARNING(2): "Use of undefined constant MODULE_SHIPPING_TABLE2_TEXT_TITLE - assumed 'MODULE_SHIPPING_TABLE2_TEXT_TITLE' (this will throw an Error in a future version of PHP)" WARNING(2): "Use of undefined constant MODULE_SHIPPING_TABLE2_TEXT_WAY - assumed 'MODULE_SHIPPING_TABLE2_TEXT_WAY' (this will throw an Error in a future version of PHP)" WARNING(2): "Cannot modify header information - headers already sent by (output started at /www/htdocs/w01519d3/sonjuliana.de/shop/gm/classes/ErrorHandler.php:419)" Habe alles so gemacht wie beschrieben? Ne Ahnung woran das liegen kann? Lieben Gruß V.
kann es sein, dass das mit 3.14.4.0 nicht mehr funktioniert?! Habe zuerst Deine Datei rüber geladen, habe dann mal die Original table.php mit Deiner verglichen und die neue sieht dann doch anders aus. Habe die table2.php dann aus der neuen table.php geklont und bekomme die Fehlermeldung, dass das bei einer späteren php-Version Fehler geben wird; geht aber jetzt auch schon nicht mehr. Bin testhalber mal zurück auf php 7.1 gegangen, hat aber auch nichts bewirkt.......
PHP 7,2 und Shopversion 3.15.4.0, keine Fehlermeldungen. Kann aber sein, dass ich das bei mir angepasst habe, bastel da ja dauernd.... Ich poste den Inhalt meiner Table 2 hier gleich mal... Moment.
habe jetzt wieder Deine table2 rüber geladen und jetzt ist die Fehlermeldung weg, also besser so lassen.
Hier ist er: PHP: <?php/* -------------------------------------------------------------- table.php 2018-05-28 Gambio GmbH http://www.gambio.de Copyright (c) 2018 Gambio GmbH Released under the GNU General Public License (Version 2) [http://www.gnu.org/licenses/gpl-2.0.html] -------------------------------------------------------------- based on: (c) 2000-2001 The Exchange Project (earlier name of osCommerce) (c) 2002-2003 osCommerce(table.php,v 1.27 2003/02/05); www.oscommerce.com (c) 2003 nextcommerce (table.php,v 1.8 2003/08/24); www.nextcommerce.org (c) 2003 XT-Commerce - community made shopping http://www.xt-commerce.com ($Id: table.php 1002 2005-07-10 16:11:37Z mz $) Released under the GNU General Public License ---------------------------------------------------------------------------------------*/$languageTextManager = MainFactory::create_object('LanguageTextManager', array(), true); $languageTextManager->init_from_lang_file('item2'); 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');
Dein Problem hängt mit PHP 7.2 zusammen und lässt sich so lösen: (Link nur für registrierte Nutzer sichtbar.) VG
Ich habe gerade mit WinMerge verglichen, die Dateien sind bei mir identisch - bis auf die "2" Was steht denn im Datum in Deiner originalen table.php?
Die zugehörigen Sprachdateien sind das Problem ab PHP 7.2: (Link nur für registrierte Nutzer sichtbar.) Je nachdem wie alt die Sprachdateien der geklonten table.php sind tritt der Fehler auf oder halt nicht.
da fehlt auf jeden Fall der Eintrag $languageTextManager = MainFactory::create_object('LanguageTextManager', array(), true); $languageTextManager->init_from_lang_file('item2');