PDA

Zobacz pełną wersję : jQuery w Joomla 1.5 nie działa!



Mateluta
05-01-2011, 17:59
Witam serdecznie! Mam zakodowany szablon w Xhtml/CSS i przenoszę go na Joomla!. Na razie przeniosłem cały szablon na sztywno. Wszystko ładnie się wyświetla oprócz slidera wykonanego w jQuery wykorzystujacego dodatek do jQuery o nazwie Cycle (cycle.js). Szukałem DUŻO, próbowałem WSZYSTKIEGO - pewnie jest mały szkopuł, który, mam nadzieję pomożecie wychwycić. Otóż tak: w całuym folderze z moim własnym szablonem mam w pliku index.php coś takiego:

<?php
defined( '_JEXEC' ) or die( 'Restricted access' );

?>
<?php echo '<?xml version="1.0" encoding="utf-8"?'.'>'; ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>" dir="<?php echo $this->direction; ?>" >
<head>
<jdoc:include type="head" />
<link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template;?>/css/screen.css" type="text/css" />
<link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template;?>/scripts/jquery.js" type="text/jacascript" />
<link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template;?>/scripts/nasze-skrypty.js" type="text/jacascript" />
<link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template;?>/scripts/cycle.js" type="text/jacascript" />
</head>
Jak widać próbuję wczytać wszelkie skrypty js - normalnie all działa - po podpięciu do Joomla już nie. Pewnie jest konflikt z MooTools, ale jak do tej pory nie udało mi się z tym poradzić. W jednym z divów chcę zawrzeć ten pokaz slajdów w jQuery:


<div id="intro">
<div id="galeria">
<div class="gora">
<div class="pager">
</div>
</div>
<div class="zdjecia">
<div class="zdjecia_pokaz">
<img src="images/zdj1.jpg" alt="tekst1" />
<img src="images/zdj2.jpg" alt="tekst2" />
<img src="images/zdj3.jpg" alt="tekst3" />
</div>
<div class="info">
</div>
</div>
</div>
</div>Chcę po prostu aby ten slider działał, nawet na sztywno bez modyfikacji w Joomla. Ktoś moze napisac mi krok po kroku co zrobic aby to działało? próbowałem wielu wskazówke z wielu tutoriali ale bez skutku. Próbowałem też tego: http://www.sanjeevshrestha.com.np/2009/05/using-jquery-with-joomla/
ale nie wiem gdzie wpisać te 3 linijki:

$document = &JFactory::getDocument();
$document->addScript(JPATH_SITE.’/media/system/js/jquery.js’ );
$document->addScriptDeclaration ( ‘jQuery.noConflict();’ );Oczywiście jquery.js wrzuciłem do media/system/js
Bardzo proszę o pomoc! dziękuję i pozdrawiam

palyga007
05-01-2011, 18:48
http://www.trzepizur.pl/blog/1-joomla/41-konfliktjquery.html
tego kolega próbował?

Mateluta
05-01-2011, 18:53
Hej! jest przelom... Palyga007 - stosując porady z Twojego linku - działa pięknie jeśli kod JavaScript umieszczę w pliku index.php... Wygląda na to, że nie chce załadować (nie widzi) zewnetrznych bibliotek. Dla przykładu, jesli w sekcji HEAD umieszczę ukrycie jakiegoś diva, działa pięknie. jeśli natomiast przeniosę ten kod do folderu scripts/mojSkrypt.js - Joomla nie chce tu zajrzeć. Może w HTMLu w pliku index.php trezba jakiejś komendy? Bo ladowanie skryptow js tak jak to pokazałem w pierwszym poście chyba nie do końca jest szczęśliwe. A może w divie gdzie ma sie wyswietlac ten slider trezba coś dodać? Nie wiem czemu nie chce to działać... POzdrawiam

tlewap
05-01-2011, 20:01
Ja zawsze dodaje pliki js w katalogu templatki, nigdy nie miałem problemu z ich wczytywaniem.
Możesz podać link do strony?

palyga007
05-01-2011, 20:53
type="text/jacascript"

co to jest jacascript?

Mateluta
06-01-2011, 11:04
Ja zawsze dodaje pliki js w katalogu templatki, nigdy nie miałem problemu z ich wczytywaniem.
Możesz podać link do strony?

Jacasript - to moj maly blad, który nie był niestety powodem moich problemów:) Otóż problem rozwiązałem w taki sposób, że na samym początku pliku index.php wczytuję te skrypty tak:

<?php
defined( '_JEXEC' ) or die( 'Restricted access' );
$js = "/templates/".$this->template."/scripts/nasze-skrypty.js";
$this->addScript(JURI::base() . $js);
$js2 = "/templates/".$this->template."/scripts/cycle.js";
$this->addScript(JURI::base() . $js2);
?>

NIe wiem czemu nie chciały się wczytać "normalnie", jak np. arkusz css... Dziwne...