Последовательный выбор 2.X

Как прикрутить последовательный выбор к форме

 
Посетитель
small user social cms
Сообщений: 19
Здравствуйте!
Объясните, пожалуйста, как прикрутить к форме последовательный выбор категорий. Вывести в нужном месте получилось, но вот как и куда передать значение последнего селекта я не знаю.
Последовательный выбор
Посетитель
small user social cms
МедальАвторитет форума
Сообщений: 1522
DCDozer:
но вот как и куда передать значение последнего селекта я не знаю.
А чего его передавать? Он сам передастся и выведется на странице,если всё правильно сделали.
Реклама
cms
Посетитель
small user social cms
Сообщений: 19
Lora:

DCDozer:
но вот как и куда передать значение последнего селекта я не знаю.
А чего его передавать? Он сам передастся и выведется на странице,если всё правильно сделали.
Скажите, что я делаю неправильно?
В файле /templates/мой_шаблон/assets/ui/form.tpl.php подключаю файл myselect.php
Код PHP:
  1. // Если выполняется следующее условие, то вместо кода, который содержится между тегами
  2. // <fieldset></fieldset> исполняем код из подключаемого файла myselect.php
  3. if ($board == true && $fieldset['title'] == 'Категория'){ include('myselect.php'); } else {
myselect.php
Редактировалось: 4 раз (Последний: 3 января 2017 в 14:55)
Посетитель
small user social cms
МедальАвторитет форума
Сообщений: 1522
Просто видно я не понял о чём речь. Сори. Судя по скрину вы создали поле "На длительный срок", как я понял типа-список. Это понятно. И что теперь нужно? Вывести его при определённых условиях или что? Файл myselect.php для чего?
Посетитель
small user social cms
Сообщений: 19
Lora:

Просто видно я не понял о чём речь. Сори. Судя по скрину вы создали поле "На длительный срок", как я понял типа-список. Это понятно. И что теперь нужно? Вывести его при определённых условиях или что? Файл myselect.php для чего?
Когда имеется большое количество категорий, то с выбором нужной могут возникнуть сложности, так как выбирать приходится из общего списка.
Поэтому я решил сделать последовательный выбор категорий. После загрузки страницы в форме имеем один селект со списком родительских категорий, после выбора нужной появляется второй селект с дочерними категориями и так до тех пор, пока не будет выбрана категория последнего уровня вложенности.
Проблема заключается в том, что прикрутить все это к форме я прикрутил, все выводится, все выбирается, но при нажатии на кнопку "Сохранить" появляется сообщение "Найдены ошибки в форме". Полагаю, что просто добавить селекты в шаблон недостаточно.
Посетитель
small user social cms
МедальАвторитет форума
Сообщений: 1522
А покажите ф-цию newList(). Вроде у вас с кодом что то не так, если эта ф-ция отправляет запрос.
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 2850
DCDozer, Evanescence знает что нужно сделать
Посетитель
no avatar
Сообщений: 53
Loadырь:
Здравствуйте!
Мне тоже нужен подобный выбор категорий при добавлении объявления на сайте. Вы не знаете продается ли он отдельно от компонента Evanescence ? Я к сожалению пока не могу написать там куда вы дали ссылку. Кармы не хватает.
Редактировалось: 1 раз (Последний: 1 февраля 2017 в 14:38)
Строю этот сайт www.prikolmix.ru и этот www.torg64.ru
Посетитель
small user social cms
Сообщений: 19
vladimird:
Мне тоже нужен подобный выбор категорий при добавлении объявления на сайте.
vladimird, если еще актуально, то вот небольшой хак. Последовательный выбор категорий реализовал уже давно, правда пришлось писать функцию-костыль, чтобы работало как надо. Но не смотря на это, при определенных условиях не помогал и этот костыль.
И вот совсем недавно нашел время, чтобы все довести до ума (с моей непрофессиональной точки зрения).
Итак, в файле /templates/ваш_шаблон/assets/ui/form.tpl.php в самом начале определяем местоположение. Если находимся на странице добавления того контента, в котором требуется последовательный выбор категорий, то далее подключаем этот последовательный выбор.
Код PHP:
  1.  
  2. // Определяем местоположение. Если находимся на странице добавления объявлений,
  3. // то в переменную $board будет записано какое-то положительное число,
  4. // если это страница добавления другого контента, запишется "0".
  5. $uri = cmsCore::getInstance()->uri_absolute;
  6. $board = (strpos($uri, 'board'));
  7.  
Далее в этом же файле ищем строку
Код PHP:
  1. <?php echo $field->getInput($value); ?>
и заменяем ее этим кодом
Код PHP:
  1.  
  2. <?php
  3. if ($board > 0 && $name == 'category_id') {include('dependent_lists.php'); }
  4. else echo $field->getInput($value);
  5. ?>
  6.  
Сам файл /templates/ваш_шаблон/assets/ui/dependent_lists.php здесь. В нем нужно найти строку
Код PHP:
  1. url: "/ads/categories", // Ссылка на action
где ads - контроллер, categories - экшен. Здесь вместо "ads" нужно вставить название какого-то своего контроллера, а в папке
/system/controllers/ваш_контроллер/actions создать файл categories.php со следующим содержимым
Action
В названии класса вместо "Ads" вставляете название своего контроллера.
В файл /templates/ваш_шаблон/assets/helper.php дописываем функцию array_categories_to_list
Функция
Редактировалось: 1 раз (Последний: 7 августа 2017 в 16:58)
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 2850
DCDozer, тут есть бескостыльное решение, правда дорого берут smile .
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1045
DCDozer, Loadырь знает что нужно сделать laugh

//UPD: не успел
Редактировалось: 1 раз (Последний: 7 августа 2017 в 17:04)
Дополнения для InstantCMS 2 | Готовый сайт Доска объявлений
Посетитель
small user social cms
Сообщений: 19
Loadырь:

DCDozer, тут есть бескостыльное решение, правда дорого берут smile .
Ну, мне уже не надо. Работает как надо. smile
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.