Как в html виджет вывести переменную из настроек Шаблона?

InstantCMS 2.X
#1 31 июля 2022 в 13:38

Удобно, когда в настройках шаблона в админке можно прописать многие константы, например адрес компнаии, контакты, время работы и т.д, чтобы потом везде менялось, где идет упоминание этой информации. Их как-то можно вывести в html виджет?

#2 31 июля 2022 в 13:55

Удобно, когда в настройках шаблона в админке можно прописать многие константы,

Def

Это где такое ?

#3 31 июля 2022 в 13:59

Удобно, когда в настройках шаблона в админке можно прописать многие константы,

Def

Это где такое ?

Lora

Изображение

#4 31 июля 2022 в 14:06

Ааа, это). Тогда так. В файле widget.php получаете эти все опции и передаёте в шаблон)

  1. $template = new cmsTemplate;
  2.  
  3. $opt = $template->getOptions();
  4.  
  5. return ['opt' => $opt];

Ну а потом в файле шаблона уже делаете с ними, что вам надо. Посмотреть на них можно например так

  1. echo '<pre>';print_r($opt);echo '</pre>';
#5 31 июля 2022 в 15:27

Ааа, это). Тогда так. В файле widget.php получаете эти все опции и передаёте в шаблон)

  1. $template = new cmsTemplate;
  2.  
  3. $opt = $template->getOptions();
  4.  
  5. return ['opt' => $opt];

Ну а потом в файле шаблона уже делаете с ними, что вам надо. Посмотреть на них можно например так

  1. echo '<pre>';print_r($opt);echo '</pre>';
Lora

как такое провернуть через админку html виджета?) Вроде он не поддерживает php

#6 31 июля 2022 в 16:10

 Def, вам предложили создать свой виджет. Видео — в документации.

#7 31 июля 2022 в 16:29

Ааа, это). Тогда так. В файле widget.php получаете эти все опции и передаёте в шаблон)

Lora

Зачем?

В любом файле шаблона опции шаблона доступны через $this->options

  1. <?php echo $this->options['owner_year']; ?>
  2. <?php echo $this->options['whatsup']; ?>
#8 31 июля 2022 в 17:06

 Def, вам предложили создать свой виджет.

IamB

так управлять данными этого виджета через админку как? через FTP это не очень удобно, чтобы менять данные или корректировать их.

#9 31 июля 2022 в 17:16

так управлять данными этого виджета через админку как?

Def

Так, как вы и хотели. А выводить на страницу сайта своим виджетом.

#10 31 июля 2022 в 17:31

так управлять данными этого виджета через админку как? через FTP это не очень удобно, чтобы менять данные или корректировать их.

Def

Доработать сначала указанные вами виджеты, а потом управлять. Форма настроек шаблона у вас тоже доработанная кстати.

Например файл /templates/modern/widgets/html/html.tpl.php заменить на

  1. <div class="icms-widget__html_block">
  2. <?php echo string_replace_keys_values_extended(string_replace_svg_icons($widget->options['content']), $this->getOptions()); ?>
  3. </div>

И можно вставлять значения опций конструкциями вида {whatsup} и т.п. — по названию ключа опции.

#11 31 июля 2022 в 21:13

И можно вставлять значения опций конструкциями вида {whatsup} и т.п. — по названию ключа опции.

Fuze

Очень классное решение! Спасибо большое! А в коробке такое сразу в связи с чем не сделано?)

И можно вставлять значения опций конструкциями вида {whatsup} и т.п. — по названию ключа опции.

Fuze

А в самих записях типа контента шорткодами возможно в редактор? 

#12 31 июля 2022 в 21:46

А в коробке такое сразу в связи с чем не сделано?)

Def

За ненадобностью очевидно и за отсутствием опций шаблона, которые можно так использовать.

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