JavaScript einbinden

Hier können Probleme und alles andere in Deutscher Sprache gelöst werden.
Post Reply
s9y-Fan
Posts: 3
Joined: Fri Jun 06, 2014 3:38 pm

JavaScript einbinden

Post 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
Timbalu
Regular
Posts: 4598
Joined: Sun May 02, 2004 3:04 pm

Re: JavaScript einbinden

Post 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() { '.
Regards,
Ian

Serendipity Styx Edition and additional_plugins @ https://ophian.github.io/ @ https://github.com/ophian
yellowled
Regular
Posts: 7111
Joined: Fri Jan 13, 2006 11:46 am
Location: Eutin, Germany
Contact:

Re: JavaScript einbinden

Post 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
s9y-Fan
Posts: 3
Joined: Fri Jun 06, 2014 3:38 pm

Re: JavaScript einbinden

Post 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.
Timbalu
Regular
Posts: 4598
Joined: Sun May 02, 2004 3:04 pm

Re: JavaScript einbinden

Post 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
Regards,
Ian

Serendipity Styx Edition and additional_plugins @ https://ophian.github.io/ @ https://github.com/ophian
yellowled
Regular
Posts: 7111
Joined: Fri Jan 13, 2006 11:46 am
Location: Eutin, Germany
Contact:

Re: JavaScript einbinden

Post by yellowled »

Timbalu wrote: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
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
s9y-Fan
Posts: 3
Joined: Fri Jun 06, 2014 3:38 pm

Re: JavaScript einbinden

Post 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
MarioH
Regular
Posts: 238
Joined: Mon Jul 20, 2009 10:53 pm
Contact:

Re: JavaScript einbinden

Post 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
Post Reply