Добавить описание после полей и свойств.

InstantCMS 2.X
#1 6 сентября 2023 в 21:45

Добрый вечер. Столкнулась с такой задачей, что необходим вывод дополнительного описания после «свойств». Через поля реализовать не получается, т.к. они идут до (либо после, если поменять местами вывод в default_item.tpl).  А необходимо простое поле для вывода текста, как например с тегами. Подскажите как реализовать, буду очень благодарна. 

#2 7 сентября 2023 в 06:08

 Полина Емелина, вы можете вывести любое поле в файле тип_контента_item.tpl с помощью конструкции

  1. <?php echo $fields['profession']['handler']->setItem($profile)->parse( $profile['profession'] ); ?>

В примере кода системное имя поля profession

У вас оно будет свое.

#3 7 сентября 2023 в 22:03

Код не сработал, но логику поняла. Попробовала сделать следующим образом: <?php echo ($item['opisanie']); ?>
Описание вывелось. Но проблема в том, что оно дублируется и перед свойствами (т.к. идет общий перечень полей) и после.

пс: Для решения отключила показывать «В записи». Из общего списка поле пропало, а вот вывод через код остался. Zau4man спасибо Вам за наводку!

#4 8 сентября 2023 в 06:51

Правильнее выводить через $field. Например тут github.com/instantsoft/icms2/blob/master/templates/modern/content/default_item.tpl.php#L38 в вашем шаблоне прописать это

  1. <?php if ($field['name'] == 'opisanie'){ $field_opisanie = $field['html']; continue; } ?>

А там где хотите вывести это поле прописываете так

  1. <?php if (!empty($field_opisanie)){ ?>
  2. <div class="super-opisanie">
  3. <?php echo $field_opisanie; ?>
  4. </div>
  5. <?php } ?>
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.