Ergebnis 1 bis 24 von 24

Thema: Contao: Javascript-Zeile in "body" einfügen

  1. #1
    Contao-Nutzer Avatar von halmsen
    Registriert seit
    29.04.2011.
    Ort
    EU
    Beiträge
    106

    Standard Contao: Javascript-Zeile in "body" einfügen

    Es gibt eine interessante Site (www.zitate.de), die täglich einen Sinnspruch einer bekannten Persönlichkeit postet. Diesen Spruch kann man auf der eigenen Website einbauen, indem man folgende Zeile

    <script src="http://www.zitate.de/scripts/zitat_des_tages.js"></script>

    einfach durch copy&paste auf der entsprechenden Seite an gewünschter Stelle eingibt. Beim Aufruf der Seite erscheint der Spruch. Auf einer statischen Site habe ich diese Zeile problemlos eingebaut.

    Beim einer neuen im Aufbau befindlichen Site mit Contao gelingt es mir nicht, diese Zeile einzufügen. Die Zeile ist in "body" einzubauen, nicht in "head".

    Als HTML wird die Zeile von Contao im body nirgends akzeptiert, auch nicht als Modul.

    Hat jemand eine Idee, wie ich die Script-Zeile an passender Body-Position plazieren kann?

  2. #2
    Contao-Urgestein
    Registriert seit
    03.06.2010.
    Ort
    Wuppertal
    Beiträge
    2.149
    User beschenken
    Wunschliste

    Standard

    Das Modul ist der richtige Weg, du musst nur das Script Tag noch in die Liste der erlaubten HTML Tags einfügen.

  3. #3
    AG Pressearbeit
    Community-Moderator
    Buchautor 'Contao für Webdesigner'
    Avatar von planepix
    Registriert seit
    05.06.2009.
    Ort
    Stuttgart
    Beiträge
    6.468
    Partner-ID
    107
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Im Seitenlayout unter Experten-Einstellungen -> Zusätzliche Head-Tags eintragen und wie flex schreibt, das script in den erlaubten HTML-Tags zulassen.

    Ich nehme das lieber in eine eignene datei und speicher diese z.B. ab als "zitate.php" und lege diese dann in den Ordner "templates" ab und binde dann das Skript mit {{file::zitate.php}} als Modul in das Seitenlayout ein.
    ---------------------------------
    Beste Grüße planepix
    Contao für Webdesigner (Website), Twitter: @contaowebdesign
    weitzeldesign
    Contao-Sprechstunde
    Contao Schulungen: https://www.weitzeldesign.com/cms-co...chulungen.html
    Contao Jahrbuch: www.contao-jahrbuch.de
    Contao Agenturtag: www.contao-agenturtag.de
    Contao Stammtisch Stuttgart: www.contao-stammtisch-stuttgart.de
    Contao 4 Erfahrungen als Gitbook: https://app.gitbook.com/@planepix/s/...-mit-contao-4/
    Contao 4 & Manager Hosterhinweise: https://github.com/contao/contao-manager/wiki

    Schon wieder ein Update?
    Glücklich sind die, die den Wert erkennen – und wertschätzen.
    „Muss man machen wie beim Zahnarzt. Der bestraft einen auch mit hohen Rechnungen wenn man die Pflege vernachlässigt.”

  4. #4
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.557
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hallo halmsen,

    wenn Du dieses Skript einbindest, wird Deine Seite vermutlich nicht mehr ganz standardkonform sein. Das <link>-Element müsste in den <head>-Bereich und (für XHTML) außerdem inhaltsleer sein.
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  5. #5
    Contao-Nutzer Avatar von halmsen
    Registriert seit
    29.04.2011.
    Ort
    EU
    Beiträge
    106

    Standard

    @Flex:
    Die Ergänzung der "Erlaubten Tags" um das <script>-Tag macht mir das Einbinden leicht: Nicht mal mit Modul, sondern mit einfachem Text-Inhaltselement und dortiger Eingabe der (obigen) Code-Zeile im HTML-Feld des TinyMCE. Klappt tadellos. Danke.

    @planepix
    Der "besondere" Service von www.zitate.de besteht darin, dass die eigentliche JS-Datei auf deren Server liegt und die oben benannte Code-Zeile unbedingt in den BODY an die Stelle muss, wo der Spruch erscheint. Das JS-Script ist wohl speziell für diesen "Auftrag" geschrieben. Deshalb scheidet ein Einbinden in HEAD oder Anlegen einer separaten PHP-Datei aus. Interessant aber auf jeden Fall Deine Lösungsansätze für mich als Hobby-Werkler.

    @xchs
    Leider nicht standardkonform. Danke für den Hinweis. Eigentlich schade, denn eine ganz "reine weiße HTML-Weste" wäre mir natürlich am liebsten. Dank Peter Müllers Contao-Buch weiß ich aber, dass man mit "kleinen Sünden" gegen Standardkonformität auch ganz gut leben darf und kann. Trotzdem Danke für den Hinweis.
    Geändert von halmsen (05.09.2011 um 13:54 Uhr)

  6. #6
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.557
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Du kannst es durchaus auch so machen, wie es planepix oben beschrieben hat. Vorteil wäre dabei, dass Du das <script>-Element nicht global freigeben müsstest (was gewissermaßen ein Sicherheitsrisiko darstellt und deshalb auch nicht standardmäßig in der Liste der "Erlaubten HTML-Tags" enthalten ist). Die JavaScript-Datei wird dabei nach wie vor von deren Servern geladen und nicht von Deinem (hätte auch keinen Sinn, zumal sich die JS-Datei ja täglich ändert)
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  7. #7
    Contao-Nutzer Avatar von halmsen
    Registriert seit
    29.04.2011.
    Ort
    EU
    Beiträge
    106

    Standard

    Zitat Zitat von leo.unglaub Beitrag anzeigen
    vergiss bitte nicht, dass xhtml das type attribut benötigt. Erst am html5 muss man das ohne schreiben. http://www.w3schools.com/tags/att_script_type.asp
    Danke für den Hinweis, leo.unglaub

  8. #8
    Contao-Nutzer Avatar von halmsen
    Registriert seit
    29.04.2011.
    Ort
    EU
    Beiträge
    106

    Standard

    Zitat Zitat von xchs Beitrag anzeigen
    Du kannst es durchaus auch so machen, wie es planepix oben beschrieben hat. Vorteil wäre dabei, dass Du das <script>-Element nicht global freigeben müsstest (was gewissermaßen ein Sicherheitsrisiko darstellt und deshalb auch nicht standardmäßig in der Liste der "Erlaubten HTML-Tags" enthalten ist). Die JavaScript-Datei wird dabei nach wie vor von deren Servern geladen und nicht von Deinem (hätte auch keinen Sinn, zumal sich die JS-Datei ja täglich ändert)
    Das werd' ich heute Abend mal probieren, so wie planepix das beschrieben hat (php-Datei). Wobei mir nicht ganz klar sein dürfte, wie die PHP-Datei auszusehen hat. Ich weiß zwar, wie der Öffnungs- und Schlusscode (<?php...?>) aussieht, aber das war's dann auch schon. Die Frage ist, ob ich zwischen diese Tags schlicht und einfach nur die Zeile "<script src="http://www.zitate.de/scripts/zitat_des_tages.js"></script>" setzen muss, damit der Insert-Befehl funktioniert. Schaun mer mal. Erst mal bin ich für ein paar Stunden weg (Zahnarzt - Oh weh! )

  9. #9
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.557
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Du erstellst einfach unter "TL_ROOT/templates" eine neue Datei "zitate.php" mit folgendem Inhalt:
    PHP-Code:
    <script type="text/javascript" src="http://www.zitate.de/scripts/zitat_des_tages.js"></script> 
    Dann kannst Du das Zitat im Backend per Inserttag "{{file::zitate.php}}" an der gewünschten Stelle einbinden.

    Das <script>-Element kannst Du dann selbstverständlich wieder aus der Liste der "Erlaubten HTML-Tags" entfernen.
    Geändert von xchs (05.09.2011 um 14:38 Uhr)
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  10. #10
    Contao-Nutzer Avatar von halmsen
    Registriert seit
    29.04.2011.
    Ort
    EU
    Beiträge
    106

    Standard

    Zitat Zitat von planepix Beitrag anzeigen
    Ich nehme das lieber in eine eignene datei und speicher diese z.B. ab als "zitate.php" und lege diese dann in den Ordner "templates" ab und binde dann das Skript mit {{file::zitate.php}} als Modul in das Seitenlayout ein.
    Zitat Zitat von xchs Beitrag anzeigen
    Du erstellst einfach unter "TL_ROOT/templates" eine neue Datei "zitate.php" mit folgendem Inhalt:
    PHP-Code:
    <script type="text/javascript" src="http://www.zitate.de/scripts/zitat_des_tages.js"></script> 
    Dann kannst Du das Zitat im Backend per Inserttag "{{file::zitate.php}}" an der gewünschten Stelle einbinden.

    Das <script>-Element kannst Du dann selbstverständlich wieder aus der Liste der "Erlaubten HTML-Tags" entfernen.
    Den von planepix alternativ vorgeschlagene und von xchs näher erläuterte Lösung (PHP-Datei u. Inserttag) funktioniert auch. So lass' ich es jetzt.

    Nochmals DANK an alle.

  11. #11
    yachtcharterat
    Gast

    Standard

    Hallo @all!
    Wie man sehen kann bin ich neu hier und habe mal gleich eine Frage an euch.
    Ich versuche auch ein bestimmtes script in den Seitentext oder in Modul zu bekommen.
    Habe es als test in einem Artikel im text eingebunden {{file::self_script/charter_anbote/test.php}}
    Dochleider bekomme ich diesen Fehler bei eurer beschreibung:

    Parse error: syntax error, unexpected '<' in /home/sail4fun/public_html/templates/self_script/charter_anbote/test.php on line 5

    Das Skript ist wie Ihr schon beschrieben habt in einem PHP file

    <?php
    echo "Hallo Welt!";
    ?>
    <?php
    <script type="text/javascript" src="http://app-static.boatbooker.net/JS/widget.js"></script>
    <script type="text/javascript">BoatBooker.createWidget({widget:'promo box',width:'250',height:'auto',urlparams:{pid:'014 53a11-7c6f-4eca-b5fc-90c85ea353c6',lang:'en'}});</script>
    ?>

    Könnt Ihr mir hier helfen?
    Danke lg
    Geändert von yachtcharterat (09.04.2013 um 17:16 Uhr)

  12. #12
    yachtcharterat
    Gast

    Standard

    Hallo
    kann mir keiner Sagen warum ich das hier '<' nicht verwenden darf.
    ich kenne mich viel zu wenig in PHP aus warumm ich hier im cantao einen error bekomme.
    Ohne cantao kann ich das php aufrufen und es kommt kein Fehler.

    Jede hilfe zählt für mich
    danke

  13. #13
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.557
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Lass die PHP-Tags in Zeile 4 und 7 weg:
    PHP-Code:
    <?php
    echo "Hallo Welt!";
    ?>
    <script type="text/javascript" src="http://app-static.boatbooker.net/JS/widget.js"></script>
    <script type="text/javascript">BoatBooker.createWidget({widget:'promo box',width:'250',height:'auto',urlparams:{pid:'014 53a11-7c6f-4eca-b5fc-90c85ea353c6',lang:'en'}});</script>
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  14. #14
    yachtcharterat
    Gast

    Standard

    Hallo xchs!
    Vielen Vielen Dank.
    Jetzt funkt es ohne Probleme.
    lg

  15. #15
    Contao-Nutzer Avatar von mxxnz
    Registriert seit
    27.05.2013.
    Beiträge
    19

    Frage Problem mit script

    Hallo zusammen,

    habe ein ähnliches Problem mit einem Script. Benutze contao in der Version 2.8.3 Habe das Script in einem anderen CMS als html Code-Element eingefügt und es wird problemlos dargestellt. Wenn ich es in contao in den html Code eines Elements reinkopiere wird es nicht dargestellt, obwohl <script> als gültiges html Element freigegeben ist.

    Ich wollte es nun wie hier beschrieben ebenfalls in eine auto.php datei einbinden und diese via {{file::auto.php}}einfügen. Aber wenn ich mich per ftp verbinde habe ich keinen Ordner "TL_ROOT/templates" sondern nur "/home/www/templates" es gibt nur einen Ordner tl_files auf gleicher Ebene wie der templates Ordner.

    Frage: Habe ich was übersehen? Wo muss ich nun diese php datei hinspeichern?

    Danke und Gruß und vor allem schönes Wochenende

    mxxnz

  16. #16
    Contao-Yoda Avatar von MacKP
    Registriert seit
    15.06.2009.
    Ort
    Duisburg
    Beiträge
    13.292
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hallo mxxnz,
    dann ist '/home/www/' der Root Ordner von deinem Contao ;-)
    Also ist da der Ordner templates schon genau der richtige.

    Viele Grüße
    Contao Pool | C-C-A | MetaModels | [Internetseite -> Mediendepot Ruhr]
    [Arbeitet bei -> Paus Design & Medien]
    "I can EXPLAIN it to you, but I can't UNDERSTAND it for you."

  17. #17
    Contao-Nutzer Avatar von mxxnz
    Registriert seit
    27.05.2013.
    Beiträge
    19

    Daumen hoch DANKE!

    Hallo MacKP,

    danke für die schnelle Antwort. Werde dann Mal mein Glück probieren. Hatte mir das schon gedacht, aber es waren keine weiteren .php Dateien in dem Ordner.
    EDIT: Es hat geklappt und es wird dargestellt. SUPER SACHE

    Schönes Weekend
    mxxnz
    Geändert von mxxnz (21.06.2013 um 15:44 Uhr)

  18. #18
    Contao-Nutzer Avatar von HobbyWebProgrammer
    Registriert seit
    26.06.2013.
    Ort
    Moers
    Beiträge
    71

    Standard

    Heyho Leute,

    bin mit der Suchfunktion hier in diesem Thread gelandet.

    Ich habe folgendes vor:

    Für meinen Verein möchte ich gerne die Tabellen einbinden. SIS-Handball.de stellt dafür folgenden Code:

    PHP-Code:
    <script 
    src
    ="http://www.gatecom.de/jsexport/jscore.aspx?art=tabelle&liga=00151200000000000000
    0000000000000001000" 
    type="text/javascript"></script> 
    Wenn ich das hier richtig verstanden habe, habe ich folgende Möglichkeiten, die Tabelle als ganz normales Inhaltselement in einen Artikel einzubinden:

    1. unter Einstellungen <script> als zusätzlichen HTML-Tag einzubinden und dann im Artikel "HTML-CODE" auswählen und den obigen Code einfügen
    2. den obigen Code als .php speichern und unter Templates speichern und dann im Artikel "Text" auswählen und per instert-tag die .php-Datei einbinden


    Habe ich doch richtig verstanden, oder?

    *Nachtrag:
    Ich habe es nun gelöst, indem ich den html-tag <script> erlaubt habe, funktioniert super.

    Grüße
    Geändert von HobbyWebProgrammer (27.06.2013 um 22:52 Uhr)

  19. #19
    Contao-Fan
    Registriert seit
    10.01.2012.
    Beiträge
    388

    Standard

    Hallo,

    ich habe dasselbe Problem:

    Ich versuche diesen Code
    Code:
    <script type="text/javascript" src="http://widget.live365.com/widget/js/widget.js" charset="utf-8"></script>
    <object id="live365Player" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,124,0" width="200" height="330" align="middle"><param name="allowScriptAccess" value="always" /><param name="bgcolor" value="#888888" /><param name="wmode" value="transparent" /><param name="movie" value="http://widget.live365.com/widget/widget.swf" /><param name="FlashVars" value="Widget_Server=widget.live365.com/widget/&p=member_12261090523&site=web&genre=Presets&wId=149A152FE009FA03FE4DA1DD&startPage=0&autoPlay=0&style=1&hasPurchase=1&transparent=0&bgPic=http://&codeType=0" /><param name="quality" value="high" /></object>
    In diese Seite einzubinden (direkt auf die Startseite)
    http://wakeupcall.life

    <script> ist in den Einstellungen erlaubt und trotzdem wird nichts geladen. Diesen Code habe ich im Artikel in einem HTML-Element reinkopiert.

    Was kann der Grund sein?

    Verrückt wird es dann, wenn ich den Object-Code in einem Online HTML-Editor teste: der Player wird sofort geladen. Es ist also auch ihne <script> funktionsfähig.

    player_klein.JPG

    Danke sehr für die Hilfe.

    Gr. I.
    Geändert von isti (12.11.2014 um 00:41 Uhr)

  20. #20
    Contao-Fan Avatar von joe
    Registriert seit
    20.06.2009.
    Ort
    Lüneburg
    Beiträge
    687
    User beschenken
    Wunschliste

    Standard

    Schau mal hier: http://ck2013.may17.de/javascript-einbinden.html Da ist bestimmt die passende Lösung für dich dabei.
    Trainings und Coachings zur Fort und Weiterbildung sowie Beratung in den Bereichen Contao, JavaScript, jQuery, VueJS, React, PHP, NodeJS und vielen weiteren Themen.

    Mehr unter jgreg.dev

    Follow me on Twitter @JoeRayGregory

  21. #21
    Contao-Fan
    Registriert seit
    10.01.2012.
    Beiträge
    388

    Standard

    Hallo,

    danke sehr für die Hilfe.

    "1" und "4" habe ich versucht.

    "1" funktioniert nicht, Player wird nicht geladen.
    "2" bei Installation der Erweiterung stürzt Frontend ab.

    ???

    Gr. I.

  22. #22
    Contao-Fan Avatar von joe
    Registriert seit
    20.06.2009.
    Ort
    Lüneburg
    Beiträge
    687
    User beschenken
    Wunschliste

    Standard

    Variante 1 wird auch im head und nicht im body eingebunden. Am besten versuchst du es mit Variante 2.
    Trainings und Coachings zur Fort und Weiterbildung sowie Beratung in den Bereichen Contao, JavaScript, jQuery, VueJS, React, PHP, NodeJS und vielen weiteren Themen.

    Mehr unter jgreg.dev

    Follow me on Twitter @JoeRayGregory

  23. #23
    Contao-Fan
    Registriert seit
    10.01.2012.
    Beiträge
    388

    Standard

    Hallo,

    irgendwie klappte es mit der Erweiterung.

    Ich habe "<script type="text/javascript" src="http://widget.live365.com/widget/js/widget.js" charset="utf-8"></script>" ins Header der jeweiligen Seite kopiert

    und "<object id="live365Player" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,124,0" width="200" height="330" align="middle">
    <param name="allowScriptAccess" value="always" />
    <param name="bgcolor" value="#888888" />
    <param name="wmode" value="transparent" />
    <param name="movie" value="http://widget.live365.com/widget/widget.swf" />
    <param name="FlashVars" value="Widget_Server=widget.live365.com/widget/&p=member_12261090523&site=web&stationBroadcast er= wavs&wId=149A13BF03DA0993FC64DB8B&startPage=0&auto Play=0&style=1&hasPurchase=1&transparent=0&bgPic=h ttp://&codeType=0" />
    <param name="quality" value="high" />
    </object>"

    in ein HTML-Element auf der Seite ...

    http://wakeupcall.life/our-mission-de.html

    Ich hätte erwartet, dass der Player am unteren Teil der Seite erscheint aber nichts...

    Der HTML-Editor schickt eine Fehlermeldung:

    HTML_Fehler.png

    Das Problem hängt möglicherweise damit zusammen.

    Gr. I.
    Geändert von isti (02.12.2014 um 16:47 Uhr)

  24. #24
    Contao-Fan
    Registriert seit
    10.01.2012.
    Beiträge
    388

    Standard

    Die Lösung war, dass <embed> hat arleubt werden müssen. Jetzt klappts. :-)

    I.

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
  •