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

Unsere Datenschutzerklärung


ANLEITUNG: Neues Versandmodul auf Basis vorhandener Module erstellen
Ergebnis 1 bis 1 von 1

Thema: ANLEITUNG: Neues Versandmodul auf Basis vorhandener Module erstellen

  1. #1
    Administrator Avatar von KlausK
    Registriert seit
    29.09.2010
    Beiträge
    3.181
    Blog-Einträge
    1
    Downloads
    353
    Uploads
    496

    Beitrag ANLEITUNG: Neues Versandmodul auf Basis vorhandener Module erstellen

    Weil für einen meiner Shops die Versandkosten für einige EU-Länder exorbitant gestiegen sind, habe ich dafür 3 weitere Module (Pauschale Versandkosten) erstellt.
    Damit lässt sich die EU in mehrere Zonen einteilen für die ich dann z.B. 39 Euro (BE,NL,LU,AT,CH = Zone 1), 59 Euro (DK,HU,CZ,FR = Zone 2) , 79 Euro (GB,GR,IT,SE = Zone 3), usw. definieren kann.

    Prinzipiell lassen sich mit dieser Methode alle Versandmodule duplizieren, was jedoch in den allermeisten Fällen keinen Sinn macht.

    Anleitung am Beispiel der bereits vorhandenen flat.php
    Funktioniert ab Version GX 4.1.1.x

    Pflicht-Werkzeuge (alle sind Open Source und Multilingual):
    Filezilla oder WinSCP
    NP++ (Notepad++)


    1. Versandmodul als Vorlage kopieren und anpassen
    HTML-Code:
    /includes/modules/shipping/flat.php
    kopieren nach
    HTML-Code:
    /includes/modules/shipping/flat2.php

    flat2.php mit dem Texteditor NP++ öffnen
    PHP-Code:
    class flat_ORIGIN 
    ersetzen durch
    PHP-Code:
    $languageTextManager MainFactory::create_object('LanguageTextManager', array(), true);
       
    $languageTextManager->init_from_lang_file('flat');
       
    class 
    flat_ORIGIN 
    STRG+H drücken und flat durch flat2 ersetzen [Alle Ersetzen], Groß-/Kleinschreibung beachten
    Anschließend FLAT durch FLAT2 ersetzen [Alle Ersetzen], Groß-/Kleinschreibung beachten
    ** Anmerkung unten beachten!


    2. Deutsche Sprachdatei als Vorlage kopieren und anpassen
    HTML-Code:
    /lang/german/original_sections/modules/shipping/flat.lang.inc.php
    kopieren nach
    HTML-Code:
    /lang/german/user_sections/modules/shipping/flat2.lang.inc.php

    flat2.lang.inc.php mit dem Texteditor NP++ öffnen
    STRG+H drücken und FLAT durch FLAT2 ersetzen [Alle Ersetzen], Groß-/Kleinschreibung beachten


    Anschließend sollten die Variablen für den Modul-Titel und -Beschreibung angepasst werden
    PHP-Code:
        'MODULE_SHIPPING_FLAT2_TEXT_DESCRIPTION' => 'Pauschale Versandkosten',
        
    'MODULE_SHIPPING_FLAT2_TEXT_TITLE' => 'Pauschale Versandkosten'
    ändern zu
    PHP-Code:
        'MODULE_SHIPPING_FLAT2_TEXT_DESCRIPTION' => 'Pauschale Versandkosten für Zone 2',
        
    'MODULE_SHIPPING_FLAT2_TEXT_TITLE' => 'Pauschale Versandkosten Zone 2'

    3. Englische Sprachdatei als Vorlage kopieren und anpassen
    HTML-Code:
    /lang/english/original_sections/modules/shipping/flat.lang.inc.php
    kopieren nach
    HTML-Code:
    /lang/english/user_sections/modules/shipping/flat2.lang.inc.php

    flat2.lang.inc.php mit dem Texteditor NP++ öffnen
    STRG+H drücken und FLAT durch FLAT2 ersetzen [Alle Ersetzen], Groß-/Kleinschreibung beachten


    Anschließend sollten die Variablen für den Modul-Titel und -Beschreibung angepasst werden
    PHP-Code:
        'MODULE_SHIPPING_FLAT2_TEXT_TITLE' => 'Flat Rate',
        
    'MODULE_SHIPPING_FLAT2_TEXT_DESCRIPTION' => 'Flat rate'
    ändern zu
    PHP-Code:
        'MODULE_SHIPPING_FLAT2_TEXT_TITLE' => 'Flat Rate Zone 2',
        
    'MODULE_SHIPPING_FLAT2_TEXT_DESCRIPTION' => 'Flat rate for Zone 2'

    4. Zum Schluss Caches leeren
    1. Cache für Texte leeren
    2. Cache für Modulinformationen leeren
    3. Cache für Seitenausgabe leeren



    5. Vorsicht beim Modul table.php **
    Beim Modul table.php darf man nicht einfach alle Begriffe table mit z.B. table2 ersetzen.
    Weil der Begriff table auch in der Programmstruktur verwendet wird, z.B. zur Abfrage der Datenbanktabellen, darf dieser Begriff natürlich nicht geändert werden.


    Ein Beispiel aus der [B]table.php[/B
    PHP-Code:
            $table_cost preg_split('/[:,]/'MODULE_SHIPPING_TABLE_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;
                }
            } 
    Hier darf nur die Variable MODULE_SHIPPING_TABLE_COST z.B. in MODULE_SHIPPING_TABLE2_COST geändert werden
    $table_cost darf nicht geändert werden.
    Geändert von KlausK (22.08.2021 um 10:35 Uhr)

Ähnliche Themen

  1. wie module erstellen
    Von loaded im Forum Gambio GX Module
    Antworten: 0
    Letzter Beitrag: 07.01.2020, 17:51
  2. Antworten: 0
    Letzter Beitrag: 19.08.2016, 18:43
  3. GLS Versandmodul
    Von robinson im Forum Gambio GX Module
    Antworten: 2
    Letzter Beitrag: 15.09.2015, 07:15
  4. Versandmodul - DHL Preise
    Von Hagen im Forum Gambio GX Module
    Antworten: 4
    Letzter Beitrag: 20.08.2014, 11:03
  5. Versandmodul GambioUltra
    Von lars im Forum Gambio GX Adminbereich
    Antworten: 15
    Letzter Beitrag: 03.09.2011, 20:59

Stichworte

Berechtigungen

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