0 Пользователей и 1 Гость просматривают эту тему.
  • 49 Ответов
  • 12069 Просмотров
*

GMan

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Добрый вечер))
Вопрос для разминки простой: как подключить jQuery 1.7.1 к Joomla 1.7.3? (версии указал, если в них дело)

Что делал:
1. Скачал версию jQuery и сохранил в папке с шаблоном:
templates/beez_20/jquery/jquery-1.7.1.js

2. Подключил в index.php шаблона сайта между тегами head:
<script language="JavaScript" type="text/javascript" src="<?php echo $this->baseurl ?>/templates/beez_20/jquery/jquery-1.7.1.js"></script>

3. В одной из статей делаю проверку. Создаю скрываемый список:
<ul id="myList">
<li>[Working with ACL]</li>
<li>[Working with nested categories]</li>
<li>[Using the forms library]</li>
<li>[Working with Mootools 1.2]</li>
<li>[Using the override system]</li>
<li>[Joomla! API]</li>
<li>[Using JDatabaseQuery]</li>
<li>[Triggers]</li>
<li>[Xmlrpc]</li>
<li>[Installing and updating extensions]</li>
<li>[Setting up your development environment]</li>
</ul>

<p id="listSwitch" style="text-decoration: underline; cursor">Скрыть/Показать список</p>

<script type="text/javascript">
$(document).ready(function(){
var myList = $('#myList');
$('#listSwitch').toggle(
function(){
myList.fadeOut(1000);
},
function(){
myList.fadeIn(1000);
});
});
</script>

Список не работает. Делаю вывод: что-то не так ..

Подскажите, в чем проблема?
*

GMan

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Re: Подключение jQuery 1.7.1 к Joomla 1.7.3
« Ответ #1 : 22.01.2012, 20:45:58 »
<script type="text/javascript">
$(document).ready(function(){
alert(1);
});
</script>
так работает?
какие то ошибки в консоли (это в Google хроме при просмотре кода элемента) есть?

Ошибок нет. И 1 не выходит ..
« Последнее редактирование: 22.01.2012, 22:57:00 от GMan »
*

GMan

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Re: Подключение jQuery 1.7.1 к Joomla 1.7.3
« Ответ #2 : 22.01.2012, 23:21:10 »
Вставил тот же js-код в head шаблона - все сработало.

<script type="text/javascript">
$(document).ready(function(){
var myList = $('#myList');
$('#listSwitch').toggle(
function(){
myList.fadeOut(1000);
},
function(){
myList.fadeIn(1000);
});
});
</script>

ВОЗНИКАЕТ ВОПРОС: теперь в Joomla весь код что ли в шаблон надо скидывать?  crazy!
*

GMan

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Re: Подключение jQuery 1.7.1 к Joomla 1.7.3
« Ответ #3 : 22.01.2012, 23:38:38 »
Цитировать
не выдумывайте!
у меня в каждом шаблоне:
Код: html4strict
	<script type="text/javascript" src="<?php echo $this->baseurl . '/templates/' . $this->template . '/scripts/jquery-1.7.min.js'; ?>"></script>
<script type="text/javascript" src="<?php echo $this->baseurl . '/templates/' . $this->template . '/scripts/site.js'; ?>"></script>
и все отлично работает!

