СЕО теги , /ua/catalog/kormushki_1/ не перекладаються, і не зрозуміло як бути з посиланням в налаштуваннях в адмінці . Там прописується адреса, але це поле однакове на мовних версіях. Якщо додам туди /ua/, то і на російській версії воно буде. Також замітив, що посилання тегів з /ua/ показують 404 сторінку. Спостерігається кешування УРЛ адрес цих тегів.
Не перекладаються назви та посилання СЕО тегів в розділах
В файлі
Код
Замінив на:
По суті тільки дві правки : FCIBlockElement та другий параметр InitCache не враховував LANGUAGE_ID
Зміни виванатижив Вам на сайт!
| Код |
|---|
bitrix/templates/enext/components/bitrix/catalog/.default/section_vertical.php |
| Код |
|---|
//SECTION_LINKS//
if(!empty($arCurSection["PATH"]) && $filterSeoId > 0) {
$arSectLinksFilter = array("ACTIVE" => "Y", "IBLOCK_ID" => $filterSeoId, "PROPERTY_SECTION" => array_keys($arCurSection["PATH"]));
$obCache = new CPHPCache();
if($obCache->InitCache($arParams["CACHE_TIME"], serialize($arSectLinksFilter), "/iblock/catalog")) {
$sectionLinks = $obCache->GetVars();
} elseif(Bitrix\Main\Loader::includeModule("iblock") && $obCache->StartDataCache()) {
$sectionLinks = array();
$rsElements = CIBlockElement::GetList(array("SORT" => "ASC", "NAME" => "ASC"), $arSectLinksFilter, false, false, array("ID", "CODE", "IBLOCK_ID", "NAME", "DETAIL_PAGE_URL", "PROPERTY_DEFAULT_URL", "PROPERTY_SECTION", "PROPERTY_SHOW_IN_SUBSECTIONS", "PROPERTY_SHOW_IN_SELECTED_SECTION"));
if($isCacheManager) {
$GLOBALS["CACHE_MANAGER"]->StartTagCache("/iblock/catalog");
$GLOBALS["CACHE_MANAGER"]->RegisterTag("iblock_id_".$filterSeoId);
}
while($arElement = $rsElements->GetNext()) {
if($arElement["PROPERTY_SECTION_VALUE"] == $arCurSection["ID"] || !empty($arElement["PROPERTY_SHOW_IN_SUBSECTIONS_VALUE"]))
$sectionLinks[] = $arElement;
}
if($isCacheManager)
$GLOBALS["CACHE_MANAGER"]->EndTagCache();
$obCache->EndDataCache($sectionLinks);
} else {
$sectionLinks = array();
}
unset($arSectLinksFilter);
} |
| Код |
|---|
//SECTION_LINKS//
if(!empty($arCurSection["PATH"]) && $filterSeoId > 0) {
$arSectLinksFilter = array("ACTIVE" => "Y", "IBLOCK_ID" => $filterSeoId, "PROPERTY_SECTION" => array_keys($arCurSection["PATH"]));
$obCache = new CPHPCache();
if($obCache->InitCache($arParams["CACHE_TIME"], serialize($arSectLinksFilter) .
LANGUAGE_ID //edit_by_Fantych: 26.07.2023
, "/iblock/catalog")) {
$sectionLinks = $obCache->GetVars();
} elseif(Bitrix\Main\Loader::includeModule("iblock") && $obCache->StartDataCache()) {
$sectionLinks = array();
$rsElements = FCIBlockElement::GetList(array("SORT" => "ASC", "NAME" => "ASC"), $arSectLinksFilter, false, false, array("ID", "CODE", "IBLOCK_ID", "NAME", "DETAIL_PAGE_URL", "PROPERTY_DEFAULT_URL", "PROPERTY_SECTION", "PROPERTY_SHOW_IN_SUBSECTIONS", "PROPERTY_SHOW_IN_SELECTED_SECTION"));
if($isCacheManager) {
$GLOBALS["CACHE_MANAGER"]->StartTagCache("/iblock/catalog");
$GLOBALS["CACHE_MANAGER"]->RegisterTag("iblock_id_".$filterSeoId);
}
while($arElement = $rsElements->GetNext()) {
if($arElement["PROPERTY_SECTION_VALUE"] == $arCurSection["ID"] || !empty($arElement["PROPERTY_SHOW_IN_SUBSECTIONS_VALUE"]))
$sectionLinks[] = $arElement;
}
if($isCacheManager)
$GLOBALS["CACHE_MANAGER"]->EndTagCache();
$obCache->EndDataCache($sectionLinks);
} else {
$sectionLinks = array();
}
unset($arSectLinksFilter);
} |
По суті тільки дві правки : FCIBlockElement та другий параметр InitCache не враховував LANGUAGE_ID
Зміни виванатижив Вам на сайт!
Читають тему