Получение объекта контента в шаблоне поля

InstantCMS 2.X
#1 21 марта 2024 в 00:07

Здравствуйте, уважаемые.

Подскажите, пожалуйста, как обратиться к объекту записи типа контента из шаблона одного из полей (/templates/modern/assets/ui)?

Использую поле "Список записей типа контента" от Zau4man создал отдельный шаблон для отображения, но что-бы завершить задуманное нужно получить значение из другого поля этой же записи.

#2 21 марта 2024 в 16:07

 boom, нужны подробности. Коробочные поля не хранят ничего в /templates/modern/assets/ui

Получается, у вас стороннее поле, надо смотреть, передает ли его автор содержимое $field->item в этот файл.

Но вам, скорее всего, поможет

  1. $item = cmsModel::getCachedResult('current_ctype_item');

Оно будет доступно только при просмотре записи. Если поле выводится в списке, нужно будет еще подумать.

#3 21 марта 2024 в 21:05

 Zau4man, Дак ваше поле))) «Список записей типа контента».

Вывести нужно в записи, но ваш вариант возвращает NULL

Добавлено спустя 1 минуту

Я вышел из ситуации, вытащив slug из $this->controller->request; Но думаю это какое то не правильное решение)

#4 22 марта 2024 в 08:28

 boom, в коде файла поля есть такой блок

  1. if($ui){
  2. return cmsTemplate::getInstance()->getRenderedAsset('ui/'.$ui,[
  3. 'ctype_name' => $ctype_name,
  4. 'items' => $_items
  5. ]);
  6. }

в нем мы передаем нужные данные в ui файл. Добавьте сюда что-то типа

  1. if($ui){
  2. return cmsTemplate::getInstance()->getRenderedAsset('ui/'.$ui,[
  3. 'ctype_name' => $ctype_name,
  4. 'items' => $_items,
  5. 'item' => $this->item
  6. ]);
  7. }

и получите в ui файле текущую запись в переменной $item

#5 28 марта 2024 в 01:06

 Zau4man, не хотел вмешиваться в файлы, вдруг обновление) 

Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.