Ergebnis 1 bis 15 von 15

Thema: $GLOBALS['TL_HEAD'][] funktioniert im Backend nicht?

  1. #1
    Contao-Fan Avatar von Dani
    Registriert seit
    19.06.2009.
    Ort
    Meilen, Schweiz
    Beiträge
    552

    Standard $GLOBALS['TL_HEAD'][] funktioniert im Backend nicht?

    Kann das sein, dass $GLOBALS['TL_HEAD'][] im Backend nicht funktioniert? Bei mir wird im Backend (Contao 2.9.4) nichts ausgegeben.

    Mein Code:
    PHP-Code:
    class Class extends BackendModule
    {

        
    /**
         * Template
         * @var string
         */
        
    protected $strTemplate 'be_template';


        
    /**
         * Generate the module
         */
        
    protected function compile()
        {
            
    // Load scripts
            
    $GLOBALS['TL_HEAD'][] = "<script type='text/javascript'>
        window.addEvent('domready',function() ..."
    ;
        }

    Ich wäre für jede Hilfe dankbar. Wenn es so ist, werde ich ein Ticket erstellen.

  2. #2
    Contao-Urgestein Avatar von Toflar
    Registriert seit
    15.06.2009.
    Beiträge
    4.467
    Partner-ID
    8667
    User beschenken
    Wunschliste

    Standard

    TL_HEAD ist FE only und kein Bug

    Im BE nutzt du $GLOBALS['TL_JAVASCRIPT'] bzw. $GLOBALS['TL_MOOTOOLS']
    Contao Core-Entwickler @terminal42 gmbh
    Wir sind Contao Premium-Partner!
    Für Individuallösungen kannst du uns gerne kontaktieren.
    PS: Heute schon getrakked?

  3. #3
    Contao-Fan Avatar von Dani
    Registriert seit
    19.06.2009.
    Ort
    Meilen, Schweiz
    Beiträge
    552

    Standard

    $GLOBALS['TL_MOOTOOLS'] [] scheint auch nicht zu funktionieren. Was spricht gegen $GLOBALS['TL_HEAD'][] im Backend?

  4. #4
    Contao-Urgestein Avatar von Toflar
    Registriert seit
    15.06.2009.
    Beiträge
    4.467
    Partner-ID
    8667
    User beschenken
    Wunschliste

    Standard

    Wieso sollte das nicht funktionieren? Guck doch im Code wie Contao das verarbeitet, dann weisst Du wo Du den Fehler machst =)
    Kannst ja mal n var_dump() oder so im Core einbauen. Einfach bisschen arbeiten mit der Software Dazu möchte ich dich gerne ermutigen, denn wenn Du mal den ganzen Source schnell nach TL_HEAD durchsucht hättest, hättest Du sicher auch sofort bemerkt, dass das nur im FE geladen wird

    Was dagegen spricht? Äh, es wurde im BE anders implementiert? Was weiss ich, warum ist die Banane krumm?
    Fakt ist, TL_HEAD ist nicht da, aber die Funktionalität von TL_HEAD schon
    Contao Core-Entwickler @terminal42 gmbh
    Wir sind Contao Premium-Partner!
    Für Individuallösungen kannst du uns gerne kontaktieren.
    PS: Heute schon getrakked?

  5. #5
    Contao-Fan Avatar von Dani
    Registriert seit
    19.06.2009.
    Ort
    Meilen, Schweiz
    Beiträge
    552

    Standard

    Wieso sollte das nicht funktionieren?
    Das frage ich ja

    Guck doch im Code wie Contao das verarbeitet, dann weisst Du wo Du den Fehler machst =)
    Kannst ja mal n var_dump() oder so im Core einbauen. Einfach bisschen arbeiten mit der Software Dazu möchte ich dich gerne ermutigen, denn wenn Du mal den ganzen Source schnell nach TL_HEAD durchsucht hättest, hättest Du sicher auch sofort bemerkt, dass das nur im FE geladen wird
    Mache ich meistens, nur diesmal wusste ich nicht wo ich nachschauen soll. Ich dachte mit fragen geht es schneller. Weisst du wo das Backend gerendert wird?

    Was weiss ich, warum ist die Banane krumm?
    Fakt ist, TL_HEAD ist nicht da, aber die Funktionalität von TL_HEAD schon
    Nette Bemerkung, aber nur blöd. Findest du nicht, diese Funktionalität sollte auch im Backend unterstützt werden?

  6. #6
    Contao-Urgestein Avatar von Toflar
    Registriert seit
    15.06.2009.
    Beiträge
    4.467
    Partner-ID
    8667
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von Dani Beitrag anzeigen
    Das frage ich ja
    Und ich würde nicht fragen, wenn ich nicht der Meinung wäre, es müsste so funktionieren. Deshalb sollst Du ja mal debuggen und rausfinden, wieso es nicht geht

    Zitat Zitat von Dani Beitrag anzeigen
    Mache ich meistens, nur diesmal wusste ich nicht wo ich nachschauen soll. Ich dachte mit fragen geht es schneller. Weisst du wo das Backend gerendert wird?
    Wie wo das Backend gerendert wird? Du rufst doch main.php auf? Also kannst Du ja mal in dieser Datei gucken was da passiert und dich einfach weiterhangeln.
    Aber das musst Du ja hier nicht. Du kannst ja einfach mal eine Suche durch den ganzen Code nach "TL_JAVASCRIPT" machen, dann findest Du logischerweise die Stelle wo das eingebunden wird.

    Zitat Zitat von Dani Beitrag anzeigen
    Nette Bemerkung, aber nur blöd. Findest du nicht, diese Funktionalität sollte auch im Backend unterstützt werden?
    WTF? Wo ist der Vorteil von TL_HEAD? Du kannst ja Javascript und CSS Dateien einbinden? Nur halt nicht mit TL_HEAD sondern mit anderen Globals? Ich glaub ich versteh dein Problem nicht...
    Contao Core-Entwickler @terminal42 gmbh
    Wir sind Contao Premium-Partner!
    Für Individuallösungen kannst du uns gerne kontaktieren.
    PS: Heute schon getrakked?

  7. #7
    Contao-Fan Avatar von Dani
    Registriert seit
    19.06.2009.
    Ort
    Meilen, Schweiz
    Beiträge
    552

    Standard

    Bei TL_HEAD muss sich der Code nicht in einer Datei befinden. Und genau das möchte ich, da mein JS-Code individuell, je nach Fall, unterschiedlich generiert wird.
    Deshalb gibt es ja TL_HEAD (Code befindet sich nicht in einer Datei, im Head), TL_MOOTOOLS (Code befindet sich im Body, Footer) und TL_JAVASCRIPT (Code befindet sich in einer Datei, Angabe zur Datei/Pfad).

    Wie wo das Backend gerendert wird? Du rufst doch main.php auf? Also kannst Du ja mal in dieser Datei gucken was da passiert und dich einfach weiterhangeln.
    Aber das musst Du ja hier nicht. Du kannst ja einfach mal eine Suche durch den ganzen Code nach "TL_JAVASCRIPT" machen, dann findest Du logischerweise die Stelle wo das eingebunden wird.
    Gute Idee. Leider steht dort nichts von TL_HEAD usw. Aber danke für deine Hilfe.

  8. #8
    Contao-Urgestein Avatar von Toflar
    Registriert seit
    15.06.2009.
    Beiträge
    4.467
    Partner-ID
    8667
    User beschenken
    Wunschliste

    Standard

    Dann kannst Du ja TL_MOOTOOLS nutzen?

    Ja klar steht das nicht in der main.php, Du sollst ja auch den Code anschauen und dich weiterhangeln, wie schon erwähnt. Es steht ja zum Glück nicht die ganze Funktionalität in main.php...
    Contao Core-Entwickler @terminal42 gmbh
    Wir sind Contao Premium-Partner!
    Für Individuallösungen kannst du uns gerne kontaktieren.
    PS: Heute schon getrakked?

  9. #9
    Contao-Fan Avatar von Dani
    Registriert seit
    19.06.2009.
    Ort
    Meilen, Schweiz
    Beiträge
    552

    Standard

    Nein geht leider auch nicht. Es wird nur TL_JAVASCRIPT unterstützt (siehe BackendTemplate.php). Das sollte es meiner Meinung nach nicht.

  10. #10
    Contao-Urgestein Avatar von Toflar
    Registriert seit
    15.06.2009.
    Beiträge
    4.467
    Partner-ID
    8667
    User beschenken
    Wunschliste
    Contao Core-Entwickler @terminal42 gmbh
    Wir sind Contao Premium-Partner!
    Für Individuallösungen kannst du uns gerne kontaktieren.
    PS: Heute schon getrakked?

  11. #11
    Contao-Fan Avatar von Dani
    Registriert seit
    19.06.2009.
    Ort
    Meilen, Schweiz
    Beiträge
    552

    Standard

    Das bezieht sich ja nur für Module im Frontend.

  12. #12
    Contao-Urgestein Avatar von Toflar
    Registriert seit
    15.06.2009.
    Beiträge
    4.467
    Partner-ID
    8667
    User beschenken
    Wunschliste
    Contao Core-Entwickler @terminal42 gmbh
    Wir sind Contao Premium-Partner!
    Für Individuallösungen kannst du uns gerne kontaktieren.
    PS: Heute schon getrakked?

  13. #13
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.514
    User beschenken
    Wunschliste

    Standard

    Danke Toflar, wuste ich auch noch nicht (bisher nicht gebraucht).
    TL_JAVASCRIPT zum Einbinden von JS per Pfad, TL_MOOTOOLS zum Einbinden des Scriptes direkt.
    Gut zu wissen.

    @Dani: Es sollte also bei dir per TL_MOOTOOLS funktionieren.
    PHP-Code:
    $GLOBALS['TL_MOOTOOLS '][] = "<script type='text/javascript'>.... 
    Übrigens geht das auch in der config.php des Moduls siehe hier im Abschnitt Backendbereich.
    Geändert von BugBuster (15.06.2011 um 08:49 Uhr)
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  14. #14
    Contao-Fan Avatar von Dani
    Registriert seit
    19.06.2009.
    Ort
    Meilen, Schweiz
    Beiträge
    552

    Standard

    Wie es scheint hatte Leo die gleiche Idee wie ich, einfach nur für Mootools, denn dies ist erst seit der Version 2.10 beta vorhanden. Nicht in der Version 2.9.5, wie ich es sagte. Ladet euch beide Versionen herunter und vergleicht, dann werdet ihr es sehen, das nur TL_JAVASCRIPT vorhanden ist. Ausserdem könnt ihr es durch die Revision überprüfen http://dev.contao.org/projects/typol...824&rev_to=620

    TL_JAVASCRIPT zum Einbinden von JS per Pfad, TL_MOOTOOLS zum Einbinden des Scriptes direkt.
    Gut zu wissen.
    Hehe, nice

    @Dani: Es sollte also bei dir per TL_MOOTOOLS funktionieren.
    Wie gesagt in der Version 2.9.5 funktioniert es nicht. Zudem brauche ich nicht TL_MOOTOOLS sondern TL_HEAD, denn manche Scripte funktionieren nur, wenn sie im Head eingefügt werden.

    Übrigens geht das auch in der config.php des Moduls siehe hier im Abschnitt Backendbereich.
    Dies funktioniert eben nur für statischen Code, also wenn der Code in einer Datei abgespeichert ist, aber nicht für dynamisch generierten Code, wie ich es gerne hätte.

  15. #15
    Contao-Urgestein Avatar von Toflar
    Registriert seit
    15.06.2009.
    Beiträge
    4.467
    Partner-ID
    8667
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von Dani Beitrag anzeigen
    Wie gesagt in der Version 2.9.5 funktioniert es nicht.
    Das wird dann wohl so sein, aber in der 2.10 hast Du es ja dann

    Zitat Zitat von Dani Beitrag anzeigen
    Zudem brauche ich nicht TL_MOOTOOLS sondern TL_HEAD, denn manche Scripte funktionieren nur, wenn sie im Head eingefügt werden.
    So ein Script möchte ich mal sehen, da kenn ich nämlich keins...

    Zitat Zitat von Dani Beitrag anzeigen
    Dies funktioniert eben nur für statischen Code, also wenn der Code in einer Datei abgespeichert ist, aber nicht für dynamisch generierten Code, wie ich es gerne hätte.
    Dann bleibt dir eben nur die 2.10 oder das direkte Reinparsen in be_main.tpl mittels outputBackendTemplate-Hook.
    Contao Core-Entwickler @terminal42 gmbh
    Wir sind Contao Premium-Partner!
    Für Individuallösungen kannst du uns gerne kontaktieren.
    PS: Heute schon getrakked?

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •