По умолчанию вложенные списки в JBCascadeSelect не активны и выбрать их мы не можем. Так почему же нам сначала не скрыть их, а по мере выбора значения их показывать? Собственно это мы сейчас и сделаем.
-= 1. Правим JS плагин JBCascadeSelect =-
В JBZoo есть 2 файла JS библиотеки - это
сайт\media\zoo\applications\jbuniversal\assets\js\jquery.jbzootools.orig.js сайт\media\zoo\applications\jbuniversal\assets\js\jquery.jbzootools.min.js
На сайте подключается сжатая версия, она нам не подходит т.к там не разберешься, поэтому открываем файл jquery.jbzootools.orig.js и ищем плагин JBCascadeSelect, а именно, нам интересны эти строки...
_disable = function ($select) { $select.attr('disabled', 'disabled'); }, _enable = function ($select) { $select.removeAttr('disabled'); },
Заменяем их на
_disable = function ($select) { $select.attr('disabled', 'disabled'); if($select.attr('disabled') == 'disabled'){ $select.closest("div").slideUp(); } }, _enable = function ($select) { $select.removeAttr('disabled'); $select.closest("div").slideDown(); },
В принципе все готово, но что бы проверить работу нужно:
1. Сжать jquery.jbzootools.orig.js например на этом сайте а потом полученный код переместить с заменой в jquery.jbzootools.min.js.
2. Или же вместо сжатой версии подключить оригинальную. Для этого открываем файл
сайт\media\zoo\applications\jbuniversal\framework\helpers\jbassets.php
Ищем метод tools
public function tools() { ... }
И заменяем его на
/** * Include JBZoo Tools script */ public function tools() { $this->jQuery(); $this->_include(array('jbassets:js/jquery.jbzootools.orig.js'), 'js'); }
Вот и все теперь можно открывать сайт и проверять работу.
1. При загрузки страницы виден только 1 список
2. Сделали какой то выбор и мы видим плавное открытие следующего списка
и т.д пока у нас есть вложенности.
Так же происходит скрытие вложенных списков если мы отменяем выбор какого то из списков вложенности.
А еще если воспользоваться решением с AJAX - так вообще красота будет
ВНИМАНИЕ!!!
- Будьте внимательны при замене файлов.
- Проверьте с начало на тестовом сайте а уже потом загружайте на рабочий сайт.
- Это решение(модификация) тестировалось на
Joomla: 3.1.5
JBZoo: 2.1.2 Pro
Zoo: 3.0.13,
подойдут так же ранние версии начиная с v 2.0.X. - Не забывайте - это решение(модификация) и при следующих обновлениях эти изменения могут пострадать.
- При появлении проблем Тех.Поддержка ответственности не несет.
Сообщение отредактировал Cheren-dow: 06 March 2014 - 17:01