Jump to content


Photo
- - - - -

Улучшаем JBCascadeSelect

рецепт cascading select jbzoo 2.0

No replies to this topic

#1 Cheren-dow

Cheren-dow
  • JBZoo User (rus)
  • User rate: 95.7
  • posts: 5060
  • topics: 31

Posted 06 March 2014 - 16:53

По умолчанию вложенные списки в 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 список

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.
  • Не забывайте - это решение(модификация) и при следующих обновлениях эти изменения могут пострадать.
  • При появлении проблем Тех.Поддержка ответственности не несет. 

Edited by Cheren-dow, 06 March 2014 - 17:01.

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





Click to return to top of page in style!