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

virfolk

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
Нужно сделать так, чтобы можно было вставлять код php в любое место заголовка страницы в браузере (метатег title).
Пример: Шины оптом <?php echo $GLOBALS['in-city']; ?> недорого

Сейчас Joomla вырезает php код. Плагин Sourcerer здесь тоже не работает.

Если в файле administrator/components/com_menus/models/forms/item_component.xml добавить filter="raw"

         <field
            name="page_title"
            type="text"
            label="COM_MENUS_ITEM_FIELD_PAGE_TITLE_LABEL"
            description="COM_MENUS_ITEM_FIELD_PAGE_TITLE_DESC"
            useglobal="true"
            filter="raw"
         />

То код сохраняется, но не исполняется, просто отображается как текст.
*

NewUsers

  • Живу я здесь
  • 2033
  • 186 / 0
Пример: Шины оптом <?php echo $GLOBALS['in-city']; ?> недорого
Пример: Шины оптом {in-city} недорого

Код: php
str_replace('{page_title}', $GLOBALS['in-city'], $item->page_title);
Занимаюсь создание расширений только для Joomla 3.x.x | Доработка и настройка сайтов. Работаю по факту (без всяких предоплат). Оплата только на ЮMoney (бывшие Яндекс.Деньги). Помогу с переездом на PHP 7.x и исправлю ошибки PHP.
Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку)
*

virfolk

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
str_replace('{page_title}', $GLOBALS['in-city'], $item->page_title);

Не очень понял, куда вставить этот код?
*

NewUsers

  • Живу я здесь
  • 2033
  • 186 / 0
Не очень понял, куда вставить этот код?
Там где указываете заголовок для страницы!
Занимаюсь создание расширений только для Joomla 3.x.x | Доработка и настройка сайтов. Работаю по факту (без всяких предоплат). Оплата только на ЮMoney (бывшие Яндекс.Деньги). Помогу с переездом на PHP 7.x и исправлю ошибки PHP.
Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку)
*

virfolk

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
str_replace('{page_title}', $GLOBALS['in-city'], $item->page_title);


А, понял, всё работает, спасибо!
Просто вы немножко опечатались, надо str_replace('{in-city}', $GLOBALS['in-city'], $item->page_title);
*

virfolk

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
А можно такую же штуку провернуть с текстами в модулях?
*

NewUsers

  • Живу я здесь
  • 2033
  • 186 / 0
А можно такую же штуку провернуть с текстами в модулях?
Можно! Но смотря какой модуль использовать.

Для самописного модуля подойдет
Код: php
echo str_replace('{line}', __LINE__, $module->content);

Если модуль типа HTML-код, то для него есть событие onContentPrepare работающее в группе плагинов content (но что бы оно работало надо включить соответствующий параметр в настройках модуля)
Занимаюсь создание расширений только для Joomla 3.x.x | Доработка и настройка сайтов. Работаю по факту (без всяких предоплат). Оплата только на ЮMoney (бывшие Яндекс.Деньги). Помогу с переездом на PHP 7.x и исправлю ошибки PHP.
Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку)
*

virfolk

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
Нужно чтобы работало для всех модулей на сайте типа HTML-код. Т.е. во всех модулях, где встречается {in-city}, это выражение должно меняться на <?php echo $GLOBALS['in-city']; ?>
*

NewUsers

  • Живу я здесь
  • 2033
  • 186 / 0
Нужно чтобы работало для всех модулей на сайте типа HTML-код.
Тогда вам надо использовать событие onContentPrepare
Код: php
$item->text = str_replace('{in-city}', $GLOBALS['in-city'], $item->text);
Занимаюсь создание расширений только для Joomla 3.x.x | Доработка и настройка сайтов. Работаю по факту (без всяких предоплат). Оплата только на ЮMoney (бывшие Яндекс.Деньги). Помогу с переездом на PHP 7.x и исправлю ошибки PHP.
Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку)
*

virfolk

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
Что-то я ничего не понял)
*

virfolk

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
Т.е. я должен создать свой плагин типа как ниже??

<?
class PlgContentMyShortCode extends JPlugin
{   
   public function onContentPrepare($context, &$article, &$params, $page = 0)
   {
      $item->text = str_replace('{in-city}', $GLOBALS['in-city'], $item->text);
   }
}
?>
*

NewUsers

  • Живу я здесь
  • 2033
  • 186 / 0
Прямо в точку!
Занимаюсь создание расширений только для Joomla 3.x.x | Доработка и настройка сайтов. Работаю по факту (без всяких предоплат). Оплата только на ЮMoney (бывшие Яндекс.Деньги). Помогу с переездом на PHP 7.x и исправлю ошибки PHP.
Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку)
*

sivers

  • Завсегдатай
  • 1638
  • 226 / 0
public function onContentPrepare($context, &$article, &$params, $page = 0)
тут желательно заменить $article => $item (иначе может не заработать)
На связи в телеге @sivers
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Баг в поиске Joomla 3.8.5 <span class="highlight'>title</span>

Автор hubby

Ответов: 25
Просмотров: 3857
Последний ответ Сегодня в 07:49:26
от jem777
Не меняется заголовок материала в браузере

Автор ALEXRAW

Ответов: 2
Просмотров: 133
Последний ответ 29.04.2021, 18:11:32
от ALEXRAW
В коде страницы первый заголовок h1 находится ниже h3

Автор ALEXRAW

Ответов: 18
Просмотров: 330
Последний ответ 14.04.2021, 20:12:20
от ALEXRAW
Ошибка при отправке страницы в индексацию GSC

Автор OZlaim1

Ответов: 0
Просмотров: 81
Последний ответ 23.03.2021, 11:53:28
от OZlaim1
Как вывести заголовок страницы браузера в произвольном месте через php?

Автор kiev

Ответов: 4
Просмотров: 116
Последний ответ 12.02.2021, 16:50:57
от kiev