Перейти к содержимому


Фотография
- - - - -

Улучшаем JBCascadeSelect

рецепт cascading select jbzoo 2.0

В этой теме нет ответов

#1 Cheren-dow

Cheren-dow

Отправлено 06 March 2014 - 16:53

По умолчанию вложенные списки в JBCascadeSelect не активны и выбрать их мы не можем. Так почему же нам сначала не скрыть их, а по мере выбора значения их показывать? Собственно это мы сейчас и сделаем.

 

-= 1. Правим JS плагин JBCascadeSelect =-

В JBZoo есть 2 файла JS библиотеки - это 

  1. сайт\media\zoo\applications\jbuniversal\assets\js\jquery.jbzootools.orig.js
  2. сайт\media\zoo\applications\jbuniversal\assets\js\jquery.jbzootools.min.js

На сайте подключается сжатая версия, она нам не подходит т.к там не разберешься, поэтому открываем файл jquery.jbzootools.orig.js и ищем плагин JBCascadeSelect, а именно, нам интересны эти строки...

  1. _disable = function ($select) {
  2. $select.attr('disabled', 'disabled');
  3. },
  4. _enable = function ($select) {
  5. $select.removeAttr('disabled');
  6. },
  7.  

Заменяем их на

  1. _disable = function ($select) {
  2. $select.attr('disabled', 'disabled');
  3. if($select.attr('disabled') == 'disabled'){
  4. $select.closest("div").slideUp();
  5. }
  6. },
  7. _enable = function ($select) {
  8. $select.removeAttr('disabled');
  9. $select.closest("div").slideDown();
  10. },
  11.  

В принципе все готово, но что бы проверить работу нужно:

 

1. Сжать jquery.jbzootools.orig.js например на этом сайте а потом полученный код переместить с заменой в jquery.jbzootools.min.js.

 

2. Или же вместо сжатой версии подключить оригинальную. Для этого открываем файл

  1. сайт\media\zoo\applications\jbuniversal\framework\helpers\jbassets.php

Ищем метод tools

  1. public function tools() {
  2. ...
  3. }

И заменяем его на

  1. /**
  2. * Include JBZoo Tools script
  3. */
  4. public function tools()
  5. {
  6. $this->jQuery();
  7. $this->_include(array('jbassets:js/jquery.jbzootools.orig.js'), 'js');
  8. }
  9.  

Вот и все теперь можно открывать сайт и проверять работу.

 

1. При загрузки страницы виден только 1 список

6cac31_200x0.png

2. Сделали какой то выбор и мы видим плавное открытие следующего списка

afc3f2_200x0.png

и т.д пока у нас есть вложенности. 

 

Так же происходит скрытие вложенных списков если мы отменяем выбор какого то из списков вложенности.

 

А еще если воспользоваться решением с AJAX - так вообще красота будет  O0

 

ВНИМАНИЕ!!!

  • Будьте внимательны при замене файлов.
  • Проверьте с начало на тестовом сайте а уже потом загружайте на рабочий сайт.
  • Это решение(модификация) тестировалось на 
    Joomla: 3.1.5
    JBZoo: 2.1.2 Pro
    Zoo: 3.0.13,

    подойдут так же ранние версии начиная с v 2.0.X.
  • Не забывайте - это решение(модификация) и при следующих обновлениях эти изменения могут пострадать.
  • При появлении проблем Тех.Поддержка ответственности не несет. 

Сообщение отредактировал Cheren-dow: 06 March 2014 - 17:01

  • 4
Изображение
 





Темы с аналогичным тегами рецепт, cascading select, jbzoo 2.0

Click to return to top of page in style!