Page 1 of 1

Auf eigenes Template im JS verweisen

Posted: Fri May 03, 2013 2:49 pm
by Mokkujin
Hallo ihrs,

ich habe hier ein JQuery Plugin das ich gerne einbinden möchte. Resize Background heißt das Ding ;)

In CSS kann ich ja so auf ein Bild verweisen :

Code: Select all

background-image: url({TEMPLATE_PATH}img/bg_page.jpg)
wie kann ich das denn nun in meinem JQuery Plugin nachbauen , ich bin KEIN JS Experte deswegen die Frage hier.

Mir gehts um diesen Schnipsle :

Code: Select all

$(document).ready(function() {
	$("body").ezBgResize({
		img : "TEMPLATPFAD ?/img/bg.jpg"
	});
});

Re: Auf eigenes Template im JS verweisen

Posted: Fri May 03, 2013 2:59 pm
by Mokkujin
Ok so wie es aussieht hab ich hier ein ganz anderes Problem .....

Vielleicht könnte mir mal jemand helfen wie ich das zum laufen bekomme ich steh scheinbar voll auf dem Schlauch oder bin einfach zu doof dafür.

Code: Select all

<script src="/blog/templates/hv-kronach/js/jquery-1.9.1.min.js"></script>
<script src="/blog/templates/hv-kronach/js/jquery.backstretch.min.js"></script>
Ich hab die beiden Dateien in der index.tpl eingebunden (wie modernizr-2.6.2.min.js) steht auch alles sauber drin dann rufe ich das Skript wie in dem Beispiel auf der Seite http://srobbin.com/jquery-plugins/backstretch/ auf , jedoch macht das Teil bei mir gar nix .....

Ich habe einen HTML-Klotz reingemacht und das Bild mal mit dem vollen Pfad aufgerufen

Code: Select all

<script>
$.backstretch("http://localhost/blog/templates/hv-kronach/img/ptx.jpg");
</script>

Re: Auf eigenes Template im JS verweisen

Posted: Fri May 03, 2013 3:20 pm
by Mokkujin
Ok das Script läuft jetzt , ich hatte vergessen bzw. unwissenheit das ich das Teil ja auch noch einen Trigger geben sollte.

https://gist.github.com/srobbin/1976643 ... stfile1-js

hier lag das Problem .....

Jetzt ist nur noch die Frage wie ich

Code: Select all

$(document).ready(function() {
$.backstretch("http://localhost/blog/templates/hv-kronach/img/ptx.jpg");
});
durch sowas in der Art ersetzen kann

Code: Select all

$(document).ready(function() {
$.backstretch({TEMPLATEPATH}img/ptx.jpg");
});
So wie es hier steht funktioniert es leider nicht ......

Re: Auf eigenes Template im JS verweisen

Posted: Fri May 03, 2013 3:41 pm
by garvinhicking
Hi!

Im HTML sollte sowas klappen:

Code: Select all

$(document).ready(function() {
$.backstretch("{serendipity_getFile file="img/ptx.jpg"}");
});
Die serendipity_geTfile smarty funktion liest das bild aus deinem templateverzeichnis aus und gibt den Pfad mitsamt Dateiname zurück...

HTH,
GArvin

Re: Auf eigenes Template im JS verweisen

Posted: Fri May 03, 2013 4:04 pm
by Mokkujin
Erstmal danke für deine Antwort ich hab das jetzt so eingebaut , leider funktioniert das nicht ....

Kann das daran liegen das ich es im HTML Klotz reinbaue und nicht direkt ins Template ?

Re: Auf eigenes Template im JS verweisen

Posted: Fri May 03, 2013 4:43 pm
by garvinhicking
Hi!

Ja, das hättest Du schon sagen müssen. :) In einem HTML-KLotz geht das so nicht*, Du solltest es also im Template verdrahten.

Grüße,
Garvin

* Es gibt das smartymarkupplugin. Das würde ich für deinen Fall aber nicht empfehlen, da es performancemäßig deutlich teurer ist.

Re: Auf eigenes Template im JS verweisen

Posted: Fri May 03, 2013 5:27 pm
by Mokkujin
Dann hab ich jetzt noch eine doofe Frage wie bekomme ich das denn sauber in das Template rein , wenn ich den snipp rein kopieren gibt er mir das als Echo aus .... Also das <script> Tag und alles was dazwischen steht muss man das noch irgendwo escapen ?

Re: Auf eigenes Template im JS verweisen

Posted: Fri May 03, 2013 5:57 pm
by ockmonix
Du solltest

Code: Select all

{
durch

Code: Select all

{ldelim}
und

Code: Select all

}
durch

Code: Select all

{rdelim}
escapen.

Re: Auf eigenes Template im JS verweisen

Posted: Fri May 03, 2013 8:29 pm
by yellowled
Vor allem solltest Du jQuery nicht noch einmal manuell einbinden, das tut nämlich s9y schon (in halbwegs aktuellen Versionen) und zweimal ist eine Performance-Bremse.

Außerdem bitte beachten, dass das mit s9y gebundlete jQuery im noConflict-Modus läuft, falls Du eigenes Javascript einbinden musst. Das bedeutet primär, dass $ so nicht funktioniert, sondern durch jQuery ersetzt werden muss, also

Code: Select all

jQuery('body')
statt

Code: Select all

$('body')
und falls das Plugin nicht „anständig“ gebaut ist, kann es sein, dass das auch im Plugin geändert werden muss. Das sollte aber bei Backstretch nicht nötig sein.

YL

Re: Auf eigenes Template im JS verweisen

Posted: Sat May 04, 2013 10:38 am
by Mokkujin
@yellowled
Danke für den Tipp ich hab das jetzt mal probiert jedoch wenn ich mein manuell eingebundenes jquery entferne funktionieren die scripts nicht mehr. Wird das in der modern....js mit eingebunden ?

Im Moment verwende ich 1.7 rc3 für die lokale Entwicklung

Re: Auf eigenes Template im JS verweisen

Posted: Sat May 04, 2013 12:34 pm
by yellowled
Mokkujin wrote:wenn ich mein manuell eingebundenes jquery entferne funktionieren die scripts nicht mehr.
Kann man sich das Ganze irgendwo live angucken? Das würde es erheblich leichter machen, Dir konkret weiterzuhelfen. Die 1.7rc3 bundeled definitiv jQuery.
Mokkujin wrote:Wird das in der modern....js mit eingebunden ?
Nein. Modernizr hat mit jQuery nichts zu tun.

YL

Re: Auf eigenes Template im JS verweisen

Posted: Sat May 04, 2013 6:32 pm
by Mokkujin
Noch entwickle ich lokal die subdomain ist schon da , nächste Woche will ich das dann auf dem Server installieren , vielleicht wenn du da mal drüber schauen könntest.