Hallo, ich benötige das Versandmodul 'table' für meinen GX2 Shop dreimal geklont. Wer kann das "programmieren" und mir ein Angebot dazu machen? Siehe auch den Thread http://www.gambio-forum.de/threads/7061-table-Versandmodul-kopieren-duplizieren und den Thread http://www.gambio-forum.de/threads/7047-Neues-Versandmodul-taucht-nicht-auf Angebote und weitere Infos bitte per Mail, danke! Danke und Gruß Florian
Klar ist das das dritte Mal, aber immer mit einer anderen Intention. In diesem Post geht es mir darum, jemanden zu finden, der das programmieren kann und der mir das als individuelle Erweiterung programmiert. Ich vergebe quasi einen Programmierauftrag und suche keine Hilfe mehr zu meinem Problem hier im Forum. Das die Forenteilnehmer das evtl. nicht wissen ist ja kein Problem, aber ich finde es ein wenig sch... ade, dass Gambio sich nicht dazu äußert, weil ich mir nicht vorstellen kann, dass das duplizieren eine Versandmoduls ein großes Problem ist.
OK, ich dachte das sei hier in dem Forum "Individuelle Erweiterungen" richtig.... mach ich dann mal, danke für den Hinweis.
Naja wenn du von Gambio ein Angebot willst dann ist das Portal richtig. Wenn du von Usern hilfe willst, passt das hier schon.aber beim 3. mal wird dann sicher immer noch keiner anworten. Aber ich mag mich irren. xD
Hallo zusammen, ich weiß, dass der Post schon älter ist, aber ich hatte das gleiche Problem. Die Anleitung zum Klonen beim Versandmodul table funktionierte nicht. Damit andere Nutzer nicht genauso fluchen und einen Haufen unnütze Zeit vergeuden oder vom Gambio Support abgezockt werden poste ich hier die Lösung: Das Problem ist, dass in der deutschen Language-Datei table.php die gesamten Define-Anweisungen auskommentiert sind . Gambio GX2 scheint diese nicht auszulesen, da alle Werte der Standardmodule in der Datenbank stehen (werden anscheinend über gm_lang.sql vom installer eingelesen). Wenn man das englische und das deutsche Modul vergleichst, sieht man den Unterschied. Mit ist es auch erst aufgefallen, als ich die php-Datei in Dreamweaver geladen habe und dieses die Codeabschnitte entsprechend formatiert hatte. Also einfach folgende Anleitung befolgen http://xtc-wiki.de/Tutorial:_Kopieren_eines_Versandmoduls und dafür sorgen, dass die Kommentarzeichen vor und nach den define-Anweisungen entfernt werden. Siehe auch: http://www.gambio-forum.com/gambio-...5531-table-versandmodul-kopieren-duplizieren/ @Dennis: Ja, du irrst dich. Ich finde es eher schlimm, dass man bei einer so einfachen Ursache von keinem aus dem Forum eine Hiffe bekommt. Trotz bezahltem Supportvertrag erwarte ich nicht, dass Gambio eine Anpassung kostenlos macht, aber ein Hinweis auf das Wiki oder der Tipp, dass man die Komentare entfernen muss, wäre da wirklich angebracht.
Beide Links von dir sind nicht von Gambio, wieso erwartest du also das man dir die als Tipps nennt? Und es war ja auch mehr darauf bezogen das es hier wohl gerade keiner weiß und daher auch beim 3. mal keine Antwort kommt. Individuelle Anpassungen wie Klonen von Versandmodulen sind glaube auch nciht im Support abgedeckt da individuelle erweiterung.
Hallo Dennis, ich will hier keine Diskussion anfangen, die sicher eh nicht weiterführt, aber ich bin über deine Antworten sehr verwundert. Ich finde die Forumteilnehmer sollte den Nutzern konstruktiv weiterhelfen. Eigentich geht es gar nicht, um das Klonen von Versandmodulen, sondern, dass die im Store enthaltene Funktion Versandkosten nach Preis gestaffelt nicht für Zonen ausgelegt ist. Wenn man nicht nur nach Deutschland verschickt, ist diese also nicht zu gebrauchen. Da eine ähnliche Funktion nach Gewicht existiert ist es nicht verständlich, warum Gambio diese Funktion nicht schon längst nachgerüstet hat. Die Anfragen danach findet man ja immer wieder in diversen Foren. Das Kopieren des Vesandmoduls ist ja nur ein Workaround für etwas, dass bereits im Shop enthalten sein sollte und das ist nicht besonders individuell. Da dieser Workaround schon länger existiert, gibt es ja auch den xtc-wiki Eintrag. Gambio hatte selbst einmal ein wiki, dass aber schon seit über einem Jahr nicht mehr aufrufbar ist. Da ich für den Gamio-Support ja bezahle, erwarte ich, dass mir bei meinen Problemen mit dem Shop geholfen wird, vor allem, wenn es sich um Funktionen handelt, die im Shop enthalten sein sollten. Da ist es vollkommen egal, ob Gambio selbst eine Lösung hat oder mir einen anderen Link nennt. Es geht ja nicht darum, dass sie mir beim Programmieren helfen sollen. Wenn es aber ein bekanntes Problem ist, dass man mit einem kleinen Hinweis beheben kann, ist es eine Abzocke, dem zahlenden(!) Kunden dies zu verschweigen und ihm dann eine indivuduelle Anpassung zu verkaufen, die es nicht ist. Das Modul, das bereits im Shop enthalten sein sollte, wird einfach aus der Schublade geholt und dafür dann eine Stunde Arbeitszeit abgerechnet. Dieses Geschäftsgebaren von Gambio habe ich nicht nur einmal erlebt. Ich verstehe auch nicht, waum du dich aufregst, dass Florian drei mal postet. Es ist doch die Regel, dass man als Forumbesucher nicht nach alten Einträgen sucht, um diese zu beantworten. Da vielleicht die, die es wissen mal eine gewisse Zeit nicht online sind, ist es doch sinnvoll, dass man eine Frage wieder einstellt. Am Besten vergessen wir all mein Geschwafel von oben wieder. Aber ich kann mit Florian sehr nachfühlen. Ich war auch sehr verärgert und konnte nicht verstehen, dass keiner weiterhelfen kann (oder will). In diesem Sinne, auf weniger Probleme. Marcus
Oh man wenn ich danach gehe was immer so alles sollte und könnte, dann hätten wir eine aber ein Super System das absolut keine Wünsche übrig lässt. Schreibs mit in die Wunschliste wenn du meinst das es mit ins System gehören sollte. Und auch wenn du meinst das es schon dazugehören sollte, es ist es nun mal nicht. Also ist es solange noch was individueles. Ist doch bei anderen Geschäften auch nicht anders.
Ich hab's nun von Gambio kostenpflichtig "nachprogrammieren" lassen. Was mich aber eher aufregt, ist die Tatsache, dass man es als ambitionierter Amateur nun nicht mehr alleine machen kann - wie so vieles andere auch. Ich nutze für einen anderen Shop bewusst einen anderen os:commerce Fork (und was anderes ist Gambio ja nun auch nicht), der auch auf der Höhe der Zeit ist, Buttonlösung implementiert hat usw. und da kann ich bspw. das Table Modul einfach so klonen, wie es in dem xtc wiki beschrieben ist. Ich habe den Eindruck, dass vieles von Gambio absichtlich in die DB oder anders ausgelagert ist, damit Otto-Normaluser immer weniger dran ändern kann und kostenpflichtigen Support einkaufen muss. Denn, um beim Beispiel Versandmodule zu bleiben, es besteht überhaupt keine Notwendigkeit, die Versandmodule in die DB so zu integrieren, dass sie nicht mehr einfach klonbar sind! (ein anderes Beispiel ist übrigens die Hermes Exportfunktion, die auch nicht ohne DB Zugriff/Änderung angepasst werden kann). Aber, wie gesagt, das ist nur mein Eindruck, könnte mich ja auch täuschen...
Jeder Fork macht andere erweiterungen und anpassungen. Wenn der eine was in den Kundendaten oder den Bestellungen ändert wie z.B. durch das Eigenschaften-System. Dann kommen Anpassungen überall vor. Und daher sind dann viele Module die für XTC waren nun mal nicht mehr mit Gambio kompatibel. Nur weil etwas vor Jahren mal das selbe Grundsystem hatte heißt das doch nicht das nach Jahrelanger verbesserungen dann noch alles von früher fuinktioniert.
) Da ärgert sich auch so mancher "Auto-Bastler" drüber, das er an seinem neuen Wagen nicht mehr so frickeln kann wie früher. Die Zeiten ändern sich und die Anforderungen auch.
Und da die Autohändler an Autos nichts mehr verdienen, ist das mitunter die einzige verlässliche Einnahmequelle. Wie sich Auto- und Shopmarkt doch ähneln.
Also, ich hab mir das von Gambio machen lassen. Ist nur die table2.php plus 2 sprachdateien (de,en). Die werden in eine GX2 Installation kopiert, und dann wird das Modul normal im Admin unter Versandarten aktiviert. Nix böse DB-änderungen... ;-) Die Dateien sehen so aus: /includes/modules/shipping/table2.php PHP: <?php/* -------------------------------------------------------------- table2.php 2012-08-21 gm [copy of table.php] Gambio GmbH http://www.gambio.de Copyright (c) 2010 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 ---------------------------------------------------------------------------------------*/ class table2_ORIGIN { var $code, $title, $description, $icon, $enabled; function table2_ORIGIN() { global $order; $this->code = 'table2'; $this->title = MODULE_SHIPPING_TABLE2_TEXT_TITLE; $this->description = MODULE_SHIPPING_TABLE2_TEXT_DESCRIPTION; $this->sort_order = MODULE_SHIPPING_TABLE2_SORT_ORDER; $this->icon = ''; $this->tax_class = MODULE_SHIPPING_TABLE2_TAX_CLASS; $this->enabled = ((MODULE_SHIPPING_TABLE2_STATUS == 'True') ? true : false); 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_TABLE_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 + MODULE_SHIPPING_TABLE2_HANDLING; } elseif($shipping == -1) { $error = true; $shipping = 0; $shipping_method = MODULE_SHIPPING_DP_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');?> /lang/german/modules/shipping/table2.php (unter /english nochmals das selbe) PHP: <?php/* -------------------------------------------------------------- table.php 2010-01-19 gm Gambio GmbH http://www.gambio.de Copyright (c) 2010 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.6 2003/02/16); www.oscommerce.com (c) 2003 nextcommerce (table.php,v 1.4 2003/08/13); www.nextcommerce.org (c) 2003 XT-Commerce - community made shopping http://www.xt-commerce.com ($Id: table.php 899 2005-04-29 02:40:57Z hhgag $) Released under the GNU General Public License ---------------------------------------------------------------------------------------*/global $gmLangFileMaster;$gmLangFileMaster->define_lang_file_content('lang/german/modules/shipping/table2.php');define('MODULE_SHIPPING_TABLE2_TEXT_TITLE', 'Versandkosten nach Preis/Gewicht');define('MODULE_SHIPPING_TABLE2_TEXT_DESCRIPTION', 'Versandkosten nach Preis/Gewicht');define('MODULE_SHIPPING_TABLE2_TEXT_WAY', 'Standard');define('MODULE_SHIPPING_TABLE2_TEXT_WEIGHT', 'Gewicht');define('MODULE_SHIPPING_TABLE2_TEXT_AMOUNT', 'Menge');define('MODULE_SHIPPING_TABLE2_UNDEFINED_RATE', 'Die Versandkosten können im Moment nicht errechnet werden');define('MODULE_SHIPPING_TABLE2_STATUS_TITLE' , 'Versandkosten nach Preis/Gewicht aktivieren');define('MODULE_SHIPPING_TABLE2_STATUS_DESC' , 'Möchten Sie Versandkosten nach Preis/Gewicht anbieten?');define('MODULE_SHIPPING_TABLE2_ALLOWED_TITLE' , 'Erlaubte Versandzonen');define('MODULE_SHIPPING_TABLE2_ALLOWED_DESC' , 'Geben Sie <b>einzeln</b> die Zonen an, in welche ein Versand möglich sein soll. (z.B. AT,DE (lassen Sie dieses Feld leer, wenn Sie alle Zonen erlauben wollen))');define('MODULE_SHIPPING_TABLE2_COST_TITLE' , 'Versandkosten');define('MODULE_SHIPPING_TABLE2_COST_DESC' , 'Die Versandkosten basieren auf Gesamtkosten oder Gesamtgewicht der bestellten Waren. Beispiel: 25:5.50,50:8.50,etc.. Bis 25 werden 5.50 verrechnet, darüber bis 50 werden 8.50 verrechnet, etc');define('MODULE_SHIPPING_TABLE2_MODE_TITLE' , 'Versandkosten Methode');define('MODULE_SHIPPING_TABLE2_MODE_DESC' , 'Die Versandkosten basieren auf Gesamtkosten oder Gesamtgewicht der bestellten Waren.');define('MODULE_SHIPPING_TABLE2_HANDLING_TITLE' , 'Handling Gebühr');define('MODULE_SHIPPING_TABLE2_HANDLING_DESC' , 'Handling Gebühr für diese Versandmethode');define('MODULE_SHIPPING_TABLE2_TAX_CLASS_TITLE' , 'Steuerklasse');define('MODULE_SHIPPING_TABLE2_TAX_CLASS_DESC' , 'Folgende Steuerklasse an Versandkosten anwenden');define('MODULE_SHIPPING_TABLE2_ZONE_TITLE' , 'Versandzone');define('MODULE_SHIPPING_TABLE2_ZONE_DESC' , 'Wenn eine Zone ausgewählt ist, wird diese Versandmethode ausschliesslich für diese Zone angewendet');define('MODULE_SHIPPING_TABLE2_SORT_ORDER_TITLE' , 'Sortierreihenfolge');define('MODULE_SHIPPING_TABLE2_SORT_ORDER_DESC' , 'Reihenfolge der Anzeige');?>
So, ich habe mir jetzt auch das table-Modul 4x kopiert und die Versandkosten für die Länder in Europa angelegt. Bei mir hat es aber nur funktioniert, nachdem ich in der /lang/german/modules/shipping/table2.php diese Zeile auskommentiert habe: PHP: global $gmLangFileMaster;$gmLangFileMaster->define_lang_file_content('lang/german/modules/shipping/table2.php'); Vielleicht hilf es jemandem. Übrigens muss man das in der englischen Sprachdatei nicht machen.....
Wozu musstest Du "für die Länder in Europa" unterschiedliche tables anlegen? Ein auf zones.php basierendes Modul sollte doch das gleiche machen wie mehrere table.php? Oder gibt es da ein Feature was ich übersehe? Viele Grüße - Christian -
wenn man statt nach Gewicht nach Preis die Versandkosten berechnen will, dann taugt zonese nicht dafür. Wäre natürlich schön wenn man bei zonese auch wählen könnte: Gewicht od. Preis................