gelöst Kopiertes Selbstabholungs Modul - Keine Texte aus Sprachdateien

Thema wurde von Anonymous, 23. Oktober 2017 erstellt.

  1. Anonymous

    Anonymous Mitglied

    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

    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

    @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

    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

    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

    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

    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

    Die Ordner müssen zum Teil nach bedarf angelegt werden.
     
  9. wfly

    wfly Mitglied

    Und in welchen muss die Sprachdatei nun rein ?
     
  10. barbara

    barbara G-WARD 2014-2020

    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

    an welche Stelle im File muss denn die Ergänzung ?

     
  12. Christian Mueller

    Christian Mueller Beta-Held

    ganz nach oben
     
  13. wfly

    wfly Mitglied

    Supper - jetzt gehts.

    Vielen Dank.
    :D
     
  14. ulf

    ulf Neues Mitglied

    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

    Bei solchen Sachen immer von unten nach oben.
     
  16. barbara

    barbara G-WARD 2014-2020

    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

    @barbara

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

    Christian Mueller Beta-Held

    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

    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

    Bei mir steht das auch drin