Мне остается только биться об стену(( .. Это ещё пол беды ..
Подключил таким же "неестественным" способом fancybox. В отличие от jquery этот наполовину работает((
*

GMan

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Re: Подключение jQuery 1.7.1 к Joomla 1.7.3
« Ответ #4 : 22.01.2012, 23:42:12 »
Ребят, может я "где-то не там" скрипт в статье прописываю. И почему после сохранения в статье я не вижу сам скрипт?
*

GMan

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Re: Подключение jQuery 1.7.1 к Joomla 1.7.3
« Ответ #5 : 05.03.2012, 14:31:07 »
не выдумывайте!
у меня в каждом шаблоне:
Код: html4strict
	<script type="text/javascript" src="<?php echo $this->baseurl . '/templates/' . $this->template . '/scripts/jquery-1.7.min.js'; ?>"></script>
<script type="text/javascript" src="<?php echo $this->baseurl . '/templates/' . $this->template . '/scripts/site.js'; ?>"></script>
и все отлично работает!

Ты не мог бы прописать, где именно у тебя в шаблоне в head прописано?
*

Shustry

  • Гуру
  • 6436
  • 744 / 3
Re: Подключение jQuery 1.7.1 к Joomla 1.7.3
« Ответ #6 : 05.03.2012, 14:44:19 »
GMan, это можно прописать в любом месте шаблона. Даже в блоке  head необязательно. И везде будет работать.
*

GMan

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Re: Подключение jQuery 1.7.1 к Joomla 1.7.3
« Ответ #7 : 05.03.2012, 15:19:19 »
GMan, это можно прописать в любом месте шаблона. Даже в блоке  head необязательно. И везде будет работать.

Дело вот в чем: в версии 1.5 - jquery работает, в 1.7 - не работает, в 2.5.1 - опять не работает ..
Я как "порядочный" прописал сразу после head ..
Прописывал и так: <script language="JavaScript" type="text/javascript" src="<?php echo $this->baseurl ?>/templates/beez_20/javascript/jquery-1.7.1.js"></script> - не работает.
Прописывал и так: <script type="text/javascript" src="<?php echo $this->baseurl ?>/templates/<?php echo $this->template; ?>/javascript/jquery-1.7.1.js"></script> - тоже не работает.

ХЗ.
*

Shustry

  • Гуру
  • 6436
  • 744 / 3
Re: Подключение jQuery 1.7.1 к Joomla 1.7.3
« Ответ #8 : 05.03.2012, 15:34:28 »
В 2,5 мутулз надо ещё замысловато отключать.
*

Shustry

  • Гуру
  • 6436
  • 744 / 3
Re: Подключение jQuery 1.7.1 к Joomla 1.7.3
« Ответ #9 : 05.03.2012, 15:35:25 »
Код: php
unset(
$this->_scripts[$this->baseurl.'/media/system/js/mootools-core.js'],
$this->_scripts[$this->baseurl.'/media/system/js/mootools-more.js'],
$this->_scripts[$this->baseurl.'/media/system/js/core.js'],
$this->_scripts[$this->baseurl.'/media/system/js/caption.js'],
$this->_scripts[$this->baseurl.'/media/system/js/validate.js']
);
$this->_script = preg_replace('%window\.addEvent\(\'load\',\s*function\(\)\s*{\s*new\s*JCaption\(\'img.caption\'\);\s*}\);\s*%', '', $this->_script);
*

GMan

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Re: Подключение jQuery 1.7.1 к Joomla 1.7.3
« Ответ #10 : 05.03.2012, 16:36:36 »
Код: php
unset(
$this->_scripts[$this->baseurl.'/media/system/js/mootools-core.js'],
$this->_scripts[$this->baseurl.'/media/system/js/mootools-more.js'],
$this->_scripts[$this->baseurl.'/media/system/js/core.js'],
$this->_scripts[$this->baseurl.'/media/system/js/caption.js'],
$this->_scripts[$this->baseurl.'/media/system/js/validate.js']
);
$this->_script = preg_replace('%window\.addEvent\(\'load\',\s*function\(\)\s*{\s*new\s*JCaption\(\'img.caption\'\);\s*}\);\s*%', '', $this->_script);

Вечером опробую. Читал про это, но почему-то руки не доходили, т.к. в версии 1.5 все ведь работало. ППЦ!))
Спасибо за помощь.
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
Re: Подключение jQuery 1.7.1 к Joomla 1.7.3
« Ответ #11 : 05.03.2012, 17:21:07 »
Это неправильно так подключать jquery. Если на сайте есть другие расширения, использующие jquery, и не дающие возможности его отключить, появятся траблы.
С отключением мутулза пропадает валидация полей и еще кое чего.
Эх, когдаж руки дойдут то своего плагина который исправляет кучу проблем с jquery...
А пока что можно использовать плагин jblibrary.
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

GMan

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Re: Подключение jQuery 1.7.1 к Joomla 1.7.3
« Ответ #12 : 05.03.2012, 17:45:13 »
Это неправильно так подключать jquery. Если на сайте есть другие расширения, использующие jquery, и не дающие возможности его отключить, появятся траблы.
С отключением мутулза пропадает валидация полей и еще кое чего.
Эх, когдаж руки дойдут то своего плагина который исправляет кучу проблем с jquery...
А пока что можно использовать плагин jblibrary.

Я появлении багов при отключении мутулз я читал. Я об этом плагине слышу впервые.
Спасибо за информацию. Опробую прежде этот вариант.
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
Re: Подключение jQuery 1.7.1 к Joomla 1.7.3
« Ответ #13 : 05.03.2012, 17:51:25 »
Плагин добавляет jquery, может с Google cdn, и вырезает подключение других jquery.
я щас работаю над плагином, который делает тоже самое, но позволяет грузить с яндекса (для рунета это предпочтительный вариант) и еще одну клевую штуку, благодаря которой валидация и не только остается работать (на jquery), причем без насилия над $this->_scripts
планирую добавить туда fancybox в качестве замены джумловсокго squizeebox
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

GMan

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Re: Подключение jQuery 1.7.1 к Joomla 1.7.3
« Ответ #14 : 05.03.2012, 17:54:48 »
Плагин добавляет jquery, может с Google cdn, и вырезает подключение других jquery.
я щас работаю над плагином, который делает тоже самое, но позволяет грузить с яндекса (для рунета это предпочтительный вариант) и еще одну клевую штуку, благодаря которой валидация и не только остается работать (на jquery), причем без насилия над $this->_scripts
планирую добавить туда fancybox в качестве замены джумловсокго squizeebox

"Ништяк")) Я после того, как прикручу jquery, хотел подключать fancybox. Из-за этих "фишичек" все выложить сайт не могу. XD
*

Shustry

  • Гуру
  • 6436
  • 744 / 3
Re: Подключение jQuery 1.7.1 к Joomla 1.7.3
« Ответ #15 : 05.03.2012, 18:33:20 »
danik.html, валидатор я свой на джее написал. Везде в других местах тоже заменил на свои поделки. По-моему гораздо хужи две библиотеки грузить.
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
Re: Подключение jQuery 1.7.1 к Joomla 1.7.3
« Ответ #16 : 05.03.2012, 19:59:14 »
danik.html, валидатор я свой на джее написал. Везде в других местах тоже заменил на свои поделки. По-моему гораздо хужи две библиотеки грузить.
Это правильно. Я полностью согласен.
Я сделал примерно тоже самое, но оформил ввиде плагина и все автоматизировал. Тоесть устанавливаешь плагин, и у тя появляется jquery - раз, грузится с яндекса или Google или мелкомягких (ну, мало ли:) ) - два, не допускается повторная загрузка - три, автоматом заменяются вызовы behavior.formvalidation, behavior.keepalive, behavior.tooltips(в разработке) behavior.modal(в разработке) - четыре. на днях постараюсь допилить его и выложить, думаю он будет многим полезен, особенно тем кто хочет оптимизировать вес страниц
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

Shustry

  • Гуру
  • 6436
  • 744 / 3
Re: Подключение jQuery 1.7.1 к Joomla 1.7.3
« Ответ #17 : 05.03.2012, 20:05:17 »
Мне будет полезен. У меня валидатор пока проверяет поля только на "не пусто". Пример.
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
Re: Подключение jQuery 1.7.1 к Joomla 1.7.3
« Ответ #18 : 06.05.2012, 09:35:25 »
В общем вот мой вариант плагина jquery
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

Bright

  • Захожу иногда
  • 172
  • 2 / 2
Re: Подключение jQuery 1.7.1 к Joomla 1.7.3
« Ответ #19 : 09.06.2012, 21:43:53 »
у меня в каждом шаблоне:
Код: html4strict
	<script type="text/javascript" src="<?php echo $this->baseurl . '/templates/' . $this->template . '/scripts/jquery-1.7.min.js'; ?>"></script>
<script type="text/javascript" src="<?php echo $this->baseurl . '/templates/' . $this->template . '/scripts/site.js'; ?>"></script>
и все отлично работает!

На специализированном сайте о jquery (надо будет - найду и дам адрес) рекомендуется вставлять только это:
Код: html4strict
<script type="text/javascript" src="js/jquery-1.7.2.min.js"></script>
Я пока только это и сделал, дальше разбираюсь с плагинами, но пока не поздно хотел бы понять почему такая разница? У них ошибка?
Если можно, в двух словах (но понятно  ::)) - чем лучше длинная конструкция?

А вторая строчка тоже имеет отношение к подключению jquery? Тогда о ней тоже хотелось бы услышать чуть подробней.
« Последнее редактирование: 09.06.2012, 21:47:53 от Bright »
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
Re: Подключение jQuery 1.7.1 к Joomla 1.7.3
« Ответ #20 : 10.06.2012, 04:14:52 »
На специализированном сайте о jquery не знают в какой системе шаблонизации вы будете использовать библиотеку, и дают общий вариант подключения, то что должно попасть в итоге в html-страницу.

frisian же описал подключение из папки шаблона, причем с автоматическим формирование пути к файлу.
Ну, и разница в версии файла. Но тут уж поглядите на дату поста. Кстати, непонятно что за файл jquery-1.7.min.js. Может быть jquery-1.7.1.min.js ?
Второй же файл содержит код для конкретного шаблона/сайта - собственно тот код, в котором и используется библиотека.
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

