@alexander_chn

Как в метатеги вставить переменную в битриксе?

Здравствуйте! Суть вопроса такова. Есть метатег, к примеру $APPLICATION->SetPageProperty и туда нужно вставить переменную, т.е. в зависимости от параметров меняется метатег. Сейчас я это реализовал вот так:
$APPLICATION->SetPageProperty("title", "$cur_city[$poddomen]");

$cur_city[$poddomen] - это массив который подставляет нужное значение. Но проблема в том, что когда через админку поменять какое то другое сео свойство, то система сохраняет эту строку в виде:
$APPLICATION->SetPageProperty("title", "\$cur_city[\$poddomen]");

и соответственно код уже не исполняется, а просто статически прописывается $cur_city[\$poddomen].
Можно ли это исправить?
  • Вопрос задан
  • 814 просмотров
Пригласить эксперта
Ответы на вопрос 2
Anadi
@Anadi
Если ответ Вам помог мой, решением отметье его!
Попробуйте так
$APPLICATION->SetPageProperty("title", $cur_city[$poddomen]);
Ответ написан
gromdron
@gromdron
Работаю с Bitrix24
А эти варианты особо и не будут работать.
Можете попробовать универсальный синтаксис конечно, но не думаю что в этой части он работает.
$APPLICATION->SetPageProperty("title", "={$cur_city[$poddomen]}");


Что касается именно задачи, то обычно это делается так:
1) Разрабатываем компонент, ну например custo:header.meta
2) В компоненте проверяем условия (например через GetPageProperty), а так же доп. параметры.
Если по всем показателям нужно заменить - используйте конструкцию Lorem Ipsum . Если заменять не нужно - пропускаете.

Важный вопрос: Почему делать нужно именно так?
В Битрикс24 нельзя лишать пользователя возможности переопределять конкретные теги на страницах.
Лучше это все делать в одном месте, чем потом искать откуда появляется $cur_city и что такое $poddomen.
Да и к тому, же, нужно будет проходиться по каждой странице и смотреть что нет ошибок ли на других, а так - 1 компонент который целостно закрывает эту задачу.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы