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


Фотография
* * * * * 1 Голосов

Некорректно работает JBZoo Cascading Select при подаче материала


Лучший Ответ SmetDenis , 24 August 2013 - 03:06

Значит это общая ошибка в работе элемента.
 
SmetDenis, написала в личку.

Да, нашел ошибку. Проверьте сейчас.

 

Поддержу вопрос. Тоже в каскадном селекте идет Область - район - населенный пункт - район города - микрорайон города. Естественно, районы и микрорайоны города есть не во всех населенных пунктах. Пришлось сделать пункт подачи необязательным, иначе не пропускался материал.

В качестве временного решения измените в этом файле функцию _validateSubmission()
\media\zoo\applications\jbuniversal\elements\jbselectcascade\jbselectcascade.php

На этот код
public function _validateSubmission($value, $params)
{
    $this->_getValuesList();

    $result = array();
    for ($i = 0; $i <= $this->_maxLevel; $i++) {
        $result['list-' . $i] = $value->get('list-' . $i);
    }

    $testResult = array_filter($result);
    if (empty($testResult) && (int)$params->get('required')) {
        throw new AppValidatorException('This field is required', AppValidator::ERROR_CODE_REQUIRED);
    }

    return $result;
}
Если все заработало как нужно, то обязательно включу эти исправления в следующую версию. Перейти к сообщению


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

#1 Ele

Ele

Отправлено 21 August 2013 - 18:08

Использую при подаче элемент JBZoo Cascading Select, где первый уровень - это город, второй уровень - это районы города. Но не у всех городов есть районы, т.е. список выглядит примерно так:

 

 
Жигулевск
Самара
-Куйбышевский
-Ленинский
-Октябрьский
Сызрань
Тольятти
-Автозаводский
-Комсомольский
-Центральный
и т.д.

 

Соответственно, при подаче есть два выпадающих списка (город и район).

Если добавляю и город, и район (т.е. выбрано значение в обоих списках) - то все ок.

Если выбираю только город, в котором нет района, то подача не происходит, выдает ошибку в поле Город: "Это поле является обязательным" (как будто ничего не выбрано).

 

 


  • 0

#2 SmetDenis

SmetDenis

Отправлено 21 August 2013 - 23:02

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



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


#3 Ele

Ele

Отправлено 22 August 2013 - 08:45

Версии 2.5.11, 3.0.13, 2.0.1.

 

Посмотреть можно здесь: http://komne.ru/add-petshop


  • 0

#4 Ele

Ele

Отправлено 22 August 2013 - 13:23

Вот на всякий случай еще скриншот

 

Снимок экрана 2013-08-21 в 21.07.07.png

 

 


  • 0

#5 SmetDenis

SmetDenis

Отправлено 23 August 2013 - 00:03

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



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


#6 Анастасия

Анастасия

Отправлено 23 August 2013 - 08:49

Поддержу вопрос. Тоже в каскадном селекте идет Область - район - населенный пункт - район города - микрорайон города. Естественно, районы и микрорайоны города есть не во всех населенных пунктах. Пришлось сделать пункт подачи необязательным, иначе не пропускался материал.


Сообщение отредактировал Анастасия: 23 August 2013 - 08:50

  • 0

#7 Ele

Ele

Отправлено 23 August 2013 - 10:15

Значит это общая ошибка в работе элемента.

 

SmetDenis, написала в личку.
  • 0

#8 SmetDenis

SmetDenis

Отправлено 24 August 2013 - 03:06   Лучший Ответ

Значит это общая ошибка в работе элемента.
 
SmetDenis, написала в личку.

Да, нашел ошибку. Проверьте сейчас.

 

Поддержу вопрос. Тоже в каскадном селекте идет Область - район - населенный пункт - район города - микрорайон города. Естественно, районы и микрорайоны города есть не во всех населенных пунктах. Пришлось сделать пункт подачи необязательным, иначе не пропускался материал.

В качестве временного решения измените в этом файле функцию _validateSubmission()
\media\zoo\applications\jbuniversal\elements\jbselectcascade\jbselectcascade.php

На этот код
public function _validateSubmission($value, $params)
{
    $this->_getValuesList();

    $result = array();
    for ($i = 0; $i <= $this->_maxLevel; $i++) {
        $result['list-' . $i] = $value->get('list-' . $i);
    }

    $testResult = array_filter($result);
    if (empty($testResult) && (int)$params->get('required')) {
        throw new AppValidatorException('This field is required', AppValidator::ERROR_CODE_REQUIRED);
    }

    return $result;
}
Если все заработало как нужно, то обязательно включу эти исправления в следующую версию.
  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



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


#9 Ele

Ele

Отправлено 24 August 2013 - 09:24

SmetDenis, у меня что-то непонятное стало твориться.  :-[  Зашла в подачу зоомагазины (ссылка в теме выше), проверила без указания района - все ок отправилось. 

Перешла в подачу другого каталога, попробовала сделать то же самое - не получилось. Причем никакой ошибки не выводит, просто не отправляет. Попробовала сделать еще раз - не получается. Попробовала заполнить ВСЕ поля, и город, и район - не отправляет, ошибок не выдает. Т.е. подача вообще не работает. Пересохранила в админке Submission для элемента - подача все равно не работает. 

В общем у меня на сайте не работает ни одна подача теперь, где есть JBZoo Cascading Select. Где его нет - работает.


  • 0

#10 SmetDenis

SmetDenis

Отправлено 25 August 2013 - 08:45

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



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





Click to return to top of page in style!