Anleitung Versandart klonen / kopieren (table)

Thema wurde von pema, 20. März 2015 erstellt.

  1. Anonymous

    Anonymous G-WARD 2015/2016

    die Sprachdateien habe ich im Ordner lang/"Sprache"/original_sections/modules/shipping
     
  2. Anonymous

    Anonymous Erfahrener Benutzer

    Danke Achim, werde ich ausprobieren.
     
  3. Anonymous

    Anonymous Mitglied

    Hallo die Runde,

    ich habe mich an die Anleitung gehalten aber der Text wird im Frontend nicht richtig dargestellt, Habe ich noch irgendwas übersehen? Habe die Sprachdatei in lang/german/user_sections/modules.freeamount2.lang.inc.php

    Vielen Dank
     

    Anhänge:

  4. Anonymous

    Anonymous G-WARD 2015/2016

    leere mal den Cache für Texte!
     
  5. Anonymous

    Anonymous Mitglied

    Schon alles gemacht...
     
  6. barbara

    barbara G-WARD 2014-2020

    Leere die Cache in der Reihenfolge:
    Texte -> Module -> Seiten -> Browsercache
     
  7. Anonymous

    Anonymous Mitglied

    Nein funktioniert auch nicht. Ich verzweifle langsam...
     
  8. Anonymous

    Anonymous Erfahrener Benutzer

    Vielleicht mal die Sprachdatei hier ablegen: lang/german/original_sections/modules/shipping

    siehe auch diesen Beitrag:(Link nur für registrierte Nutzer sichtbar.)
     
  9. Anonymous

    Anonymous Mitglied

  10. sfz

    sfz Neues Mitglied

    Leider hat NiPr nicht den genannten Beitrag verlinkt. Bei mir werden im Frontend auch nur die Variablen statt der Textbausteine angezeigt. Hat dafür jemand eine Lösung?
     
  11. Ken Nixler

    Ken Nixler Mitglied

    Ich habe unseren Shop vom 3.5xx auf 3.8.1.2 aktualisiert.
    Die Tabledateien mussten danach angepasst werden.
    • Beitrag #89 : Die beiden Codezeilen in die table2.php einfügen.

    Unterhalb von

    public function __construct() {
    global $order;

    Das einfügen:
    $languageTextManager = MainFactory::create_object('LanguageTextManager', array(), true);
    $languageTextManager->init_from_lang_file('table2');

    • Im unteren Breich der Datei musste ich unterhalb von
    function install() {

    in den folgenden 8 Zeilen musste ich eine zusätzliche "2" einfügen, die vorher bei uns nicht nötig war.

    xtc_db_query("insert into " . TABLE2_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())");

    Die Spachdatei liegt unter lang/"Sprache"/original_sections/modules/shipping
     
  12. Liese

    Liese Mitglied

    Guten Abend,

    nachdem ich diesen Thread nun mehrmals durchgearbeitet habe und das Klonen nicht hinkriege bitte ich einaml die Cracks auf meine Skripte zu schauen, ich komme nicht weiter.

    Ich möchte das Modul Item klonen und habe nach Anleitung item2.php erstellt und hochgeladen:

    <?php
    /* -----------------------------------------------------------------------------------------
    $Id: ITEM2.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(ITEM2.php,v 1.39 2003/02/05); www.oscommerce.com
    (c) 2003 nextcommerce (ITEM2.php,v 1.7 2003/08/24); www.nextcommerce.org

    Released under the GNU General Public License
    ---------------------------------------------------------------------------------------*/
    $languageTextManager = MainFactory::create_object('LanguageTextManager', array(), true);
    $languageTextManager->init_from_lang_file('item2.lang.inc.php');

    class ITEM2_ORIGIN {
    var $code, $title, $description, $icon, $enabled;


    public function __construct() {
    global $order;
    $languageTextManager = MainFactory::create_object('LanguageTextManager', array(), true);
    $languageTextManager->init_from_lang_file('item2');

    $this->code = 'ITEM2';
    $this->title = defined('MODULE_SHIPPING_ITEM2_TEXT_TITLE') ? MODULE_SHIPPING_ITEM2_TEXT_TITLE : '';
    $this->description = defined('MODULE_SHIPPING_ITEM2_TEXT_DESCRIPTION') ? MODULE_SHIPPING_ITEM2_TEXT_DESCRIPTION : '';
    $this->sort_order = defined('MODULE_SHIPPING_ITEM2_SORT_ORDER') ? MODULE_SHIPPING_ITEM2_SORT_ORDER : '0';
    $this->icon = '';
    $this->tax_class = defined('MODULE_SHIPPING_ITEM2_TAX_CLASS') ? MODULE_SHIPPING_ITEM2_TAX_CLASS : '0';
    $this->enabled = defined('MODULE_SHIPPING_ITEM2_STATUS') && MODULE_SHIPPING_ITEM2_STATUS === 'True';

    if ( ($this->enabled == true) && ((int)MODULE_SHIPPING_ITEM2_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_ITEM2_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, $total_count;

    $this->quotes = array('id' => $this->code,
    'module' => MODULE_SHIPPING_ITEM2_TEXT_TITLE,
    'methods' => array(array('id' => $this->code,
    'title' => MODULE_SHIPPING_ITEM2_TEXT_WAY,
    'cost' => (MODULE_SHIPPING_ITEM2_COST * $total_count) + MODULE_SHIPPING_ITEM2_HANDLING)));

    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);

    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_ITEM2_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_ITEM2_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_ITEM2_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_ITEM2_COST', '0.00', '6', '0', now())");
    xtc_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_key, configuration_value, configuration_group_id, sort_order, date_added) values ('MODULE_SHIPPING_ITEM2_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_ITEM2_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_ITEM2_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_ITEM2_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_ITEM2_STATUS', 'MODULE_SHIPPING_ITEM2_COST', 'MODULE_SHIPPING_ITEM2_HANDLING','MODULE_SHIPPING_ITEM2_ALLOWED', 'MODULE_SHIPPING_ITEM2_TAX_CLASS', 'MODULE_SHIPPING_ITEM2_ZONE', 'MODULE_SHIPPING_ITEM2_SORT_ORDER');
    }
    }

    MainFactory::load_origin_class('ITEM2');


    Danach dann die lang.php, alle Caches gelöscht und die Versandmodule geöffnet.

    Das neue Modul wird auch angezeigt:

    Den Anhang 23076 betrachten

    Aber ich kann es nicht installieren, beim anklicken verschwindet es, gehe ich auf installieren passiert nichts.

    Vielen Dank für Eure Hilfe
     
  13. Cyrus (LeGong)

    Cyrus (LeGong) Erfahrener Benutzer

    Hallo Liese,
    dein Code folgendermaßen geschrieben funktioniert es:
    Code:
    <?php
    /* -----------------------------------------------------------------------------------------
       $Id: item.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(item.php,v 1.39 2003/02/05); www.oscommerce.com
       (c) 2003    nextcommerce (item.php,v 1.7 2003/08/24); www.nextcommerce.org
    
       Released under the GNU General Public License
       ---------------------------------------------------------------------------------------*/
       
    
       $languageTextManager = MainFactory::create_object('LanguageTextManager', array(), true);
       $languageTextManager->init_from_lang_file('item2');
       
      class item2_ORIGIN {
        var $code, $title, $description, $icon, $enabled;
    
    
        public function __construct() {
          global $order;
    
          $this->code = 'item2';
          $this->title = MODULE_SHIPPING_ITEM2_TEXT_TITLE;
          $this->description = MODULE_SHIPPING_ITEM2_TEXT_DESCRIPTION;
          $this->sort_order = MODULE_SHIPPING_ITEM2_SORT_ORDER;
          $this->icon = '';
          $this->tax_class = MODULE_SHIPPING_ITEM2_TAX_CLASS;
          $this->enabled = ((MODULE_SHIPPING_ITEM2_STATUS == 'True') ? true : false);
    
          if ( ($this->enabled == true) && ((int)MODULE_SHIPPING_ITEM2_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_ITEM2_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, $total_count;
    
          $this->quotes = array('id' => $this->code,
                                'module' => MODULE_SHIPPING_ITEM2_TEXT_TITLE,
                                'methods' => array(array('id' => $this->code,
                                                         'title' => MODULE_SHIPPING_ITEM2_TEXT_WAY,
                                                         'cost' => (MODULE_SHIPPING_ITEM2_COST * $total_count) + MODULE_SHIPPING_ITEM2_HANDLING)));
    
          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);
    
          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_ITEM2_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_ITEM2_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_ITEM2_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_ITEM2_COST', '0.00', '6', '0', now())");
          xtc_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_key, configuration_value, configuration_group_id, sort_order, date_added) values ('MODULE_SHIPPING_ITEM2_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_ITEM2_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_ITEM2_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_ITEM2_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_ITEM2_STATUS', 'MODULE_SHIPPING_ITEM2_COST', 'MODULE_SHIPPING_ITEM2_HANDLING','MODULE_SHIPPING_ITEM2_ALLOWED', 'MODULE_SHIPPING_ITEM2_TAX_CLASS', 'MODULE_SHIPPING_ITEM2_ZONE', 'MODULE_SHIPPING_ITEM2_SORT_ORDER');
        }
      }
     
    MainFactory::load_origin_class('item2');
    
    
    die Datei als item2.php unter "SHOP/includes/modules/shipping/item2.php" speichern.
    Die Sprachdatei sieht dann folgendermaßen aus:
    Code:
    <?php
    /* --------------------------------------------------------------
       item.lang.inc.php 2018-04-09 gm
       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]
       --------------------------------------------------------------
    */
    
    $t_language_text_section_content_array = array
    (
       'MODULE_SHIPPING_ITEM2_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))',
       'MODULE_SHIPPING_ITEM2_ALLOWED_TITLE' => 'Erlaubte Versandzonen',
       'MODULE_SHIPPING_ITEM2_COST_DESC' => 'Die Versandkosten werden mit der Anzahl an Artikel einer Bestellung multipliziert, wenn diese Versandart angegeben ist.',
       'MODULE_SHIPPING_ITEM2_COST_TITLE' => 'Versandkosten',
       'MODULE_SHIPPING_ITEM2_HANDLING_DESC' => 'Handling Gebühr für diese Versandart.',
       'MODULE_SHIPPING_ITEM2_HANDLING_TITLE' => 'Handling Gebühr',
       'MODULE_SHIPPING_ITEM2_SORT_ORDER_DESC' => 'Reihenfolge der Anzeige',
       'MODULE_SHIPPING_ITEM2_SORT_ORDER_TITLE' => 'Sortierreihenfolge',
       'MODULE_SHIPPING_ITEM2_STATUS_DESC' => 'Möchten Sie Versandkosten pro Stück anbieten?',
       'MODULE_SHIPPING_ITEM2_STATUS_TITLE' => 'Versandkosten pro Stück aktivieren',
       'MODULE_SHIPPING_ITEM2_TAX_CLASS_DESC' => 'Folgende Steuerklasse an Versandkosten anwenden',
       'MODULE_SHIPPING_ITEM2_TAX_CLASS_TITLE' => 'Steuerklasse',
       'MODULE_SHIPPING_ITEM2_TEXT_DESCRIPTION' => 'Versandkosten pro Stück',
       'MODULE_SHIPPING_ITEM2_TEXT_TITLE' => 'Versandkosten pro Stück',
       'MODULE_SHIPPING_ITEM2_TEXT_WAY' => 'Standard',
       'MODULE_SHIPPING_ITEM2_ZONE_DESC' => 'Wenn eine Zone ausgewählt ist, wird diese Versandmethode ausschließlich für diese Zone angewendet',
       'MODULE_SHIPPING_ITEM2_ZONE_TITLE' => 'Versandzone'
    );
    
    und muss unter "SHOP-Ordner/lang/german/user_sections/modules.item2.lang.inc.php" gespeichert werden.
    Dann im Adminbereich erst die Sprach-Cache, dann Cache für Seitenausgabe und anschliessend die Cache für Moduleinformationen leeren.

    Viel Glück
     
  14. Liese

    Liese Mitglied

    Ging jetzt, vielen Dank und viele Grüße Liese
     
  15. Anonymous

    Anonymous Erfahrener Benutzer

    generell wäre es ja super wenn man direkt im Amin im Versandarten Modul mit einem Klick ein Modul klonen und umbenennen könnte um es anschliessend weiter anzupassen. Das würde mir die Arbeit extrem erleichtern.
    An dieses Umschreiben wie hier beschrieben traue ich mich auf Grund von NULL Kenntnissen in der Materie nicht ran
     
  16. barbara

    barbara G-WARD 2014-2020

    Hilft Dir das?
    (Link nur für registrierte Nutzer sichtbar.)
     
  17. Anonymous

    Anonymous Erfahrener Benutzer

    ich bin schon bei table 6, benötige eventuell ein 7. geht dass dann auch oder zerschiesse ich mit der Datei dann mein existierendes table 2?
     
  18. barbara

    barbara G-WARD 2014-2020

    Du musst dann alles von "2" auf "7" ändern, sonst geht das schief.

    Es gibt aber von Xycons ein Modul, mit dem Du 9 Table-Module installieren kannst.
    Ich weiß aber nciht, wie es sich verhält, wenn Du schon welche hast. Da solltest Du Holger fragen.
    (Link nur für registrierte Nutzer sichtbar.)
     
  19. Anonymous

    Anonymous Erfahrener Benutzer

    danke Dir!
     
  20. Anonymous

    Anonymous Mitglied

    Hi,

    ich bin der Anleitung Schritt for Schritt gefolgt und das zweite Versandmodul wird auch im Back- und Frontend angezeigt.
    Jedoch, werden nach wie vor die Platzhalter der Texte angezeigt, anstatt der Texte.

    Ich habe "/includes/modules/shipping/table.php" dupliziert und in "table2.php" umbenannt. Ensprechend der Anleitung habe ich alle "table" in "table2" und alle "TABLE" in "TABLE2" umbenannt und darauf geachtet das TABLE_CONFIGURATION nicht umbenannt ist.

    Als Sprachdatei habe ich die "/lang/german/original_sections/modules/shipping/table.lang.inc.php" dupliziert und in "table2.lang.inc.php" umbenannt. Auch hier habe ich "TABLE" in "TABLE2" umbenannt.

    Die Texte werden unter "Toolbox => Texte anpassen" im Backend angezeigt, aber im Frontend nicht ersetzt.

    Cache ist mehrfach via Backend und FTP geleert, leider ohne erfolg.
    Ich habe die verwendeten Dateien mal angehaengt, vielleicht ist mit doch ein Fehler unterlaufen den ich partout nicht finde.

    Bin fuer jede Hilfe dankbar.
    Sandro
     

    Anhänge: