Modul 2. freeamount Modul / 2. table Modul

Thema wurde von barbara, 12. Juli 2018 erstellt.

  1. Rainer Amend

    Rainer Amend Erfahrener Benutzer

    Registriert seit:
    24. Dezember 2015
    Beiträge:
    683
    Danke erhalten:
    15
    Danke vergeben:
    116
    @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.
     
  2. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    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.
     
  3. Rainer Amend

    Rainer Amend Erfahrener Benutzer

    Registriert seit:
    24. Dezember 2015
    Beiträge:
    683
    Danke erhalten:
    15
    Danke vergeben:
    116
    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!
     
  4. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    Der Shop kennt die 'Hermes-Paketshops nicht.
    Der Kunde könnte also das wählen und dann seine Private Adresse eintragen.
     
  5. Rainer Amend

    Rainer Amend Erfahrener Benutzer

    Registriert seit:
    24. Dezember 2015
    Beiträge:
    683
    Danke erhalten:
    15
    Danke vergeben:
    116
    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.
     
  6. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    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.
     
  7. Rainer Amend

    Rainer Amend Erfahrener Benutzer

    Registriert seit:
    24. Dezember 2015
    Beiträge:
    683
    Danke erhalten:
    15
    Danke vergeben:
    116
    #47 Rainer Amend, 13. September 2019
    Zuletzt bearbeitet: 14. September 2019
    @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.
     
  8. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    Leere mal bitte den Cache in dieser Reihenfolge:
    Texte
    Module
    Seiten
    und schau dann noch einmal.
     
  9. Anonymous

    Anonymous G-WARD 2015/2016

    Registriert seit:
    20. Februar 2012
    Beiträge:
    8.755
    Danke erhalten:
    1.516
    Danke vergeben:
    1.051
    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.......
     
  10. Anonymous

    Anonymous G-WARD 2015/2016

    Registriert seit:
    20. Februar 2012
    Beiträge:
    8.755
    Danke erhalten:
    1.516
    Danke vergeben:
    1.051
  11. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    #52 barbara, 30. Januar 2020
    Zuletzt bearbeitet: 30. Januar 2020
    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.
     
  12. Anonymous

    Anonymous G-WARD 2015/2016

    Registriert seit:
    20. Februar 2012
    Beiträge:
    8.755
    Danke erhalten:
    1.516
    Danke vergeben:
    1.051
    habe jetzt wieder Deine table2 rüber geladen und jetzt ist die Fehlermeldung weg, also besser so lassen.
     
  13. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    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');
     
  14. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    19. Juni 2012
    Beiträge:
    4.831
    Danke erhalten:
    1.122
    Danke vergeben:
    947
    Dein Problem hängt mit PHP 7.2 zusammen und lässt sich so lösen:
    (Link nur für registrierte Nutzer sichtbar.)

    VG
     
  15. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    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?
     
  16. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    19. Juni 2012
    Beiträge:
    4.831
    Danke erhalten:
    1.122
    Danke vergeben:
    947
    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.
     
  17. Anonymous

    Anonymous G-WARD 2015/2016

    Registriert seit:
    20. Februar 2012
    Beiträge:
    8.755
    Danke erhalten:
    1.516
    Danke vergeben:
    1.051
    da fehlt auf jeden Fall der Eintrag

    $languageTextManager = MainFactory::create_object('LanguageTextManager', array(), true);
    $languageTextManager->init_from_lang_file('item2');
     
  18. Anonymous

    Anonymous G-WARD 2015/2016

    Registriert seit:
    20. Februar 2012
    Beiträge:
    8.755
    Danke erhalten:
    1.516
    Danke vergeben:
    1.051
    jetzt funktioniert es, ist wohl ein Cache-Problem?!
     
  19. Anonymous

    Anonymous G-WARD 2015/2016

    Registriert seit:
    20. Februar 2012
    Beiträge:
    8.755
    Danke erhalten:
    1.516
    Danke vergeben:
    1.051
    upload_2020-1-30_21-27-15.png

    das mit dem Cache der Texte dauert wohl auch länger :)