v2.0.x Thema: Service Pack 1.1 RC1 - Bugs

Thema wurde von Moritz (Gambio), 23. Februar 2012 erstellt.

  1. msd

    msd Erfahrener Benutzer

    Registriert seit:
    21. Juni 2011
    Beiträge:
    73
    Danke erhalten:
    1
    Danke vergeben:
    11
    Trotzdem danke für den Hinweis, ich habe die Methode in der shopping_cart.php gefunden und in der neuen Datei eingefügt. Bin mir nur nicht sicher ob damit alles abgedeckt ist. Dafür mach ich ein Ticket auf.
     
  2. Moritz (Gambio)

    Moritz (Gambio) Administrator

    Registriert seit:
    26. April 2011
    Beiträge:
    5.786
    Danke erhalten:
    2.692
    Danke vergeben:
    903
    Ja, ich stimme dir zu, dass wir bei den genannten Dateien noch auf das neue System umstellen müssen. Ist als Todo aufgenommen worden.
     
  3. Avenger

    Avenger G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    4.771
    Danke erhalten:
    1.478
    Danke vergeben:
    89
    In der Zwischenzeit hilft die folgende Änderung, die "conf"-Dateien loszuwerden...

    Die Spracharrays werden neben dem neuen "$t_section_array" auch dem Smarty Sprach-Array zugewiesen.

    Dann kann man die neuen Texte auch mit der alten Notation "{#sprachvariable#}" verwenden, und muss nicht alle Templates sofort auf die neue Notation "{$txt.sprachvariable}" umstellen.

    In "includes/classes/smarty/plugins/function.load_language_text.php"

    PHP:
        $t_section_array $coo_text_mgr->get_section_array();
    ersetzen mit

    PHP:
        $t_section_array $smarty->_config[0]['vars'] = $coo_text_mgr->get_section_array();
    Ich verwende in meinem (in vielen Jahren gereiften) Templates noch das alte Verfahren mit den Smarty-"conf"-Dateien.

    Um das in die neue Zeit zu bringen, habe ich ein Programm entwickelt, das die "conf"-Dateien in "inc.lang.php"-Dateien konvertiert.

    Und wie das bei mir meist der Fall ist, habe ich das Konzept dahingehend erweitert, dass die Sprachdateien (wie die "conf"-Dateien auch) mehrere "sections" enthalten können, so dass man nicht für jede "section" eine eigene Sprachdatei braucht... (Ich habe das lieber immer alles an einem Ort.)

    Und eine section "global" ist auch möglich, darin kann man Variablen unterbringen, die allen "sections" zusätzlich mitgegeben werden.

    Das sieht dann so aus:

    PHP:
    <?php
    $t_language_text_master_content_array 
    = array(
      
    'global' => array(
            
    'also_purchased_articles' => 'Damit zusammen gekaufte Artikel...',
            
    //.......
      
    ),
      
    'account' => array(
            
    'abo_nr' => 'Abo-Nr.: ',
            
    //.......
      
    ),
      
    'account_abo_history' => array(
            
    'heading_history' => 'Ihre Abos',
            
    //.......
      
    ),
      
    'account_abo_history_info' => array(
            
    'head_artnr' => 'Art.-Nr.',
            
    //.......
      
    ),
        
    //.......
      
    'xsell' => array(
            
    'heading_text' => 'Zu diesem Artikel empfehlen wir...',
            
    //.......
      
    )
    );
    ?>
    Und gecached wird das Ganze auch noch, so dass die "section"-Daten aus dem Array zugewiesen werden, und nicht immer wieder alle Textdateien gelesen werden müssen.