Вопросы по созданию поля ввода (fields) 2.X

 
Посетитель
small user social cms
Сообщений: 44
Приветствую!
Только начинаю осваивать InstantCMS, с информацией очень туго (точнее в вики почти не опубликовано ничего), особенно для довольно специфических задач типа поля ввода. Потому разбираюсь в основном на примерах чужого кода, но там тоже далеко не всё необходимое есть.

И потому 1й вопрос к Гуру, надеюсь, хоть кто-то подскажет.

Сейчас создаю внутреннюю часть поля, т.е. то, что видит админ при добавлении поля.
Он должен выбрать тип контента и данные по полям в этом типе. Ну и ещё немного прочего)

Всё работает, НО! Поскольку данные по полям и категориям подгружаются аяксом, при повторном редактировании (в общем, после сохранения) аякс-данные не заполнены. Что логично. Как их заполнить, уже почти понял и нашёл. Но не нашёл, как узнать данные, к примеру, типа контента. Сохранённые ранее.
Что бы сделать первичный вывод аяксовых данных. В "...extends cmsFormField". В "...extends cmsForm" нашёл, но в полях такое не работает.

Прошу прощения за возможную сумбурность, и очень надеюсь на помощь...
Посетитель
small user social cms
Медаль
Сообщений: 653
@AHgpeu:
Прошу прощения за возможную сумбурность, и очень надеюсь на помощь...
Если в спойлере приложить код шаблона вывода поля, то понять сумбурность будет проще)
/assets/fields/поле.tpl.php - вот этот.
Редактировалось: 1 раз (Последний: 20 августа 2017 в 17:17)
Реклама
cms
Посетитель
small user social cms
Сообщений: 44
@SmartControl:

Если в спойлере приложить код шаблона вывода поля, то понять сумбурность будет проще)
/assets/fields/поле.tpl.php - вот этот.
нет пока такого)) до шаблонов ещё не добрался. застрял с админской частью.
@AHgpeu:
Сейчас создаю внутреннюю часть поля, т.е. то, что видит админ при добавлении поля.
см. вложение
Прикрепленные файлы:
Clipboard01_e7scf.png | 35.25 Кб | Скачали: 164
Редактировалось: 1 раз (Последний: 20 августа 2017 в 17:33)
Посетитель
small user social cms
МедальПочетный донор проектаАвторитет форумаКубок зрительских симпатийПочетный донор проекта
Сообщений: 2551
@AHgpeu, сделайте в методе store() поля вардамп $_REQUEST.
Увидите, что все введенные данные есть там. Т.е. можно проверять, если данные пришли, значит это не первое заполнение формы. А значит надо данные получить, вывести их в поле.

НО! Надо обязательно все фильтровать, доверять данным, пришедшим в $_REQUEST, нельзя.
Виджеты, поля и компоненты для instantcms 2 http://www.zau4man.ru/
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 3546
Zau4man, он видимо "застрял" на опциях.
@AHgpeu, на примере этого поля вам нужно между строками 12 и 13 получить список всех полей и категорий зная какой тип контента у вас выбран, и эти данные передать в поля опций параметром "items". Как-то так.
Посетитель
small user social cms
Сообщений: 44
Loadырь, Вы абсолютно правы, застрял именно там. Только проблема в другом...
Loadырь:
зная какой тип контента у вас выбран
Мне вот как раз и нужно ЭТО узнать =-(

Zau4man, Мне не нужны данные, поступающие с формы. Это нужно отдавать на откуп движка, имхо. Безопаснее, как Вы и указали.

Код с комментами проблемы
А вот теперь вопрос: как мне узнать $options['ctype_id'] из данного примера?
Который был РАНЕЕ ЗАПИСАН В БД...

Не нашёл...

в В "...extends cmsForm" пример работает. в "...extends cmsFormField" нет. Переменная $options пустая.
Редактировалось: 10 раз (Последний: 21 августа 2017 в 19:17)
Посетитель
small user social cms
Сообщений: 44
"Лююююдииии! Ну кто так строит (с)"
=-)
Подскажите (просмотрев предыдущий пост), как узнать, какой тип контента был выбран ранее и хранится в бд? В опциях поля ввода.
Воротить костыли в виде дополнительных запросов в базу сильно не хочется, ведь стопроцентно нужные данные уже вытащены и ждут своего часа...

Неужели никто не знает?..
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 3546
@AHgpeu, увы, данные из формы передаются в форму (cmsForm), а в классе поля формы (cmsFormField) доступны пустые объекты самих полей.
Посетитель
small user social cms
Сообщений: 44
Вообще забрался в тупик... $this->id и тот пустой, как и name. Как узнать хоть что-то о себе в классе поля формы (cmsFormField)?

Содержимое $this удручает:
Спойлер
При том, что запись поля в БД есть..

Простите, если вопросы совсем нубские...
Редактировалось: 4 раз (Последний: 23 августа 2017 в 17:29)
Посетитель
small user social cms
Сообщений: 44
Loadырь:
увы, данные из формы передаются в форму (cmsForm), а в классе поля формы (cmsFormField) доступны пустые объекты самих полей
и до данных из формы я не добрался. пока нужно сделать "опции" поля.
Код PHP:
  1.  
  2. class fieldCer extends cmsFormField {
  3. public function getOptions(){
  4.  
вот тут надо узнать хоть что-то о поле, во время редактирования в админке (НЕ при выводе самого поля. а при его настройке)
Редактировалось: 1 раз (Последний: 23 августа 2017 в 17:52)
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 3546
@AHgpeu:
вот тут надо узнать хоть что-то о поле
Вот про это место я и говорю, что до него ранее сохранённые данные ещё не переданы. Они передаются позже.
https://github.com/instantsoft/icms2/blob/master/system/controllers/admin/actions/ctypes_fields_options.php#L18
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.