Получить значения поля в форме

InstantCMS 2.X
#1 30 апреля 2021 в 11:31
Привет. Файл с формой во фронтеде.
  1. new fieldList('parent', array(
  2. 'title' => LANG_CATEGORIES,
  3. 'generator' => function($item){
  4.  
  5. //===== Тут получаю категории ==========//
  6. ................
  7.  
  8. return $items;
  9.  
  10. }
  11. )),
  12. new fieldList('child', array(
  13. 'title' => LANG_CHILD_CATS,
  14. 'parent' => array(
  15. 'list' => 'parent',
  16. 'url' => ''
  17. ),
  18. 'handler' => function($item) {
  19.  
  20. //==== Тут хочу получить id выбранной категории ====//
  21.  
  22. }
  23. )),
В запросе передаются имя поля(parent) и id категории. Но как их получить в другом поле. Пытался
  1. cmsCore::getInstance()->request->get('parent')
Не выходит.
#2 30 апреля 2021 в 13:16
в вашем коде никак
выносите получение категории из кода повыше, до начала постройки форм. В функцию передавайте через use
#3 30 апреля 2021 в 13:51


в вашем коде никак
выносите получение категории из кода повыше, до начала постройки форм. В функцию передавайте через use

Zau4man
Понял. Спасибо.
#4 30 апреля 2021 в 14:11
Lora, вам надо в url этого блока
  1. 'parent' => array(
  2. 'list' => 'parent',
  3. 'url' => ''
  4. ),
прописать ссылку на экшен (наподобие этого), а в самом экшене уже получать подкатегории уже выбранной в parent.
#5 30 апреля 2021 в 14:43

прописать ссылку на экшен (наподобие этого), а в самом экшене уже получать подкатегории уже выбранной в parent.

Я пробовал так. В 'url' даже не обязательно адрес писать он и так передаёт в экшен, который парсит форму. А как получать в экшене и потом передать обратно в поле. Если с получением более менее понятно.Хотя $this-> $request->get('vlue') пустой, то с передачей в поле вообще не понятно.
#6 30 апреля 2021 в 14:53
В экшене вроде пой мал id. И пытаюсь вернуть
  1. $request = $this->request->get('value',0);
  2. return $this->cms_template->renderJSON($request);
  3. }
Но в поле не могу пока поймать).
#7 30 апреля 2021 в 15:42
Похожее есть тут Но там не понятно откуда берётся $request Видимо с виджестских настроек откуда то.
#8 1 мая 2021 в 15:57
Недавно ломал голову, как получить список всех созданных форм в виджете. В итоге помогло следующее:

  1. 'generator' => function() {
  2. $model = new cmsModel();
  3. return array_collection_to_list($model->get('forms'), 'id', 'title');
  4. }
Возможно это не то, что вам нужно, но логика примерно одинакова
#9 1 мая 2021 в 22:26
Make, многое то, что работает в виджете, в компоненте не работает
#10 1 мая 2021 в 23:02
Lora, а, у вас в компоненте форма?
#11 3 мая 2021 в 19:08
Да
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.