Modul 2. freeamount Modul / 2. table Modul

Dieses Thema im Forum "Module" wurde erstellt von barbara, 12. Juli 2018.

  1. Rainer Amend

    Rainer Amend Erfahrener Benutzer

    @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

    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

    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

    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

    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

    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

    @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.
     
    Zuletzt bearbeitet: 14. September 2019
  8. sonjuliana

    sonjuliana Neues Mitglied

  9. barbara

    barbara G-WARD 2014-2020

    Leere mal bitte den Cache in dieser Reihenfolge:
    Texte
    Module
    Seiten
    und schau dann noch einmal.
     
  10. Anonymous

    Anonymous G-WARD 2015/2016

    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.......
     
  11. Anonymous

    Anonymous G-WARD 2015/2016

  12. barbara

    barbara G-WARD 2014-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.
     
    Zuletzt bearbeitet: 30. Januar 2020
  13. Anonymous

    Anonymous G-WARD 2015/2016

    habe jetzt wieder Deine table2 rüber geladen und jetzt ist die Fehlermeldung weg, also besser so lassen.
     
  14. barbara

    barbara G-WARD 2014-2020

    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');
     
  15. Anonymous

    Anonymous Erfahrener Benutzer

    Dein Problem hängt mit PHP 7.2 zusammen und lässt sich so lösen:
    (Link nur für registrierte Nutzer sichtbar.)

    VG
     
  16. barbara

    barbara G-WARD 2014-2020

    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?
     
  17. Anonymous

    Anonymous Erfahrener Benutzer

    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.
     
  18. Anonymous

    Anonymous G-WARD 2015/2016

    da fehlt auf jeden Fall der Eintrag

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

    Anonymous G-WARD 2015/2016

    jetzt funktioniert es, ist wohl ein Cache-Problem?!
     
  20. Anonymous

    Anonymous G-WARD 2015/2016

    upload_2020-1-30_21-27-15.png

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