Как делал бы я:
1. Завёл бы в админке, в настройках модулей, в управлении структуры в секции «типы свойств» новое свойство:
pagination_suffix2. В шаблоне компонента инициализировал бы это свойство:
$APPLICATION->SetPageProperty( 'pagination_suffix', ' Страница zZz' );
Текст «
Страница » по-правильному вынести в
/lang/ файлы и тогда вызов предыдущей строки будет таким:
$APPLICATION->SetPageProperty(
'pagination_suffix',
\Bitrix\Main\Localization\Loc::getMessage( 'PAGE_IN_BROWSER_TITLE' ) . 'zZz'
);
Шаблон:
— знает, какой номер страницы;
— избавляет нас от геморроя с отслеживанием
PAGEN_1, PAGEN_2, PAGEN_3, ...
Номер страницы берём из
$arResult[ 'NAV_RESULT' ]->NavNum;
3. Вывод заголовка дополнил бы так:
<title><?$APPLICATION->ShowTitle()?><?$APPLICATION->ShowProperty( 'pagination_suffix' )?></title>
(!) Есть риск, что это шаблон компонента кешируется и потому первый вызов даст нам нумерацию страниц, а потом перестанет срабатывать SetPageProperty. Я выношу код из
template.php в
component_epilog.php (почти всегда уже так делаю) и так все вызовы не кешируются.
Чтобы пробросить
arResult
в component_epilog.php, нужно в
result_modifier.php прописать:
$this->__component->SetResultCacheKeys( arrary_keys( $arResult ) );
То есть у нас в папке с шаблоном компонента:
• result_modifier.php (создаём если его нет) с пробросом переменных;
• template.php, в котором остаётся только голосование за композит
$this->setFrameMode(true);
• component_epilog.php, где собственно вывод на экран и выполнение прописывания заголовков.