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


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

Выбор категории только 2-ого уровня


Лучший Ответ SmetDenis , 21 December 2013 - 13:06

Есть три способа решения.

Первый - через доработку JavaScript, довольно сложное занятие. Не решусь советовать.

 

Второй - потребуются знания PHP.

 

После сохранения будет вызвано событие item::saved

\media\zoo\applications\jbuniversal\framework\events\jbevent.item.php

 

Там нужно сделать валидации, изменить материал если нужно и сохранить снова.

 

Третий - убрать из списка родительские категории. способ полон подводных камней, т.к нужно изменять функции, которые используются во всем компоненте Zoo и JBZoo

 

\administrator\components\com_zoo\classes\application.php функция getCategoryTree()

Перейти к сообщению


  • Закрытая тема Тема закрыта
Сообщений в теме: 4

#1 wmaster

wmaster

Отправлено 20 December 2013 - 16:52

Добрый день.

 

                         Как сделать чтобы при подаче материала нельзя было выбрать категорию 1-го уровня, а только 2-ого? Для этого необходим hack? Не хотелось бы его делать, т.к. они часто слетают при update'ах и patch'ах....


  • 0

#2 Cheren-dow

Cheren-dow

Отправлено 20 December 2013 - 22:01

Без хака мне кажется тут точно не обойтись. Написал разработчикам, подождем их ответа.


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

#3 SmetDenis

SmetDenis

Отправлено 21 December 2013 - 13:06   Лучший Ответ

Есть три способа решения.

Первый - через доработку JavaScript, довольно сложное занятие. Не решусь советовать.

 

Второй - потребуются знания PHP.

 

После сохранения будет вызвано событие item::saved

\media\zoo\applications\jbuniversal\framework\events\jbevent.item.php

 

Там нужно сделать валидации, изменить материал если нужно и сохранить снова.

 

Третий - убрать из списка родительские категории. способ полон подводных камней, т.к нужно изменять функции, которые используются во всем компоненте Zoo и JBZoo

 

\administrator\components\com_zoo\classes\application.php функция getCategoryTree()


  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#4 EnergY

EnergY

Отправлено 23 December 2013 - 15:24

делал так. прописал в шаблоне джумла.
<script type="text/javascript">
window.onload = function () {
    var op = document.getElementById("elements_itemcategoryvalue").getElementsByTagName("option");
    for (var i = 0; i < op.length; i++) {
        // lowercase comparison for case-insensitivity
        if (op[i].value.toLowerCase() == "xxx") {
            op[i].disabled = true;
        }
    }
}
</script>
где xxx - id категории. её будет невозможно выбрать. скрипт вызываем на необходимой странице
  • 0

#5 wmaster

wmaster

Отправлено 25 December 2013 - 15:14

Я сделал так:
 
$("#elements_itemcategoryvalue option").each(function(){
    if($(this).text().indexOf(".") === -1) {
        $(this).attr('disabled','disabled');
    }
});

  • 0




Click to return to top of page in style!