Bright

  • Захожу иногда
  • 172
  • 2 / 2
Re: Подключение jQuery 1.7.1 к Joomla 1.7.3
« Ответ #21 : 10.06.2012, 11:03:07 »
непонятно что за файл jquery-1.7.min.js. Может быть jquery-1.7.1.min.js ?
Сами говорите "посмотри на дату поста" :)))) У меня jquery-1.7.2.min
Спасибо за ответ, но насчет второй строчки вопрос остался. Она просто рядом лежит или тоже обязательна для подключения jquery в Joomla?

Кстати, обязательно ли автоматическое формирование пути к файлу? Если он лежит себе спокойно в одном месте, не бегает по девочкам, то зачем его каждый раз искать при обновлении страницы? Может проще вбить путь жестко?
Или вообще его не прописывать? Насколько я понимаю, по умолчанию он лежит в корне сайта?
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
Re: Подключение jQuery 1.7.1 к Joomla 1.7.3
« Ответ #22 : 10.06.2012, 11:20:14 »
Вопрос по версии был адресован не вам конечно же, а frisian.
По site.js я же объяснил - это тот скрипт, ради которого мы подключаем jquery. Или вы хотите подключить библиотеку "просто так", потому что jquery - это модно?
По путям - если вас беспокоят микросекунды, уходящие на парсинг и интерпретацию echo $this->baseurl и $this->template, то можете задать эти значения жестко, без использования php.
И кстати, "по умолчанию" в Joomla jquery вообще нигде нет, ни в корне, ни еще где-то.

Вобще, для грамотного и удобного подключения jquery мной был создан плагин и набор плагинов для jquery (Ответ #20) - почему бы не использовать все это?
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

Bright

  • Захожу иногда
  • 172
  • 2 / 2
Re: Подключение jQuery 1.7.1 к Joomla 1.7.3
« Ответ #23 : 10.06.2012, 20:01:30 »
По site.js я же объяснил - это тот скрипт, ради которого мы подключаем jquery. Или вы хотите подключить библиотеку "просто так", потому что jquery - это модно?
Если бы ТАК объяснили, я сразу спросил бы - что это за файл? У себя такого не нахожу.

По путям - если вас беспокоят микросекунды, уходящие на парсинг и интерпретацию echo $this->baseurl и $this->template, то можете задать эти значения жестко, без использования php.
И кстати, "по умолчанию" в Joomla jquery вообще нигде нет, ни в корне, ни еще где-то.
Мне еще рано судить сколько суммарно теряется времени на лишних операциях и почему некоторые сайты еле ползают.
И, кстати, про умолчание я знал, потому и не спрашивал.

для грамотного и удобного подключения jquery мной был создан плагин и набор плагинов для jquery (Ответ #20) - почему бы не использовать все это?
Ваш плагин я НА РАДОСТЯХ кинулся смотреть при первом открытии этой ветки,но... Вы наверное думаете, что у всех с ним всё в порядке, раз новички не обращаются с вопросами (кроме одного, и то он видимо новичок "относительный")? Есть еще один вариант - когда НИЧЕГО не понятно. Чтобы разобраться в ветке вашего плагина, надо сначала получить хорошее образование. У меня волосы встали дыбом и я закрыл ту страничку... надолго.
Если честно, даже не очень понял для чего он нужен.
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
Re: Подключение jQuery 1.7.1 к Joomla 1.7.3
« Ответ #24 : 11.06.2012, 04:50:47 »
С плагином все просто:
1) Ставим плагин, включаем его.
2) Пишем в шаблоне JHtml::_('behavior.jquery'); - это php код.
Теперь можем свободно использовать jquery, только нужно помнить что функция-доллар ($) - принадлежит мутулзу. А объект jQuery доступен как jQuery. Чтоб пользоваться привычным долларом пишем:
Код: javascript
(function($){

// тут наш код. объект jquery доступен как $

})(jQuery);

Что означает этот код? Мы просто объявляем анонимную функцию, и тут же вызываем ее, передавая в качестве параметра объект jQuery. Параметр внутри функции объявлен как $, а так как мы в качестве параметра передаем jQuery, то наш доллар и есть jQuery (впределах этой анонимной функции. За пределами - это по-прежнему мутулзный доллар)
Чуть позже возможно все это напишу в своем топике. Хотя плагин в первую очередь создавался для себя, а за одно и чтобы поделиться с другими разработчиками.
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

Bright

  • Захожу иногда
  • 172
  • 2 / 2
