Ergebnis 1 bis 8 von 8

Thema: Zusätzliche <head> Einträge für einzelne Seiten

  1. #1
    Contao-Nutzer
    Registriert seit
    08.09.2015.
    Beiträge
    49

    Frage Zusätzliche <head> Einträge für einzelne Seiten

    Hallo zusammen,

    ich fänd es total Klasse wenn man für einzelne Seiten zusätzliche Einträge in den <head> der HTML Struktur einbinden könnte.
    Eine solche Funktion vermisse ich schon länger, da wir auf unseren Webseiten z.B. mit interaktiven Grafiken arbeiten, deren .js Code jeweils nur auf dieser einen Einzelseite gebraucht wird. Solche Sachen binde ich nur sehr ungern in das komplette Layout ein.

    Ich weiß von der Erweiterung "header_code" (https://contao.org/de/erweiterungsli...ader_code.html), allerdings scheint diese nicht mit der V. 3.5.3 kompatibel zu sein.
    Gibt es einen Workaround oder eine andere Erweiterung welche dieses Problem lösen kann?

    Ich kann mir nicht vorstellen, dass ich der einzige bin dem diese Funktion nützlich sein könnte, - ggf. wäre ja sogar eine Einbindung dieser Funktion in den Contao Core sinnvoll.

    Vielen Dank und beste Grüße
    Kartenmann

  2. #2
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.116
    Partner-ID
    10107

    Standard

    Brauchst du das unbedingt im <head>? Warum nicht als normales HTML Inhaltselement?

  3. #3
    Contao-Nutzer
    Registriert seit
    08.09.2015.
    Beiträge
    49

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Brauchst du das unbedingt im <head>? Warum nicht als normales HTML Inhaltselement?
    Zwei Beispiele:



    • Wir nutzen mit einer Contao Installation ein Layout für mehrere Webseiten. Hier soll das Design gleich sein. Allerdings sollen jeweils unterschiedliche Google-Analytics Tracking IDs für die verschiedenen Domains verwendet werden. Im Contao Default müsste ich dazu das Layout duplizieren um eine andere ID zuzuweisen. Also ziemlich viel Code-Duplizierung für einen einfachen Task. Um das Problem zu umgehen habe ich ein Skript geschrieben, welches erst die Domain prüft und dann Google die korrekte ID zuweist. Funktioniert super, allerdings für nicht-Entwickler / Kollegen schwierig nachzuvollziehen oder zu erweitern. Und natürlich Fehleranfällig durch Änderungen Seitens Google.

    • In einer interaktiven Grafik nutze ich eine Preloadfunktion welche Grafiken vorlädt. Leider funktioniert die Preloadfunktion nur bevor die komplette Seite geladen wurde. Auch hier muss das jeweilige Skript im <head> geladen werden um korrekt zu funktionieren.

  4. #4
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.116
    Partner-ID
    10107

    Standard

    Zitat Zitat von kartenmann Beitrag anzeigen
    Um das Problem zu umgehen habe ich ein Skript geschrieben, welches erst die Domain prüft und dann Google die korrekte ID zuweist. Funktioniert super, allerdings für nicht-Entwickler / Kollegen schwierig nachzuvollziehen oder zu erweitern.
    Diesen Weg finde ich prinizpiell korrekt . Um das Benutzerfreundlicher zu machen kannst du ja eine Namenskonvention für diese Templates festlegen und dein Script bindet dann jeweils das richtige Template anhand der Domain und dem Template Namen ein.

    Aber ich verstehe den Zusammenhang mit deinem ursprünglichen Problem nicht. Warum genau brauchst du hier dann zusätzliche <head> Einträge für einzelne Seiten?



    Zitat Zitat von kartenmann Beitrag anzeigen
    In einer interaktiven Grafik nutze ich eine Preloadfunktion welche Grafiken vorlädt. Leider funktioniert die Preloadfunktion nur bevor die komplette Seite geladen wurde. Auch hier muss das jeweilige Skript im <head> geladen werden um korrekt zu funktionieren.
    Lässt sich auch mit einem Script/Template lösen, dass du dann per Inhaltselement in der Seite einbindest.
    1. Du legst dir bspw. ein neues Template namens ce_myjavascriptforthehead an.
    2. In diesem Template fügst du bspw. folgendes ein:
      PHP-Code:
      <?php $GLOBALS['TL_JAVASCRIPT'][] = 'path/to/my/javascript.js';
    3. Du legst auf der Seite, wo dieses JavaScript eingebunden werden soll, ein neues HTML Inhaltselement an und wählst als Template ce_myjavascriptforthehead aus und schreibst im HTML Ihnhalt selbst bspw. einfach folgendes rein:
      HTML-Code:
      <!-- myjavascriptforthehead -->
    Voilà.

    Oder du installierst dir Theme+, da kannst du dann in der Seitenstruktur pro Seite zusätzliche CSS oder JavaScript Dateien auswählen.

  5. #5

  6. #6
    Contao-Nutzer
    Registriert seit
    08.09.2015.
    Beiträge
    49

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen

    Lässt sich auch mit einem Script/Template lösen, dass du dann per Inhaltselement in der Seite einbindest.
    1. Du legst dir bspw. ein neues Template namens ce_myjavascriptforthehead an.
    2. In diesem Template fügst du bspw. folgendes ein:
      PHP-Code:
      <?php $GLOBALS['TL_JAVASCRIPT'][] = 'path/to/my/javascript.js';
    3. Du legst auf der Seite, wo dieses JavaScript eingebunden werden soll, ein neues HTML Inhaltselement an und wählst als Template ce_myjavascriptforthehead aus und schreibst im HTML Ihnhalt selbst bspw. einfach folgendes rein:
      HTML-Code:
      <!-- myjavascriptforthehead -->
    Voilà.

    Oder du installierst dir Theme+, da kannst du dann in der Seitenstruktur pro Seite zusätzliche CSS oder JavaScript Dateien auswählen.

    Vielen Dank für den Post.

    Ein neues Template anlegen ist okay, aber da ich diese Skripte wirklich nur einmal auf den Seiten benötige ist es im Prinzip schon fast too much (für mich ergeben Templates Sinn, wenn ich diese wiederverwenden möchte). Werde das aber nächste Woche ausprobieren.

    Danke für den Theme+ Hinweis. Theme+ scheint ebenfalls nicht mehr mit der 3.5.3 Version kompatibel zu sein. Ich habe aber die BackendThemeExtended Erweiterung gefunden. War das mal Theme+?

    Beste Grüße
    Kartenmann

  7. #7
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.116
    Partner-ID
    10107

    Standard

    Nein, das ist nicht Theme+. Die aktuellste Version von Theme+ kannst du nur mit composer installieren.

  8. #8
    Contao-Nutzer
    Registriert seit
    08.09.2015.
    Beiträge
    49

    Daumen hoch

    Okay, ich hab es über ein Template gelöst.
    Das ist eine Lösung mit der ich leben kann. Hat super funktioniert.

    Vielen Dank Spooky!

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
  •