Для чего нужна детальная страница
Детальная страница выводит полную информацию о каждой статье или новости на вашем сайте — это отдельная страница с заголовком, датой публикации, текстом и прочими данными.
Где должны лежать файлы
- /public_html/blog/index.php — список статей (
news.list). - /public_html/blog/detail.php — выводит одну статью (
news.detail).
Шаблон компонента обычно располагается в:
/local/templates/ВАШ_ШАБЛОН/components/bitrix/news.detail/blog_detail/template.php
ЧПУ — красивые адреса
Чтобы адреса вида /blog/kod-stati/ открывали детальную страницу статьи, в .htaccess добавьте правило:
RewriteRule ^blog/([a-zA-Z0-9_-]+)/$ /blog/detail.php?ELEMENT_CODE=$1 [L] Пример detail.php
<?php require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
$APPLICATION->IncludeComponent(
"bitrix:news.detail",
"blog_detail",
array(
"IBLOCK_TYPE" => "content",
"IBLOCK_ID" => "22",
"ELEMENT_CODE" => $_REQUEST["ELEMENT_CODE"],
// другие параметры при необходимости
),
false
);
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");
?>
Параметр ELEMENT_CODE автоматически подтягивается из адреса.
Пример шаблона вывода (template.php)
Внутри вашего шаблона уже реализована нужная структура. Кратко, шаблон выглядит так:
<article class="article"> <h1 class="article__title"><?= htmlspecialcharsbx($arResult["NAME"]) ?></h1> <?php if ($arResult["DISPLAY_ACTIVE_FROM"]): ?> <div class="article__date"><?= FormatDate("d F Y", MakeTimeStamp($arResult["DISPLAY_ACTIVE_FROM"])) ?></div> <?php endif; ?> <?php if ($arResult["PREVIEW_TEXT"]): ?> <div class="article__intro"><?= $arResult["PREVIEW_TEXT"] ?></div> <?php endif; ?> <div class="article__content"><?= $arResult["DETAIL_TEXT"] ?></div> </article> Вывод <h2> для разделов статьи и все стили уже реализуются вашим шаблоном.
Как вставлять код с подсветкой
В шаблоне уже подключён Prism.js. Для вставки кода используйте так:
<pre><code class="language-php"> // Ваш PHP-код </code></pre> Полезные советы
- Проверьте, чтобы у каждой статьи был заполнен "Символьный код".
- Все стили и оформление берутся из вашего шаблона — ничего дополнительного в статью не добавляйте.
- Для оглавления используйте
<h2>— оно будет генерироваться автоматически. - Если что-то не работает — проверьте правило в .htaccess и правильность путей к файлам.
Всё готово: теперь каждая статья на вашем сайте открывается на детальной странице с аккуратной версткой, содержанием и подсветкой кода — всё это оформляется только вашим шаблоном.