Чтобы настроить разные заголовки и описания (Title и Description) для разделов каталога в Bitrix в зависимости от домена или поддомена, вы можете добавить аналогичную логику в файл, отвечающий за вывод свойств страницы, например, в файл компонента вашего каталога. В зависимости от структуры вашего сайта, можно модифицировать файл `template.php` компонента каталога или использовать обработчик события, если такие настройки применяются глобально.
### Пример реализации в `template.php` компонента каталога:
1. Найдите файл `template.php`, который используется для отображения каталога товаров. Это может быть путь вида `bitrix/templates/YOUR_TEMPLATE/components/bitrix/catalog.section/template.php`.
2. Вставьте следующий код в начале этого файла:
```php
<?php
$host = $_SERVER['HTTP_HOST'];
if ($host == "site.ru") {
$APPLICATION->SetPageProperty("title", "Заголовок для домена site.ru");
$APPLICATION->SetPageProperty("description", "Описание для домена site.ru");
} else {
// Определите логику для получения города из поддомена
// Например, если поддомен совпадает с названием города: "khabarovsk.site.ru" должен вернуть "Хабаровске"
$subdomain = explode('.', $host)[0]; // Получаем первую часть поддомена
// Здесь можно добавить логику для преобразования поддомена в название города, если это необходимо
$cityName = ucfirst($subdomain); // Заглавная буква
$APPLICATION->SetPageProperty("title", "Товары с доставкой в $cityName");
$APPLICATION->SetPageProperty("description", "Товары с доставкой в $cityName");
}
?>
```
### Пример реализации с использованием события:
Если вы хотите, чтобы эта логика управлялась из одного места и применялась ко всем страницам, вы можете использовать события:
1. В файле `init.php` вашего шаблона добавьте следующее:
```php
AddEventHandler("main", "OnEndBufferContent", "ModifyPageTitles");
function ModifyPageTitles(&$content) {
global $APPLICATION;
$host = $_SERVER['HTTP_HOST'];
if ($host == "site.ru") {
$APPLICATION->SetPageProperty("title", "Заголовок для домена site.ru");
$APPLICATION->SetPageProperty("description", "Описание для домена site.ru");
} else {
$subdomain = explode('.', $host)[0]; // Получаем первую часть поддомена
// Здесь можно добавить логику для преобразования поддомена в название города, если это необходимо
$cityName = ucfirst($subdomain); // Заглавная буква
$APPLICATION->SetPageProperty("title", "Товары с доставкой в $cityName");
$APPLICATION->SetPageProperty("description", "Товары с доставкой в $cityName");
}
}
```
### Заключение
Данный подход позволяет вам контролировать заголовки и описания для различных доменов и поддоменов, основываясь на текущем хосте. Не забудьте протестировать изменения, чтобы убедиться, что заголовки и описания отображаются корректно в зависимости от URL.