Записки

Перенос описания раздела из верхней в нижнюю часть страницы 14.03.2018

Перенос описания раздела из верхней в нижнюю часть страницы

Если используете стандартный (умолчальный) каталог товаров на своём сайте под управлением 1С-Битрикс, то эта информация для Вас. Дело в том, что для сео продвижение желательно в каждом разделе каталога иметь увесистое описание с ключевыми словами. В битриксе его можно выложить штатным способом. При редактировании разделов есть специальное поле "Описание". Там можно создать текст с необходимыми ключевыми словами и даже с картинками. Но это описание будет выводится в начале страницы, что однозначно будет отвлекать клиентов от выбора товара. Для того, чтобы перенести это описание в низ страницы нужно сделать следующее:

1. Открыть файл:

bitrix / components / bitrix / catalog.section / templates / .default / template.php

2. Находим блок кода :

if ($arParams['HIDE_SECTION_DESCRIPTION'] !== 'Y')
{
    ?>
    <div class="bx-section-desc bx-<?=$arParams['TEMPLATE_THEME']?>">
        <p class="bx-section-desc-post"><?=$arResult['DESCRIPTION']?></p>
    </div>
    <?
}

3. Вырезаем и переносим вниз страницы, там где скрипты. Приметное расположение может быть таким:

if ($showBottomPager)
{
    ?>
    <div data-pagination-num="<?=$navParams['NavNum']?>">
        <!-- pagination-container -->
        <?=$arResult['NAV_STRING']?>
        <!-- pagination-container -->
    </div>
    <?
}

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

if ($arParams['HIDE_SECTION_DESCRIPTION'] !== 'Y')
{
    ?>
    <div class="bx-section-desc bx-<?=$arParams['TEMPLATE_THEME']?>">
        <p class="bx-section-desc-post"><?=$arResult['DESCRIPTION']?></p>
    </div>
    <?
}


!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

$signer = new \Bitrix\Main\Security\Sign\Signer;
$signedTemplate = $signer->sign($templateName, 'catalog.section');
$signedParams = $signer->sign(base64_encode(serialize($arResult['ORIGINAL_PARAMETERS'])), 'catalog.section');
$mainId = $this->GetEditAreaId($navParams['NavNum']);
$obName = 'ob'.preg_replace('/[^a-zA-Z0-9_]/', 'x', $mainId);
?>

<script>
    BX.message({
        BTN_MESSAGE_BASKET_REDIRECT: '<?=GetMessageJS('CT_BCS_CATALOG_BTN_MESSAGE_BASKET_REDIRECT')?>',
        BASKET_URL: '<?=$arParams['BASKET_URL']?>',
        ADD_TO_BASKET_OK: '<?=GetMessageJS('ADD_TO_BASKET_OK')?>',
        TITLE_ERROR: '<?=GetMessageJS('CT_BCS_CATALOG_TITLE_ERROR')?>',
        TITLE_BASKET_PROPS: '<?=GetMessageJS('CT_BCS_CATALOG_TITLE_BASKET_PROPS')?>',
        TITLE_SUCCESSFUL: '<?=GetMessageJS('ADD_TO_BASKET_OK')?>',
        BASKET_UNKNOWN_ERROR: '<?=GetMessageJS('CT_BCS_CATALOG_BASKET_UNKNOWN_ERROR')?>',
        BTN_MESSAGE_SEND_PROPS: '<?=GetMessageJS('CT_BCS_CATALOG_BTN_MESSAGE_SEND_PROPS')?>',
        BTN_MESSAGE_CLOSE: '<?=GetMessageJS('CT_BCS_CATALOG_BTN_MESSAGE_CLOSE')?>',

Всё, теперь описание каталога находится внизу страницы, никому не мешает и приносит пользу.
НО есть одна проблема, при каждом обновлении компонента каталога эти исправления, естественно, пропадают. Здесь есть два выхода, либо каждый раз вносить изменения после обновления, либо сохранить шаблон компонента каталога а потом править. Помните, если использовать второй способ обновляться компонент не будет и новых примочек Вы не уведите.

Возврат к списку