Переменные в шаблонах InstantCMS 2

InstantCMS 2.X

Условия переменных в шаблонах InstantCMS 2

#1 11 февраля 2023 в 11:57

Работая с другой CMS меня часто выручает инструкция по переменным в шаблоне на их сайте. Что-то похожего на InstantCMS 2 не нашел.

Давайте сообществом доберём тут такую же шпаргалку по Переменным в шаблонах InstantCMS 2, что очень поможет создателям шаблона.

Мне сейчас интересует:

  • как в списке контента вывести связанный с ним контент(заголовок и превьюшку)
  • как вывести поле список(список множественный выбор)

Да много чего еще интересно, делитесь своими условиями для переменных. Это ОЧЕНЬ СОЛЬНО ПОМОГАЕТ новичкам(и не только)!!!

#2 11 февраля 2023 в 12:00

Шаблоны в instantcms на чистом php.

#3 11 февраля 2023 в 12:22

Это понятно. Вот у меня слабые познания PHP и такая шпаргалка бы очень помогла бы. Вот такой <?php html(***); ?> 

  1. <?php html($item['title']); ?>

я раньше нигде не встречал.  

#4 11 февраля 2023 в 12:50
#5 11 февраля 2023 в 20:49

Вот

IamB

Очень интересно, но ничего не понятно.

Вот например так понятно:

Вывод значения поля в шаблоне

  1. <?php html($item['ИМЯ_ПОЛЯ']); ?>
#6 11 февраля 2023 в 21:14

Гарри, без базовых знаний PHP (синтаксиса и набора базовых функций и операторов хотя бы) в шаблоне делать нечего.

Вывод значения поля в шаблоне

Гарри

Это выведет «чистое, необработанное значение» поля. В случае с полями списка или иных не текстовых полей вы получите вывод не тот, который ожидаете.

Начните с изучения PHP базово. Любой курс на YouTube эту проблему решит за пару часов.

В остальном открываете шаблон, например для записи типа контента, и смотрите что там за переменные. Переменные, это те, которые начинаются со знака доллар.

Вывод значения любого включенного поля в этом конкретном шаблоне записи типа контента:

  1. <?php echo $fields['title']['html']; ?>

Где title — это имя поля.

#7 14 февраля 2023 в 12:24

А как вывести поле описание (сокращённое) — с именем 'content' в списке контента?

Пробовал по-разному у меня получается только с отображением html тегов. 

  1. <p>Текст <span style="text-decoration: line-through;">главный </span> текст.</p> <p> и так далее.</p>

Как сделать, что бы html теги не отображались?

#8 14 февраля 2023 в 14:22

Как сделать, что бы html теги не отображались?

Гарри

Чтобы вывести содержимое поля статично:

  1. <?php echo $item['field_name']; ?>

Чтобы поле вывелось со всеми свойствами и методами:

  1. <?php echo $fields['имя_поля']['html']; ?>

Но — если выводите в списке, не забудьте отметить его показ в списке.

#10 14 февраля 2023 в 14:46

Что-то у меня ничего не получается. Пробовал так:

  1. <?php echo $fields['content']['html']; ?>

Вообще ничего не выводит.

  1. <?php html($item['content']); ?>

Выводит текст  с отображаемыми html тегами, например <b>текст</b> и к полю не применяется «Обрезать текст при просмотре списка».

  1. <?php echo $item['content']; ?>

Выводит текст  с применением html тегами, например текст и к полю не применяется «Обрезать текст при просмотре списка».

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

Переменную надо в strip_tags() завернуть www.php.net/manual/ru/function.strip-tags

Loadырь

Спасибо!  Сделал так:

  1. <?php echo strip_tags($item['content']); ?>

Html теперь не отображается. Но как сделать, что бы срабатывало «Обрезать текст при просмотре списка» ?

#11 14 февраля 2023 в 15:09

 Loadырь, я так понимаю что товарищу  Гарри нужно выводить поле с его настройками. В списке типа контента. Странно, что не срабатывает классический вывод, вероятно товарищ  Гарри забыл отметить поле для показа в списке

#12 14 февраля 2023 в 15:18

Странно, что не срабатывает классический вывод, вероятно товарищ  Гарри забыл отметить поле для показа в списке

Make

Разницы нет, что включена галочка «показывать поле в списке» или нет. Результата получился одинаковый. 

#14 14 февраля 2023 в 20:44

Тогда так: html_clean($item['content'], 100500)

Loadырь

Спасибо, но это немного не то. Через этот код текст обрезается строго по кол-ву знаков(и чаще прям посередине слов). А как подтянуть настройки «Тип обрезки» options[teaser_type] из поля? Или может как-то по другому можно сделать «Обрезку по последнему предложению».

По ссылке которую дали ничего похожего не нашел.     

#15 14 февраля 2023 в 22:39

А как вывести поле описание (сокращённое) — с именем 'content' в списке контента?

Гарри
  1. <?php echo $item['fields']['content']['html']; ?>

Это внутри перебора записей. Открывайте типовой файл /templates/modern/content/default_list.tpl.php и смотрите как там.

Поле должно быть включено в списке.

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