Admin Menü erweitern

Thema wurde von Pascal, 5. April 2016 erstellt.

  1. Pascal

    Pascal Aktives Mitglied

    Registriert seit:
    5. Februar 2012
    Beiträge:
    40
    Danke erhalten:
    0
    Danke vergeben:
    5
    Hallo,

    Ich habe gesehen das hier das Thema auch schon diskutiert wurde,
    http://www.gambio.de/forum/threads/admin-menue-erweitern.18354/
    ist aber schon eine Zeit her, daher dieses neue Thema.

    Folgende Anpassung habe ich in meinem Shop (version 2.0.13) schon gemacht und funktioniert. Es ist nun aber an der Zeit den Shop mal auf die aktuelle Version zu bringen. Ich arbeite hierzu auf meinem kleinen eigenen Web Server zu hause.
    Der Shop hat nun die Version 2.7.2.

    Natürlich sollen die Anpassungen wieder update-sicher werden. Ich habe also meine alte Dokumentation aus gegraben und die Daten angepasst. Jedoch ohne erfolg.

    Hier also mal die Schritte die ich gemacht habe.

    Update auf der DB:
    Code:
    ALTER TABLE `admin_access` ADD `esr_conf` INT(1) NOT NULL DEFAULT '0'
    ALTER TABLE `esr_pdf` INT(1) NOT NULL DEFAULT '0' AFTER `esr_conf`;
    
    UPDATE admin_access SET esr_conf ='1' WHERE customers_id = '1';
    UPDATE admin_access SET esr_pdf ='1' WHERE customers_id = '1';
    
    UPDATE admin_access SET esr_conf ='3' WHERE customers_id = 'groups';
    UPDATE admin_access SET esr_pdf ='3' WHERE customers_id = 'groups';
    
    Danach folgende Datei neu anlegen:
    menu_esr.xml und kopieren unter /user_classes/conf/admin_menu/

    Inhalt der Datei:
    Code:
    <?xml version="1.0"?>
    <!-- {load_language_text section="admin_menu"} -->
    <admin_menu>
        <menugroup id="BOX_HEADING_ESR_CONF" sort="50" background="favs.png" class="fa fa-bank" title="{$txt.BOX_HEADING_ESR_CONF}">
            <menuitem sort="10" link="FILENAME_ESR" title="{$txt.BOX_ESR_CONF}" />
        </menugroup>
    </admin_menu>
    
    Neue Datei anlegen:
    esr_AdminMenuSource.inc.php und kopieren unter /user_classes/overloads/AdminApplicationTopExtenderComponent/

    Inhalt der Datei:
    PHP:
    <?php
    class esr_AdminMenuSource extends esr_AdminMenuSource_parent
    {
        function 
    proceed()
        {
            
    parent::proceed();
            
    define('FILENAME_ESR''esr_conf.php');
            include(
    '../lang/' $_SESSION['language'] . '/admin/esr_conf.php');
            
    parent::proceed();
        }
    }
    ?>
    danach noch die Datei esr_conf.php und esr_pdf.php unter /admin kopieren.
    Auch die Sprach-Dateien kopieren:
    esr_conf.php unter /lang/german/admin/
    esr_pdf.php
    unter /lang/german/admin/
    esr.lang.inc.php
    unter /lang/german/user_sections/

    Inhalt von esr_lang.inc.php
    PHP:
    <?php
    $t_language_text_section_content_array 
    = array
    (
        
    'BOX_HEADING_ESR_CONF' => 'ESR',
        
    'BOX_ESR_CONF' => 'Konfiguration'
    );
    ?>
    Inhalt von esr_pdf.php (nur Teil des Inhaltes, sonst ist es zuviel)
    PHP:
    <?php
    define
    ('CUSTOMER_ID''Kundennummer:');
    define('PAYMENT_METHODE''Zahlungsweise:');
    .
    .
    .
    define('AFTERTEXT_PAY_IN_DAYS''Tagen');
    ?>
    Inhalt von esr_conf.php (nur Teil des Inhaltes, sonst ist es zuviel)
    PHP:
    <?php
    define
    ('ESR_PROFIL''Profil');
    define('ESR_TEXT_PROFIL''Profilwahl:');
    .
    .
    .
    define('SELECT_DISPLAY_OUTPUT_I''PDF im Browser ausgeben');
    ?>
    und zu letzt noch den cache löschen. Hier habe ich auch schon manuell die Datei AdminMenuSource_2-persistent_data_cache-7d078158ee68b43b6427af7044d27658.pdc gelöscht.

    Bis jetzt hatte ich keinen Erfolg das Menü zu sehen.

    Ich habe auch dies im Wiki versucht:
    https://tracker.gambio-server.net/projects/gxdoc/wiki/Menüeinträge_im_Administrationsbereich

    ohne Erfolg.

    Besten Dank für eine Info die mich in meinem Problem weiter helfen.

    gruss
    Pascal
     
  2. Wilken (Gambio)

    Wilken (Gambio) Administrator
    Mitarbeiter

    Registriert seit:
    7. November 2012
    Beiträge:
    17.845
    Danke erhalten:
    6.793
    Danke vergeben:
    2.059
  3. Pascal

    Pascal Aktives Mitglied

    Registriert seit:
    5. Februar 2012
    Beiträge:
    40
    Danke erhalten:
    0
    Danke vergeben:
    5
    Danke Wilken für deinen Hinweis.
    Habe nun auch mal ein paar Sachen herausgenommen.
    So zB:
    PHP:
    <?php
    class esr_AdminMenuSource extends esr_AdminMenuSource_parent
    {
        function 
    proceed()
        {
           
    // include('../lang/' . $_SESSION['language'] . '/admin/esr_conf.php');
           //  include('../lang/' . $_SESSION['language'] . '/admin/esr_pdf.php');
            
    parent::proceed();
        }
    }
    ?>
    und die XML Haben den Link mal mit dem Dateinamen versehen anstelle der Variable, um einfach ein paar Fehlerquellen zu eliminieren.
    Code:
    <?xml version="1.0"?>
    <!-- {load_language_text section="admin_menu"} -->
    <admin_menu>
        <menugroup id="BOX_HEADING_ESR_CONF" sort="250" background="favs.png" class="fa fa-bank" title="{$txt.BOX_HEADING_ESR_CONF|escape}">
            <menuitem sort="10" link="esr_conf.php" title="{$txt.BOX_ESR_CONF|escape}" />
        </menugroup>
    </admin_menu>
    
    Ich habe das mal nun nach dieser Anleitung durchgespielt.
    https://developers.gambio.de/tutorials.html?v=2.7.2.0&p=erstellen-von-menüeinträgen

    Leider ohne Erfolg.
    Irgend etwas übersehe ich hier.
     
  4. Anonymous

    Anonymous Administrator
    Mitarbeiter

    Registriert seit:
    26. April 2011
    Beiträge:
    1.048
    Danke erhalten:
    807
    Danke vergeben:
    208
    Hi,

    die Menüpunkte werden in der aktuellen Version nur angezeigt, wenn auch die Sprachvariablen korrekt geladen wurden. Damit der Menüpunkt dennoch angezeigt wird, eventuell um zu testen ob alles andere funktioniert, kannst du auch die Option "Menüeinträge ohne Übersetzung" aktivieren unter "Shop Einstellungen->Zusatzmodule".

    Um eine Sprachdatei für den Menüeintrag zu laden, muss die folgende Zeile entsprechend angepasst werden:

    HTML:
    <!-- {load_language_text section="meine_sprachdatei"} -->
    Dann legst du eine Datei im Ordner /lang/german/user_sections/ mit dem Dateinamen meine_sprachdatei.lang.inc.php mit folgendem Inhalt an:


    PHP:
    <?php

    $t_language_text_section_content_array 
    = array(
        
    'meine_variable' => 'Mein Text'
    );
    Weitere Infos unter:
    (Link nur für registrierte Nutzer sichtbar.)
     
  5. Pascal

    Pascal Aktives Mitglied

    Registriert seit:
    5. Februar 2012
    Beiträge:
    40
    Danke erhalten:
    0
    Danke vergeben:
    5
    Hallo Till,
    Nun die Sprachdatei hatte ich ja schon, aber der entscheidende Punkt war in der section
    Code:
    <!-- {load_language_text section="esr"} -->
    
    Danke für diesen Hinweis. Habe dies aus der Dok wohl falsch verstanden.
     
  6. kugelschubs

    kugelschubs Erfahrener Benutzer

    Registriert seit:
    9. Oktober 2015
    Beiträge:
    55
    Danke erhalten:
    27
    Danke vergeben:
    14
    Update 2017:

    user_classes/conf/admin_menu => GXUserComponents/conf/admin_menu