gelöst Eigenes JS auf jeder Seite des Admins ausführen

Thema wurde von adi_gerd, 12. Juli 2018 erstellt.

  1. adi_gerd

    adi_gerd Neues Mitglied

    Registriert seit:
    8. März 2018
    Beiträge:
    3
    Danke erhalten:
    0
    Danke vergeben:
    1
    Hallo,

    ich möchte eine eigene JS-Datei im Head-Bereich aller Admin-Seiten einbinden. Mein Ansatz war (ist) nun einen Extender in AdminApplicationTopExtenderComponent anzulegen. Dieser wird auch soweit ausgeführt. Die Frage ist nun, wie ich die JS-Datei nun aber "richtig" einbinde.

    Die von mir versuchten Möglichkeiten:

    - über $this->html_output_array['xxx] = ...; wird nicht ausgegeben
    - über $this->v_output_buffer['xxx] = ...; wird ebenso nicht ausgegeben
    - direkt ausgeben (z.B. per Echo): Funktioniert zwar ist aber sicherlich nicht die richtige Lösung und wirft eine "header already sent" Warnung.

    Was übersehe ich hier? Oder wie ginge es richtig? Für Hilfe wäre ich sehr dankbar.

    Gruß, Christian
     
  2. MJ

    MJ Erfahrener Benutzer

    Registriert seit:
    28. April 2011
    Beiträge:
    525
    Danke erhalten:
    54
    Danke vergeben:
    91
    Du könntest die AdminMenuContentView überladen. Dann hättest du es auf allen Seiten und wärst nicht zu früh wie bei der AdminApplicationTopExtenderComponent.
     
  3. adi_gerd

    adi_gerd Neues Mitglied

    Registriert seit:
    8. März 2018
    Beiträge:
    3
    Danke erhalten:
    0
    Danke vergeben:
    1
    Das hat geholfen. Vielen Dank!
     
  4. Anonymous

    Anonymous Administrator
    Mitarbeiter

    Registriert seit:
    26. April 2011
    Beiträge:
    1.660
    Danke erhalten:
    1.262
    Danke vergeben:
    300
    Hi,

    wir haben in der Entwicklung beschlossen, dass es einen
    AdminHeaderExtender geben wird, der es dann möglich macht im <head> weitere Dateien wie CSS und JavaScripte auf allen Admin Seiten zu laden.

    Dies wird dann mit der kommenden Shopversion zur Verfügung stehen.
     
  5. MJ

    MJ Erfahrener Benutzer

    Registriert seit:
    28. April 2011
    Beiträge:
    525
    Danke erhalten:
    54
    Danke vergeben:
    91
    Woohooo .. Super! *thumbsup*
     
  6. MJ

    MJ Erfahrener Benutzer

    Registriert seit:
    28. April 2011
    Beiträge:
    525
    Danke erhalten:
    54
    Danke vergeben:
    91
    Was ist daraus geworden?
     
  7. Anonymous

    Anonymous Administrator
    Mitarbeiter

    Registriert seit:
    26. April 2011
    Beiträge:
    1.660
    Danke erhalten:
    1.262
    Danke vergeben:
    300
    Den AdminHeaderExternder gibt es und kann ganz normal wie alle anderen Klassen auch überladen werden

    Lege dazu eine Datei im Ordner /GXModules/meineFirma/meinModul/Admin/Overloads/
    AdminHeaderExtenderComponent/ mit dem Namen "Mein
    AdminHeaderExtender.inc.php" und folgendem Inhalt an:

    PHP:
    class MeinAdminHeaderExtender extends MeinAdminHeaderExtender_parent
    {
    function 
    proceed()
    {
    $html "Mein HTML oder CSS oder JavaScript Tag";
    $this->v_output_buffer[] = $html;
    }
    }
     
  8. MJ

    MJ Erfahrener Benutzer

    Registriert seit:
    28. April 2011
    Beiträge:
    525
    Danke erhalten:
    54
    Danke vergeben:
    91
    #8 MJ, 22. Januar 2020
    Zuletzt bearbeitet: 22. Januar 2020
    Hallo Till (und alle anderen)

    Dankeschön, ich hab noch zwei Fragen dazu

    1. Muss da nicht auch ein parent:: proceed(); mit rein?
    2. Wenn man im Shop eine css reinladen möchte - muss der Ordner dann Styles oder Css heißen?

    Also
    GXModules/Modulhersteller/Modulname/Shop/Templates/Honeygrid/Styles/ oder
    GXModules/Modulhersteller/Modulname/Shop/Templates/Honeygrid/Css/

    Und noch eine dritte Frage
    3. Ist GXUserComponents jetzt deprecated und man soll stattdessen nur noch GXModules verwenden?

    Vielen Dank
     
  9. ff-webdesigner

    ff-webdesigner Erfahrener Benutzer

    Registriert seit:
    22. Januar 2014
    Beiträge:
    419
    Danke erhalten:
    36
    Danke vergeben:
    53
  10. ff-webdesigner

    ff-webdesigner Erfahrener Benutzer

    Registriert seit:
    22. Januar 2014
    Beiträge:
    419
    Danke erhalten:
    36
    Danke vergeben:
    53
    das funktioniert immernoch ganz hervorragend auf admin unterseiten wie z.b.
    /admin/categories.php?page=1&cPath=0&pID=5&action=new_product
    auf der admin startseite nicht. gibts da einen anderen trick/code?
    mein kunden möchte gambio news komplett raus haben.
    und die start.php kann man ja nicht updatesicher anpassen, oder?
     
  11. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    Ich weiß nicht ob man die Startseite überladen kann (die admin/start.php dürfte aber die falsche Adresse sein), aber wenn das Ganze von Gambio weg ist, bleibt nur die Statistik.
    Da könnte man vielleicht auch einfach den Admin-Button auf die Seite /statistics/overview lenken und die Startseite so umgehen.
     
  12. ff-webdesigner

    ff-webdesigner Erfahrener Benutzer

    Registriert seit:
    22. Januar 2014
    Beiträge:
    419
    Danke erhalten:
    36
    Danke vergeben:
    53
  13. ff-webdesigner

    ff-webdesigner Erfahrener Benutzer

    Registriert seit:
    22. Januar 2014
    Beiträge:
    419
    Danke erhalten:
    36
    Danke vergeben:
    53
    nochwas: mein overload baut js und css super ein in alle seiten wie z.b. /admin/categories.php?cPath=0&action=new_product
    aber nicht in /admin/admin.php?do=OrdersOverview
    warum?