Page 1 of 1
JavaScript einbinden
Posted: Fri Jun 06, 2014 3:41 pm
by s9y-Fan
Hallo Leute,
ich will JavaScribt-Code einbinden.
Naiv wie ich war, dachte ich, ich bau den einfach in der index.php ein. Das ging irgendwie gar nicht.
Nun hoffe ich hier auf Hilfe.
Grüße aus dem sonnigen Hamburg
Re: JavaScript einbinden
Posted: Fri Jun 06, 2014 4:08 pm
by Timbalu
Wo willst du javascript einbauen?
Wahrscheinlich doch für dein Template/Theme, also in dessen index.tpl.
Je nach S9y/Smarty version musst du die Smarty Delimiter { und } für javascript mit {ldelim} und {rdelim} oder den ganzen Block per {literal} ... {/literal} maskierem, oder ab S9y-1.7/Smarty3 einfach mit einen zusätzlichen leerzeichen arbeiten, zb 'function() { '.
Re: JavaScript einbinden
Posted: Fri Jun 06, 2014 4:14 pm
by yellowled
Timbalu wrote:Je nach S9y/Smarty version musst du die Smarty Delimiter { und } für javascript mit {ldelim} und {rdelim} oder den ganzen Block per {literal} ... {/literal} maskierem, oder ab S9y-1.7/Smarty3 einfach mit einen zusätzlichen leerzeichen arbeiten, zb 'function() { '.
Das gilt wohlgemerkt nur, wenn Du JS inline einbinden willst oder musst. Kannst Du darauf verzichten, kann Du Deinen JS-Code auch einfach in eine (z.B.) theme.js im Theme-Verzeichnis kippen und diese über ein script-Element referenzieren.
YL
Re: JavaScript einbinden
Posted: Fri Jun 06, 2014 4:28 pm
by s9y-Fan
Super schnelle Antworten, danke an Euch dafür.
Jedoch, wow, das war für mich als Anfänger ein wenig zu viel Input.
Ich habe ein Script, dass einen Cookie setzt. Dieser ist überall auf meiner Homepage in den body eingebunden. Nun will ich diesen auch beim neuen Blog einbinden.
Ohne wirklich viel verstanden zu haben was Ihr gerade geschrieben habt, tippe ich mal, dass dies die Lösung ist:
Das gilt wohlgemerkt nur, wenn Du JS inline einbinden willst oder musst. Kannst Du darauf verzichten, kann Du Deinen JS-Code auch einfach in eine (z.B.) theme.js im Theme-Verzeichnis kippen und diese über ein script-Element referenzieren.
Die Frage ist nun, wo muss ich die Referenz einbauen. Also die *.JS ist in einem Unterordner meines Stammverzeichnises.
Re: JavaScript einbinden
Posted: Fri Jun 06, 2014 4:38 pm
by Timbalu
Sollte dein Template das 2k11 template sein, einfach in etwa hier, analog zu
https://github.com/s9y/Serendipity/blob ... ex.tpl#L94
Das js file säße dann in /templates/2k11/js/dein.js
Re: JavaScript einbinden
Posted: Fri Jun 06, 2014 5:32 pm
by yellowled
Wobei dann darauf hinzuweisen wäre, dass diese Änderungen bei einem Update von 2k11 überschrieben würden, weil 2k11 Teil des s9y-Kerns ist. Und, nebenbei bemerkt, man könnte das zusätzliche JS auch einfach in die 2k11.min.js einbinden und sich einen zusätzlichen Request sparen. (Auch die modifizierte 2k11.min.js müsste man allerdings sichern und die eigenen Änderungen nach einem Update erneut einbauen.)
Gleiches gilt für alle anderen Themes, die zum Kern gehörten oder von Spartacus kommen. Hat das Theme keine eigene JS-Datei, legst Du einfach eine an (in /templates/<DEIN-THEME>/dein.js) und bindest sie wie in 2k11s index.tpl zu sehen ein:
Code: Select all
<script src="{serendipity_getFile file="dein.js"}"></script>
YL
Re: JavaScript einbinden
Posted: Fri Jun 06, 2014 8:32 pm
by s9y-Fan
Hallo Leute,
das hört sich doch gar nicht so schwer an!
Dann werde ich mich mal daran probieren, habe zwar ein anderes Template aber das scheint ja egal.
Danke und schönes sonniges Pfingstwochende
Re: JavaScript einbinden
Posted: Sat Jun 07, 2014 12:01 pm
by MarioH
Hallo,
man kann das auch über Plugins lösen. Wenn das JS im Header stehen soll, nimmt man "HTML-Code für den head-Bereich" (serendipity_event_head_nugget), für den Body kann man "HTML Nugget on page" (serendipity_event_page_nugget).
Gruß
Mario