Re: Подключение jQuery 1.7.1 к Joomla 1.7.3
« Ответ #25 : 11.06.2012, 13:48:57 »
Я так и понял, что он больше для разработчиков. И для себя кроме подключения ничего полезного в нем не нашел. Вы уж извините, это я не в обиду пишу, просто факт. Плагины, например, я себе подобрал совсем другие. А ради подключения не вижу смысла нагружаться плагинами, которые к тому же еще и не слишком понимаю.

Тут еще такой вопрос. Кругом натыкаюсь на мутулзы, а что это за зверь не знаю. В отличие от jquery, который я знаю для чего мне нужен, не хочется еще и на ненужного мутулза тратить время. Не могли бы вы двумя словами  описать что это за зверь. Или просто сказать "нафиг он тебе не нужен"?
Тем более, что постоянно натыкаюсь в обсуждениях на какие-то конфликты jquery с мутулзом. Оно мне надо?
И еще потом учитывать, когда буду "списывать" чужие уроки, что "привычный" (кому-то) доллар надо нестандартно писать.
« Последнее редактирование: 11.06.2012, 13:54:21 от Bright »
*

Shustry

  • Гуру
  • 6436
  • 744 / 3
Re: Подключение jQuery 1.7.1 к Joomla 1.7.3
« Ответ #26 : 11.06.2012, 17:49:56 »
нафиг он тебе не нужен
*

Bright

  • Захожу иногда
  • 172
  • 2 / 2
Re: Подключение jQuery 1.7.1 к Joomla 1.7.3
« Ответ #27 : 11.06.2012, 19:01:51 »
нафиг он тебе не нужен
Один вопрос решен! :) +1

Последний вопрос по этой теме:
Код
<script type="text/javascript" src="js/jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="<?php echo $this->baseurl . '/templates/' . $this->template . '/scripts/site.js'; ?>"></script>
Этого достаточно для подключения в Joomla 2.5 ?
С учетом того, что jquery-1.7.2.min.js лежит в корне, а с чем едят site.js вообще не знаю... Этих js пока вообще не касался.
« Последнее редактирование: 11.06.2012, 19:14:22 от Bright »
*

Shustry

  • Гуру
  • 6436
  • 744 / 3
Re: Подключение jQuery 1.7.1 к Joomla 1.7.3
« Ответ #28 : 11.06.2012, 19:34:50 »
Для подключения достаточно первой строки:
Код: html4strict
<script type="text/javascript" src="js/jquery-1.7.2.min.js"></script>
*

Bright

  • Захожу иногда
  • 172
  • 2 / 2
Re: Подключение jQuery 1.7.1 к Joomla 1.7.3
« Ответ #29 : 11.06.2012, 23:11:24 »
Для подключения достаточно первой строки:
Код: html4strict
<script type="text/javascript" src="js/jquery-1.7.2.min.js"></script>
Так я ведь с приведения именно этой строчки начал в этой ветке! ...   :o

На специализированном сайте о jquery рекомендуется вставлять только это:
Код: html4strict
<script type="text/javascript" src="js/jquery-1.7.2.min.js"></script>
А вторая строчка тоже имеет отношение к подключению jquery? Тогда о ней тоже хотелось бы услышать чуть подробней.

На специализированном сайте о jquery не знают в какой системе шаблонизации вы будете использовать библиотеку, и дают общий вариант подключения, то что должно попасть в итоге в html-страницу.
Второй же файл содержит код для конкретного шаблона/сайта - собственно тот код, в котором и используется библиотека.
И как мне теперь разорваться... между умными и красивыми?..  :'(
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как добавить описание к пункту меню в Joomla 2.5? (Как у материалов)?

Автор nia

Ответов: 7
Просмотров: 4513
Последний ответ 29.03.2021, 12:10:26
от sivers
Конструктор страниц (Page Builder) для Joomla 2.5

Автор nia

Ответов: 4
Просмотров: 640
Последний ответ 14.03.2021, 12:17:35
от nia
Допиливаем Умный поиск в Joomla 2.5 (русский парадигматический стеммер для Joomla)

Автор stt

Ответов: 25
Просмотров: 12899
Последний ответ 29.12.2020, 23:57:16
от slepoy
[FAQ] Как убрать <meta name="generator" content="Joomla! 2.5 - Open Source Content Management" />

Автор neket

Ответов: 56
Просмотров: 296917
Последний ответ 05.11.2020, 20:00:15
от Grigoriy82
Критические CSS стили в Joomla

Автор a-vikalingvo

Ответов: 17
Просмотров: 964
Последний ответ 14.10.2020, 16:22:46
от v42bis