0 Пользователей и 1 Гость просматривают эту тему.
  • 8 Ответов
  • 1737 Просмотров
*

Little Muk

  • Новичок
  • 8
  • 0 / 0
Приветствую всех.
Очередной ламерский вопрос. Поиск молчит, как партизан.
Подскажите, есть собственный шаблон, в настройках которого есть поля для быстрого редактирования информации (типа телефона, слогана и пр), все это прописано в templatedetails.xml .
Через файл шаблона index.php эти поля я вывожу нормально, а как вывести значения этих полей на странице материала? Т.е. я хочу написать текст статьи, а потом "позвоните сюда" и вставить переменную шаблона.
Я так понимаю, что видимость этих переменных ограничена самим индекс.пхп. Пытаюсь выводить через {source}{/source}
*

NewUsers

  • Живу я здесь
  • 2289
  • 207 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Я так понимаю, что видимость этих переменных ограничена самим индекс.пхп. Пытаюсь выводить через {source}{/source}

Вывести настройки шаблона можно где угодно используя
Код: php
<?php
$app = JFactory::getApplication();
$params = $app->getTemplate(true)->params;
?>

Но лучше использовать для этого контент плагин, с функцией onContentBeforeDisplay
« Последнее редактирование: 07.10.2017, 19:17:03 от NewUsers »
Занимаюсь создание расширений для Joomla 3.9.x или выше | Доработка и настройка сайтов. Работаю по факту (без всяких предоплат). Оплата только на ЮMoney (бывшие Яндекс.Деньги). Помогу с переездом на PHP 7.x и исправлю ошибки PHP.
Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

effrit

  • Легенда
  • 10130
  • 1116 / 13
  • effrit.com
зра.
можно телефоны из шаблона выводить в скрытый блок или как значение data-tel="911" цеплять хоть к body и вытаскивать через js в материале, чтобы сорсер не использовать.
хотя обычно для таких целей модули или плагины используют.
*

Little Muk

  • Новичок
  • 8
  • 0 / 0
Вывести настройки шаблона можно где угодно используя

Да, можно, но только в самом теле шаблона. В материал этот код переменную не вставляет.

Посоветуйте, пожалуйста, плагин для такой вставки.

PS Через js получается дико неудобно
*

NewUsers

  • Живу я здесь
  • 2289
  • 207 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Да, можно, но только в самом теле шаблона. В материал этот код переменную не вставляет.
Посоветуйте, пожалуйста, плагин для такой вставки.

Для примера можно вывести название сайта...
В материале напиши {sitename}, и после плагина это будет заменено на название сайта....
Занимаюсь создание расширений для Joomla 3.9.x или выше | Доработка и настройка сайтов. Работаю по факту (без всяких предоплат). Оплата только на ЮMoney (бывшие Яндекс.Деньги). Помогу с переездом на PHP 7.x и исправлю ошибки PHP.
Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

Little Muk

  • Новичок
  • 8
  • 0 / 0
 не получается, {sitename} выводит, а вот добиться вывода параметров шаблона не могу. поменял код в beforedisplay.php на :


function onContentBeforeDisplay($context, &$article, &$params, $limitstart)
   {

      $app = JFactory::getApplication();
      $params = $app->getTemplate(true)->params;
      
      $search = array('{newphone}');
      $replace = $this->params->get('newphone');
      
      $article->text = str_replace($search, $replace, $article->text);
      
   }

Нифига не меняет в материале {newphone}
*

NewUsers

  • Живу я здесь
  • 2289
  • 207 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
$replace = $this->params->get('newphone');

Код
$replace = array($this->params->get('newphone'));

$params = Настройки шаблона....
$this->params = Настройки плагина...

Где хранится newphone ?
Занимаюсь создание расширений для Joomla 3.9.x или выше | Доработка и настройка сайтов. Работаю по факту (без всяких предоплат). Оплата только на ЮMoney (бывшие Яндекс.Деньги). Помогу с переездом на PHP 7.x и исправлю ошибки PHP.
Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

Little Muk

  • Новичок
  • 8
  • 0 / 0
Где хранится newphone ?
Да, вы правы надо так
$replace = array($params->get('newphone'));

только вот str_replace почему то не заменяет {newphone} :o

А нет, все ок

Мерси, все получилось!  *DRINK*
« Последнее редактирование: 08.10.2017, 14:22:56 от Little Muk »
*

Black-kot

  • Осваиваюсь на форуме
  • 24
  • 1 / 0
Всем привет. немного не по теме, но вопрос по тем же переменным.
как вывести переменную заголовка стандартного материала (
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться