page.tpl.php (pushbutton) läd nicht alle scripts ...
Eingetragen von grünhinterdenohren (37)
am 01.09.2009 - 14:29 Uhr in
am 01.09.2009 - 14:29 Uhr in
hi!
ich bastle gerade mit jquerry (zb. jquery.mousewheel.js) rum und habe das problem, das drupal das script nicht von allein mit rein lädt, wie es ja soweit ich weiß bei der 6 der fall sein sollte ... reicht es da aus wenn ich die scripte in der page.tpl.php mit "<.script.>...<./script.>" aufrufe? passiert nämlich nix ...
schonmal danke im vorraus ;)
- Anmelden oder Registrieren um Kommentare zu schreiben
Eigentlich muss man das in
am 01.09.2009 - 14:35 Uhr
Eigentlich muss man das in der info Datei mit angeben:
scripts[] = yourscript.js
--------------
Blog www.freeblogger.org: Deutscher IRC-Channel: irc.freenode.net #drupal.de ... Jabber-me: dwehner@im.calug.de
SirFiChi ist auch dein Halbgott.
<script>
am 01.09.2009 - 23:07 Uhr
Eigentlich sollte es auch gehen, wenn du es direkt in die page.tpl.php schreibst. Aber wo kommen die Punkte darin her? Es heißt nur: .... Dann klappt das auch. Bzw. hast du dann den Pfad zur .js richtig gesetzt?
Wobei es für das Theme besser in der .info aufgehoben ist wie dereine schreibt.
jup
am 02.09.2009 - 08:22 Uhr
richtig verlinkt ist es ... aber wenn das in der page.tpl.php geht, die scripts werden ja im angezeigt, muss das problem im code liegen ... muss ich eben mal gucken und basteln
irgendwie läd drupal meine
am 02.09.2009 - 09:45 Uhr
irgendwie läd drupal meine scripts nicht laut fehlerkonsole und ich steig auch nicht dahinter warum ...
also wenn ich im der page.tpl.php alle scripte die ich einfügen will mit z.b.
<.script type="text/javascript" src="jquery.mousewheel.js".><./script.>
einbinde ... sind die zwar im head da, werden aber nicht geladen laut fehlerkonsole(Opera)
wenn ich in der pushbutton.info
scripts[] = jquery.mousewheel.js
mit hinzufüge taucht sie nicht einmal im <.head.> auf ...
nur die script steht immer im head wird aber auch nicht mehr geladen bzw geöffnet
woran kann das liegen? hat das was mit
$scripts
zu tun? gestern ging eigentlich noch alles :-S
ich geb euch mal die javascript die ich ein bauen wollte ...
--> jquery.mousewheel.js :
/*
* Version: 3.0.2
*
* Requires: 1.2.2+
*/
(function($) {
var types = ['DOMMouseScroll', 'mousewheel'];
$.event.special.mousewheel = {
setup: function() {
if ( this.addEventListener )
for ( var i=types.length; i; )
this.addEventListener( types[--i], handler, false );
else
this.onmousewheel = handler;
},
teardown: function() {
if ( this.removeEventListener )
for ( var i=types.length; i; )
this.removeEventListener( types[--i], handler, false );
else
this.onmousewheel = null;
}
};
$.fn.extend({
mousewheel: function(fn) {
return fn ? this.bind("mousewheel", fn) : this.trigger("mousewheel");
},
unmousewheel: function(fn) {
return this.unbind("mousewheel", fn);
}
});
function handler(event) {
var args = [].slice.call( arguments, 1 ), delta = 0, returnValue = true;
event = $.event.fix(event || window.event);
event.type = "mousewheel";
if ( event.wheelDelta ) delta = event.wheelDelta/120;
if ( event.detail ) delta = -event.detail/3;
// Add events and delta to the front of the arguments
args.unshift(event, delta);
return $.event.handle.apply(this, args);
}
})(jQuery);
--> script.js :
$(function(){
$('#test').mousedown(function(event) {
$(this)
.data('down',true)
.data('x', event.clientX)
.data('scrollLeft', this.scrollLeft);
return false;
}).mouseup(function(event){
$(this).data('down', false);
}).mousemove(function(event) {
if($(this).data('down') == true){
this.scrollLeft = $(this).data('scrollLeft') + $(this).data('x') - event.clientX;
}
}).mousewheel(function(event, delta) {
this.scrollLeft -= (delta*30);
}).css({
'overflow': 'hidden',
});
});
$(window).mouseout(function(event) {
if($('#test').data('down')) {
try {
if(event.originalTarget.nodeName == 'BODY' || event.originalTarget.nodeName == 'HTML') {
$('#test').data('down', false);
}
} catch (e){}
}
});
Wenn man die Jquery Datei in
am 02.09.2009 - 11:20 Uhr
Wenn man die Jquery Datei in die Info hinzufügt, dann muss die Theme Registry einmal neu aufgebaut werden.
Z.B. in dem einmal auf admin/build/themes geht.
--------------
Blog www.freeblogger.org: Deutscher IRC-Channel: irc.freenode.net #drupal.de ... Jabber-me: dwehner@im.calug.de
SirFiChi ist auch dein Halbgott.
yourscript.js in den Seitenfooter
am 02.09.2009 - 12:04 Uhr
Eigentlich muss man das in der info Datei mit angeben:
Das funktioniert aber damit bekommt man eine JS nicht in den Footer.
In den Footer mit einer Zeile in der "template.php":
drupal_add_js(drupal_get_path('theme', 'foobar') .'/yourscript.js', 'theme', 'footer');
------------------------
Quiptime Group
Da geht noch was.
mal ganz dumm nachgefragt
am 02.09.2009 - 12:40 Uhr
mal ganz dumm nachgefragt ... in pushbutton gibt es keine template.php muss ich die, mir da noch anlegen? ...
hab das ganze jetzt nochmal neu im bluemarine gemacht jetzt geht es wieder :)
hab warscheinlich doch was zerschossen ^^
Wenn ein Theme noch keine
am 02.09.2009 - 13:02 Uhr
Wenn ein Theme noch keine "template.php" hat kann man sie selbst anlegen.
In diesem Falle haette sie nur eine Zeile Inhalt. Die mit drupal_add_js().
------------------------
Quiptime Group
Da geht noch was.
hab das jetzt so gemacht ...
am 02.09.2009 - 12:53 Uhr
hab das jetzt so gemacht ... funzt immer noch nich :( ... naja im anderen theme gehts ;)
muss mich ja nich sinnlos rumärgern
Du hast selbst eine
am 02.09.2009 - 13:12 Uhr
Du hast selbst eine "template.php" (im richtigen Ordner) angelegt?
Ist das verwendete Theme PHP-Template basiert?Ist es eine PHP Datei mit
<?php
in der ersten Zeile und KEINEM schliessenden?>
am Dateiende?Wen alles Ja, hast Du den Theme Cache geleert?
Edit
Pushbutton im aktuellen Drupal 6 ist PHP-Template basiert.
------------------------
Quiptime Group
Da geht noch was.