Где найти файл tempale.php в Bitrix

330
23 декабря 2017, 06:44

Приветствую! Подскажите, новичку в Bitrix, где найти файл tempale.php? Я с этой CMS раньше не работала. А сейчас по работе подогнали сайт на Bitrix, мне нужно добавить мета-теги, тайтл.

Нашла мануал, как это сделать. Вроде бы несложно, простым добавлением определенной строки в файл tempale.php:

<? $APPLICATION->AddHeadString('ваш_код',true)?>

А я, блин, не знаю где его найти - этот файл.

В принципе, я разобралась где менять html-код страниц. Но эти изменения возможны для тегов секции body. А добавить новые мета в head так не получится.

Куда копать? С битриксом в первый раз работаю. Спасибо!

Answer 1

Ну видно, что ранее не работали с Битриксом.

Учитывая, что Битрикс работает на компонентах, то вам нужно сначала узнать какой именно компонент используется на той странице, которая вам нужна.

Например в каталоге, это скорее всего будет bitrix:catalog , но так же есть кастомные самописы, узнать какой компонент можно зайдя на индексную страницу нужного раздела. Например вам нужно прописать метатеги у товаров.

Путь у каждого товара допустим вот такой: сайт.ру/catalog/код_товара/ В таком случае в проекте заходим в папку catalog и открываем index.php чтобы посмотреть какие компоненты тама содержатся. Их может быть несколько. В данном примере нам нужен будет bitrix:catalog. Ну а тут как повезёт. Либо разработчики сделали всё по правилам и создали шаблон сайта в папке /local/templates/ либо НЕ по правилам в папке /bitrix/templates/ в любом случае наш template.php будет находится по таким путям (а там сами смотрите как у вас реализовано):

1) Если по правилам кастомный компонент /local/components/название_пространства_к_которому_относится_компонент/название_компонента/templates/название_шаблона/template.php

2) Если по правилам кастомный компонент, но шаблон его в шаблоне сайта /local/templates/название_шаблона_сайта/components/название_пространства_к_которому_относится_компонент/название_компонента/название_шаблона/template.php

3) если кастомный НО НЕ ПО ПРАВИЛАМ, то тогда 2 верхних случая, только вместо папки local, будет папка bitrix.

4) Если стандартный компонент по правилам /local/templates/название_шаблона_сайта/components/bitrix/название_компонента/название_шаблона_компонента/template.php

5) Если стандартный компонент, НО НЕ по правилам, то тогда 4ый пункт, вместо local будет bitrix

Вот пути где могут хранится ваши template.php

Узнаёте какой шаблон сайта, через админскую панель, на index.php в нужных каталогах, узнаёте какой компонент нужен и какой шаблон. например

$APPLICATION->IncludeComponent("samovar:user.profile","profile" ..

Это кастомный компонент, samovar - пространство , user.profile - название компонента, profile - шаблон. Стало быть по правилам путь до tempate.php будет такой:

/local/components/samovar/user.profile/templates/profile/template.php

Но вашу проблему это НЕ решит! Вам нужен даже НЕ template.php , а component_epilog.php

Потому что компоненты битрикса кешируют свои шаблоны и просто ваши значения закешируются и для разных товаров, будут одни и те же теги) component_epilog.php НЕ кешируется.

И вообще META теги можно задать в настройке элемента в админке в табе SEO, а для страниц через фронтОфис через панель управления. В компоненте установить чекбокс в параметрах, "устанавливать ключевые слова" "описание страницы" и т.д. по аналогии. Даже если это делать через код, то явно не при помощи

$APPLICATION->AddHeadString('ваш_код',true)

А через $APPLICATION->SetPageProperty('код свойста','string');

title задаётся через $APPLICATION->SetTitle('string');

Ну и при этом это не всё. Битрикс это грёбаный тёмный лес, в котором можно сделать одно и тоже 100500ю способами.

Если что component_epilog.php должен быть РЯДОМ с template.php. Если его нет, то его нужно создать и первое, что в нём сделать, это добавить пролог Битрикса.

READ ALSO
Swiftmailer.Uncaught Error: Call to undefined method Swift_SmtpTransport::newInstance()

Swiftmailer.Uncaught Error: Call to undefined method Swift_SmtpTransport::newInstance()

Всем приветПомогите пожалуйста разобраться с ошибкой, которую я получаю

250
Как сделать вход гостя по имени на сайт?

Как сделать вход гостя по имени на сайт?

Здравствуйте, помогите решить такой вопросКак сделать вход пользователя на сайт как гостя, только по введенному им имени

266
Разные фильтры для разных товаров (как организовать структуру)

Разные фильтры для разных товаров (как организовать структуру)

Уважаемые знатоки,предположим есть N различных категорий товаров и у каждого из них разные характеристики, например у кого то есть длина...

255
В чем ограничение MySQL

В чем ограничение MySQL

Локально при использовании OpenServer - Всё работает, обрабатывает большие пакеты

270