1. Редирект карточки товара со страниц дублей при выводе товаров дочерних категорий
result_modifier.php
/* {+ usovdm: no doubles */
$arPathDB = CIBlockSection::GetNavChain($arParams['IBLOCK_ID'], $arResult['IBLOCK_SECTION_ID'])->arResult;
$arPath = array();
foreach($arPathDB as $v){
$arPath[] = $v['CODE'];
}
$arResult['CORRECT_URL'] = $arParams['DETAIL_URL'];
$arResult['CORRECT_URL'] = str_replace('#SECTION_CODE_PATH#',implode('/',$arPath),$arResult['CORRECT_URL']);
$arResult['CORRECT_URL'] = str_replace('#ELEMENT_CODE#',$arResult['CODE'],$arResult['CORRECT_URL']);
$this->__component->arResultCacheKeys[] = 'CORRECT_URL';
/* }- usovdm: no doubles */
component_epilog.php
if(GetPagePath(false, false) != $arResult['CORRECT_URL']){
LocalRedirect($arResult['CORRECT_URL'], true, '301 Moved permanently');
}
2. Подмена дублей на странице списка товаров
result_modifier.php
/* {+ usovdm: no doubles */
if(!empty($arResult['ITEMS'])){
$arSectionPathes = array();
foreach($arResult['ITEMS'] as &$arItem){
if(empty($arSectionPathes[$arItem['~IBLOCK_SECTION_ID']])){
$arPathDB = CIBlockSection::GetNavChain($arParams['IBLOCK_ID'], $arItem['~IBLOCK_SECTION_ID'])->arResult;
$arPath = array();
foreach($arPathDB as $v){
$arPath[] = $v['CODE'];
}
$arPath = implode('/',$arPath);
$arSectionPathes[$arItem['~IBLOCK_SECTION_ID']] = $arPath;
}else{
$arPath = $arSectionPathes[$arItem['~IBLOCK_SECTION_ID']];
}
$arItem['DETAIL_PAGE_URL'] = $arParams['DETAIL_URL'];
$arItem['DETAIL_PAGE_URL'] = str_replace('#SECTION_CODE_PATH#',$arPath,$arItem['DETAIL_PAGE_URL']);
$arItem['DETAIL_PAGE_URL'] = str_replace('#ELEMENT_CODE#',$arItem['CODE'],$arItem['DETAIL_PAGE_URL']);
}unset($arItem);
}
/* }- usovdm: no doubles */
3. clearSEO()
function clearSEO(){
require_once($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/iblock/lib/inheritedproperty/basevalues.php');
require_once($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/iblock/lib/inheritedproperty/iblockvalues.php');
$ipropValues = new \Bitrix\Iblock\InheritedProperty\IblockValues(14);
$ipropValues->clearValues();
return "clearSEO();";
}
Свежие комментарии