Es werden ausschließlich für die Funktion des Forums notwendige Cookies verwendet!

Unsere Datenschutzerklärung


Inselzuschlag
Ergebnis 1 bis 7 von 7

Thema: Inselzuschlag

  1. #1
    Benutzer Avatar von Klaus Krengel
    Registriert seit
    16.12.2013
    Ort
    Bochum
    Beiträge
    82
    Downloads
    46
    Uploads
    0

    Inselzuschlag

    Hallo all ,

    ich bin auf der Suche nach einem Modul für meinen Gambio GX2 Shop - dem Inselzuschlag, da DPD mir eben für ein Paket auf einer besagte Insel eben 17,50€ berechnet hat. Wäre schön wenn mir da jemand weiter helfen könnte.

  2. #2
    Administrator Avatar von KlausK
    Registriert seit
    29.09.2010
    Beiträge
    3.325
    Blog-Einträge
    1
    Downloads
    360
    Uploads
    536

    AW: Inselzuschlag

    Hast du schonmal bei H.H.G. Multistore geschaut? Der hatte vor einige Jahren ein DPD-Modul mit Inselzuschlag.
    In das Näpfchen bin ich letztens gleich mit 6 Paketen getreten. Ich könnte so ein Modul für GLS brauchen!

  3. #3
    Benutzer Avatar von Klaus Krengel
    Registriert seit
    16.12.2013
    Ort
    Bochum
    Beiträge
    82
    Downloads
    46
    Uploads
    0

    AW: Inselzuschlag

    kann mir sonst keiner weiterhelfen ... ??

  4. #4
    Benutzer Avatar von Klaus Krengel
    Registriert seit
    16.12.2013
    Ort
    Bochum
    Beiträge
    82
    Downloads
    46
    Uploads
    0

    AW: Inselzuschlag

    Ich habe bei den Jungs vom Modified Forum das gefunden - da hat jemand aus dem Flat Modul ein Inselzuschlagmodul für DPD gemacht :

    Da dieses komische "DPD-Modul" einfach nicht nachvollziehbar ist habe ich nun einfach das DPD-Modul deaktiviert und an Stelle dessen FLAT verwendet.

    Im Modul selbst "/includes/modules/shipping/flat.php" habe ich die folgende Änderung direkt in der Methode "quote" vorgenommen:
    Code:
        $inseln = array('18565','25859','25845','25846','25847','25849','25863','25869','25938','25929','25930','25931','25932','25933','25939','25940','25941','25942','25946','25952','25953','25954','25955','25961','25962','25963','25964','25965','25966','25967','25968','25969','25970','25980','25981','25982','25983','25984','25985','25986','25992','25993','25994','25996','25997','25998','25999','25980','25981','25982','25983','25984','25985','25986','25987','25988','25989','25990','25997','25845','26465','26474','26486','26548','26571','26579','26757','27498','83209','83256');
         
              if (in_array($order->delivery['postcode'], $inseln) ){
              //Inselzuschlag erforderlich
              $this->quotes = array('id' => $this->code,
                                    'module' => MODULE_SHIPPING_FLAT_TEXT_TITLE,
                                    'methods' => array(array('id' => $this->code,
                                                             'title' => MODULE_SHIPPING_FLAT_TEXT_WAY . ' ('.MODULE_SHIPPING_FLAT_COST.'EUR zzgl. 11.50EUR Inselzuschlag)',
                                                             'cost' => MODULE_SHIPPING_FLAT_COST + 11.50)));
         
              } else {
              //keine Insel
              $this->quotes = array('id' => $this->code,
                                    'module' => MODULE_SHIPPING_FLAT_TEXT_TITLE,
                                    'methods' => array(array('id' => $this->code,
                                                             'title' => MODULE_SHIPPING_FLAT_TEXT_WAY,
                                                             'cost' => MODULE_SHIPPING_FLAT_COST)));
         
              }
    nur irgendwie will das bei mir nicht laufen

  5. #5
    Administrator Avatar von KlausK
    Registriert seit
    29.09.2010
    Beiträge
    3.325
    Blog-Einträge
    1
    Downloads
    360
    Uploads
    536

    AW: Inselzuschlag

    Was genau läuft denn da nicht?
    Gibt es Fehlermeldungen oder ähnliches?
    Poste am besten mal den kompletten Code, so wie du das jetzt modifiziert hast, aus der flat.php

  6. #6
    Benutzer Avatar von Klaus Krengel
    Registriert seit
    16.12.2013
    Ort
    Bochum
    Beiträge
    82
    Downloads
    46
    Uploads
    0

    AW: Inselzuschlag

    Hier mal eine flat.php

    Code:
    <?php
    /* -----------------------------------------------------------------------------------------
       $Id: flat.php 899 2005-04-29 02:40:57Z hhgag $   
    
       XT-Commerce - community made shopping
       http://www.xt-commerce.com
    
       Copyright (c) 2003 XT-Commerce
       -----------------------------------------------------------------------------------------
       based on: 
       (c) 2000-2001 The Exchange Project  (earlier name of osCommerce)
       (c) 2002-2003 osCommerce(flat.php,v 1.40 2003/02/05); www.oscommerce.com 
       (c) 2003	 nextcommerce (flat.php,v 1.7 2003/08/24); www.nextcommerce.org
    
       Released under the GNU General Public License 
       ---------------------------------------------------------------------------------------*/
    
    
      class flat_ORIGIN {
        var $code, $title, $description, $icon, $enabled;
    
    
        public function __construct() {
          global $order;
    
          $this->code = 'flat';
          $this->title = MODULE_SHIPPING_FLAT_TEXT_TITLE;
          $this->description = MODULE_SHIPPING_FLAT_TEXT_DESCRIPTION;
          $this->sort_order = MODULE_SHIPPING_FLAT_SORT_ORDER;
          $this->icon = '';
          $this->tax_class = MODULE_SHIPPING_FLAT_TAX_CLASS;
          $this->enabled = ((MODULE_SHIPPING_FLAT_STATUS == 'True') ? true : false);
    
          if ( ($this->enabled == true) && ((int)MODULE_SHIPPING_FLAT_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_FLAT_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;
    $inseln = array('18565','25859','25845','25846','25847','25849','25863','25869','25938','25929','25930','25931','25932','25933','25939','25940','25941','25942','25946','25952','25953','25954','25955','25961','25962','25963','25964','25965','25966','25967','25968','25969','25970','25980','25981','25982','25983','25984','25985','25986','25992','25993','25994','25996','25997','25998','25999','25980','25981','25982','25983','25984','25985','25986','25987','25988','25989','25990','25997','25845','26465','26474','26486','26548','26571','26579','26757','27498','83209','83256');
         
              if (in_array($order->delivery['postcode'], $inseln) ){
              //Inselzuschlag erforderlich
              $this->quotes = array('id' => $this->code,
                                    'module' => MODULE_SHIPPING_FLAT_TEXT_TITLE,
                                    'methods' => array(array('id' => $this->code,
                                                             'title' => MODULE_SHIPPING_FLAT_TEXT_WAY . ' ('.MODULE_SHIPPING_FLAT_COST.'EUR zzgl. 11.50EUR Inselzuschlag)',
                                                             'cost' => MODULE_SHIPPING_FLAT_COST + 11.50)));
         
              } else {
              //keine Insel
              $this->quotes = array('id' => $this->code,
                                    'module' => MODULE_SHIPPING_FLAT_TEXT_TITLE,
                                    'methods' => array(array('id' => $this->code,
                                                             'title' => MODULE_SHIPPING_FLAT_TEXT_WAY,
                                                             'cost' => MODULE_SHIPPING_FLAT_COST)));
         
              }
        }
    
        function check() {
          if (!isset($this->_check)) {
            $check_query = xtc_db_query("select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_SHIPPING_FLAT_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_FLAT_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_FLAT_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_FLAT_COST', '0.00', '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_FLAT_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_FLAT_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_FLAT_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_FLAT_STATUS', 'MODULE_SHIPPING_FLAT_COST','MODULE_SHIPPING_FLAT_ALLOWED', 'MODULE_SHIPPING_FLAT_TAX_CLASS', 'MODULE_SHIPPING_FLAT_ZONE', 'MODULE_SHIPPING_FLAT_SORT_ORDER');
        }
      }
      
    MainFactory::load_origin_class('flat');
    es wird einfach kein Zuschalg dazugerechnet bei den entsprechenden PLZ´en . Hab das Modul im Admin aktiviert .... nur der Inselzuschlag wird nicht mitberechnet ....

  7. #7
    Administrator Avatar von KlausK
    Registriert seit
    29.09.2010
    Beiträge
    3.325
    Blog-Einträge
    1
    Downloads
    360
    Uploads
    536

    AW: Inselzuschlag

    Ich könnte mir vorstellen, dass die Zahl gar nicht als Zahl sondern als Text gesehen wird.
    Oder, dass der Parser Probleme mit dem Punkt hat, er dient ja auch als Verkettungszeichen!
    Hast du mal versucht nur 11 anstatt 11.50 zu addieren?
    Oder die 11.50 in Klammern zu setzen?
    Vielleicht solltest du die 11,50 Euro einfach in einer Variable definieren:

    PHP-Code:
    $zuschlag 11.50

    'cost' => MODULE_SHIPPING_FLAT_COST $zuschlag))); 
    Für PHP-Code solltest du übrigens immer das PHP-Code-Fenster verwenden.
    Die integrierte Syntaxhervorhebung (Highlighting) erhöht die Lesbarkeit ungemein.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •