gelöst Kopiertes Selbstabholungs Modul - Keine Texte aus Sprachdateien

Thema wurde von Anonymous, 23. Oktober 2017 erstellt.

  1. Anonymous

    Anonymous Mitglied

    Registriert seit:
    19. August 2017
    Beiträge:
    15
    Danke erhalten:
    2
    Danke vergeben:
    2
    Hallo zusammen,

    ich habe zwar das nachfolgende schon beim Thread "Versandart klonen / kopieren (table)" gepostet, aber ich glaube hier sind größe Chancen auf Lösung des Problems. Der andere Thread ist ja eher als Anleitung gedacht :)


    Also so langsam bin ich verzweifeln.

    Ich habe alles nach Anleitung gemacht aber er zeigt bei mir immer nur die Array Indizes an anstatt den hinterlegten Text.

    Ich habe das selfpickup Modul kopiert, in "selfpickup_hamburg.php" umbenannt und im Ordner ."includes/modules/shipping" hinterlegt.

    Hier der modifizierte Quelltext der Datei:
    PHP:
    class selfpickup_hamburg_ORIGIN
    {
        var 
    $code$title$description$icon$enabled;

        public function 
    __construct()
        {
            
    $this->code        'selfpickup_hamburg';
            
    $this->title       MODULE_SHIPPING_SELFPICKUP_HAMBURG_TEXT_TITLE;
            
    $this->description MODULE_SHIPPING_SELFPICKUP_HAMBURG_TEXT_DESCRIPTION;
            
    $this->icon        '';   // change $this->icon =  DIR_WS_ICONS . 'shipping_ups.gif'; to some freeshipping icon
            
    $this->sort_order  MODULE_SHIPPING_SELFPICKUP_HAMBURG_SORT_ORDER;
            
    $this->enabled = ((MODULE_SHIPPING_SELFPICKUP_HAMBURG_STATUS == 'True') ? true false);
        }

        function 
    quote($method '')
        {
            
    $this->quotes = array(
                
    'id' => $this->code,
                
    'module' => MODULE_SHIPPING_SELFPICKUP_HAMBURG_TEXT_TITLE
            
    );

            
    $this->quotes['methods'] = array(array(
                
    'id'    => $this->code,
                
    'title' => MODULE_SHIPPING_SELFPICKUP_HAMBURG_TEXT_WAY,
                
    'cost'  => 0
            
    ));

            if(
    xtc_not_null($this->icon))
            {
                
    $this->quotes['icon'] = xtc_image($this->icon$this->title);
            }

            return 
    $this->quotes;
        }

        function 
    check()
        {
            
    $check xtc_db_query("select configuration_value from " TABLE_CONFIGURATION " where configuration_key = 'MODULE_SHIPPING_SELFPICKUP_HAMBURG_STATUS'");
            
    $check xtc_db_num_rows($check);

            return 
    $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_SELFPICKUP_HAMBURG_STATUS', 'True', '6', '7', '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_SELFPICKUP_HAMBURG_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_SELFPICKUP_HAMBURG_SORT_ORDER', '0', '6', '4', now())");
        }

        function 
    remove()
        {
            
    xtc_db_query("delete from " TABLE_CONFIGURATION " where configuration_key in ('" implode("', '"$this->keys()) . "')");
        }

        function 
    keys()
        {
            return array(
    'MODULE_SHIPPING_SELFPICKUP_HAMBURG_STATUS','MODULE_SHIPPING_SELFPICKUP_HAMBURG_SORT_ORDER','MODULE_SHIPPING_SELFPICKUP_HAMBURG_ALLOWED');
        }
    }

    MainFactory::load_origin_class('selfpickup_hamburg'); 

    Anschließend habe ich im Ordner "lang/german/user_sections/modules/shipping" eine Datei "selfpickup_hamburg.lang.inc.php" angelegt und mit folgendem Inhalt befüllt:
    PHP:
    $t_language_text_section_content_array = array
    (
        
    'MODULE_SHIPPING_SELFPICKUP_HAMBURG_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_SELFPICKUP_HAMBURG_ALLOWED_TITLE' => 'Erlaubte Zonen',
        
    'MODULE_SHIPPING_SELFPICKUP_HAMBURG_SORT_ORDER' => 'Sortierung',
        
    'MODULE_SHIPPING_SELFPICKUP_HAMBURG_SORT_ORDER_DESC' => 'Reihenfolge der Anzeige',
        
    'MODULE_SHIPPING_SELFPICKUP_HAMBURG_SORT_ORDER_TITLE' => 'Sortierreihenfolge',
        
    'MODULE_SHIPPING_SELFPICKUP_HAMBURG_STATUS_DESC' => 'Möchten Sie Selbstabholung in Hamburg anbieten?',
        
    'MODULE_SHIPPING_SELFPICKUP_HAMBURG_STATUS_TITLE' => 'Selbstabholung in Hamburg aktivieren',
        
    'MODULE_SHIPPING_SELFPICKUP_HAMBURG_TEXT_DESCRIPTION' => 'Selbstabholung der Ware in Hamburg.',
        
    'MODULE_SHIPPING_SELFPICKUP_HAMBURG_TEXT_TITLE' => 'Selbstabholung in Hamburg',
        
    'MODULE_SHIPPING_SELFPICKUP_HAMBURG_TEXT_WAY' => 'Selbstabholung der Ware in Hamburg.'
    ); 
    Habe die Dateien entsprechend hochgeladen, alle Caches (auch mehfrach) geleert und kriege auch das neue Modul bei den Versandarten angezeigt. Allerdings zeigt er mir keine Texte an, sowohl im BE als auch im FE nicht.
    Wenn ich im Gambio Admin unter Texte anpassen nach den Texten suche findet er diese auch, also scheint er sie ja schon zu finden.

    So langsam bin ich nach mehreren Stunde Suche am Verzweifeln.

    Die eingesetzte Shop-Version ist: 3.7.1.1.

    Lg Dominic


    Ergänzung aus einem weiteren Post von mir:
    Habe die Datei nun im Ordner "lang/german/user_sections" direkt liegen.
    Habe es auch schon mit dem Ordner "lang/german/original_sections" und dort dann entsprechend bei "modules/shipping" getestet auch das bringt nichts. Er zeigt die Texte aber jedesmal unter "Texte anpassen" an aber mehr auch nicht.
     
  2. Kai Stejuhn

    Kai Stejuhn Beta-Held

    Registriert seit:
    26. September 2014
    Beiträge:
    1.409
    Danke erhalten:
    709
    Danke vergeben:
    92
    Ist das oben der komplette Code? Wenn ja, dann fehlt da wohl die Zuweisung des Textmanagers. Das müsste bei Dir dann so aussehen:

    PHP:
    $languageTextManager MainFactory::create_object('LanguageTextManager', array(), true);
    $languageTextManager->init_from_lang_file('selfpickup_hamburg'); 
     
  3. Anonymous

    Anonymous Mitglied

    Registriert seit:
    19. August 2017
    Beiträge:
    15
    Danke erhalten:
    2
    Danke vergeben:
    2
    @Kai Stejuhn Danke! Genau das wars =) Aber wieso steht das nicht im orginialen "selfpick"-Modul?


    Nun tun sich zwei andere Probleme auf.

    Problem 1: Ich kann meine modifizierten Module nur nutzen wenn ich das originale "selfpickup" Modul auch aktiv habe, dabei würde ich dieses gerne deaktiveren, da ich für jeden Abholstandort nun ein eigenes Modul angelegt habe.

    Problem 2: Auf der "Bestellübersicht" dort wo ich den Button "kostenpflichtig bestellen" habe, wird nach der Zwischensumme der Text "Selbstabholung (Selbstabholung der Ware in unserer Geschäftsstelle.):" angezeigt und nicht wie im Modul hinterlegt z.B. "Selbstabholung der Ware in Hamburg.".

    Lg Dominic
     
  4. Christian Jung

    Christian Jung Erfahrener Benutzer

    Registriert seit:
    19. September 2011
    Beiträge:
    75
    Danke erhalten:
    15
    Danke vergeben:
    23
    Hallo,

    ich schliesse mich dem Problem von Dominic an.

    Wäre doch klasse wenn man das zusammen lösen könnte, auch wir haben immer mal wieder das Problem das Ware an mehren Standorten abzuholen wäre.
     
  5. wfly

    wfly Mitglied

    Registriert seit:
    23. Januar 2018
    Beiträge:
    6
    Danke erhalten:
    0
    Ich bin Neu hier,
    also erstmal ein Hallo an alle.

    bei mir wird nach dem Kopieren und Bearbeiten der Datei "table.php" in table2.php sowie der Ablage der Sprachdatei "tabel2.lang.inc.php" in das Verzeichnis "/lang/german/original_sections/modules/shipping" nur folgendes angezeigt :

    Neu hinzugefügte Module
    > MODULE_SHIPPING_TABLE2_TEXT_TITLE

    Muss die Sprachdatei noch in ein anderes Verzeichnis ?

    (Gambio Version 3.7.3.0)
     
  6. Kai Stejuhn

    Kai Stejuhn Beta-Held

    Registriert seit:
    26. September 2014
    Beiträge:
    1.409
    Danke erhalten:
    709
    Danke vergeben:
    92
    Ich gehe mal davon aus, das dieser Schriebfehler beim Übertagen ins Forum entstanden ist. Wenn nicht, dann Fehler beheben.

    Hast Du den CACHE für Texte neu aufgebaut?
     
  7. wfly

    wfly Mitglied

    Registriert seit:
    23. Januar 2018
    Beiträge:
    6
    Danke erhalten:
    0
    Ja war ein Abschreibfehler von mir. Auf dem Server heißt die Datei "table2.lang.inc.php".
    Müsste also stimmen.

    Cache habe ich mehrfach neu aufgebaut.

    -Erfolglos-

    Habe auch im Forum verschiedene Beiträge durchsucht. Teilweise werden die Sprachdateien in Ordner kopiert die es in in der 3.7.3.0 Installation gar nicht gibt.
     
  8. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    Die Ordner müssen zum Teil nach bedarf angelegt werden.
     
  9. wfly

    wfly Mitglied

    Registriert seit:
    23. Januar 2018
    Beiträge:
    6
    Danke erhalten:
    0
    Und in welchen muss die Sprachdatei nun rein ?
     
  10. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    Bei mir liegt sie im Verzeichnis
    lang/ german/ user_section/

    Manchmal funktioniert das so, manchmal muss man den Pfad der der Originalen Datei einhalten und die Ordner entsprechend anlegen.
     
  11. wfly

    wfly Mitglied

    Registriert seit:
    23. Januar 2018
    Beiträge:
    6
    Danke erhalten:
    0
    an welche Stelle im File muss denn die Ergänzung ?

     
  12. Christian Mueller

    Christian Mueller Beta-Held

    Registriert seit:
    4. Juli 2011
    Beiträge:
    3.700
    Danke erhalten:
    890
    Danke vergeben:
    288
    ganz nach oben
     
  13. wfly

    wfly Mitglied

    Registriert seit:
    23. Januar 2018
    Beiträge:
    6
    Danke erhalten:
    0
    Supper - jetzt gehts.

    Vielen Dank.
    :D
     
  14. ulf

    ulf Neues Mitglied

    Registriert seit:
    22. Februar 2018
    Beiträge:
    2
    Danke erhalten:
    0
    Ich habe die table.php in table2.php geklont und abgelegt. Die Sprachdatei ebenso angepasst, aber es erscheint rein gar nichts in den Versandarten im admin. Was kann der Fehler sein ? Muss man den Cache nach einer bestimmten Reihenfolge leeren ?
     
  15. Kai Stejuhn

    Kai Stejuhn Beta-Held

    Registriert seit:
    26. September 2014
    Beiträge:
    1.409
    Danke erhalten:
    709
    Danke vergeben:
    92
    Bei solchen Sachen immer von unten nach oben.
     
  16. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    Ich hänge mich hier einmal ran.
    Ich habe mir für DPD das Modul Table als Table2 kopiert.
    Soweit geht auch alles und wird richtig angezeigt. Bis auf:
    Auf der Rechnung unten bei den Rechnungshinweisen steht "Versandart: table2"
    Bei den Versandkosten im Preisblock steht aber richtig DPD
    und wenn ich in einer Bestellung den Versand bearbeite, steht da eine Fehlermeldung:
    Unbenannt-1.JPG

    Wenn ich unter Texte anpassen suche, existiert der Text aber:
    Unbenannt-2.JPG
    Hat jemand eine Idee, warum der Text nicht gefunden / genommen wird?

    Shopversion ist 3.8.0.1
     
  17. Anonymous

    Anonymous Beta-Held

    Registriert seit:
    22. März 2015
    Beiträge:
    2.381
    Danke erhalten:
    640
    Danke vergeben:
    414
    @barbara

    das Problem habe ich im Testshop 3.8.1.2 auch.
     
  18. Christian Mueller

    Christian Mueller Beta-Held

    Registriert seit:
    4. Juli 2011
    Beiträge:
    3.700
    Danke erhalten:
    890
    Danke vergeben:
    288
    Steht doch oben.

    Es muss:
    Code:
    $languageTextManager = MainFactory::create_object('LanguageTextManager', array(), true);
    $languageTextManager->init_from_lang_file('table2');
    
    oben im Versandmodul eingebunden werden.
     
  19. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    Das steht bei mir drinnen.
    Es wird ja auch (fast) überall mit den richtigen Texten angezeigt.
    Nur auf der Rechnung und in der Bestell-Bearbeitung nicht.
     
  20. Anonymous

    Anonymous Beta-Held

    Registriert seit:
    22. März 2015
    Beiträge:
    2.381
    Danke erhalten:
    640
    Danke vergeben:
    414
    Bei mir steht das auch drin