Author: dasha. Date 2016-09-30 13:51:57, views: 445, Raw
//SEO function getAdditionalSEO($url) { CModule::IncludeModule('highloadblock'); $hlblock = Bitrix\Highloadblock\HighloadBlockTable::getById(1)->fetch(); $entity = Bitrix\Highloadblock\HighloadBlockTable::compileEntity($hlblock); $entity_data_class = $entity->getDataClass(); return $entity_data_class::getList(array('filter' => array('=UF_URL' => $url)))->fetch(); } if (!empty($_REQUEST['brand']) || !empty($_REQUEST['model'])) { $arResult['DESCRIPTION'] = ''; //уÑтановка метатегов global $APPLICATION; $url = $APPLICATION->GetCurDir(); if ($arSeo = getAdditionalSEO($url)) { $arResult['SEO'] = $arSeo; if (!empty($arResult['SEO']['UF_TEXT'])) { $arResult['DESCRIPTION'] = $arResult['SEO']['UF_TEXT']; } } else {//еÑли данных нет if (!empty($_REQUEST['brand']) && empty($_REQUEST['model'])) { //еÑли Ñтраница бренда $brand = CIBlockSection::GetList(array("SORT" => "ASC"), array( 'IBLOCK_ID' => 6, 'CODE' => $_REQUEST['brand'] ), false, array('NAME', 'UF_RUSNAME'))->GetNext(); $arResult['SEO']['UF_H1'] = $arResult['NAME'] . ' Ð´Ð»Ñ ' . $brand['NAME']; if (!!$brand['UF_RUSNAME']) { $arResult['SEO']['UF_H1'] .= ' (' . $brand['UF_RUSNAME'] . ')'; } $arResult['UF_FIELD']['UF_ADNAME'] = $arResult['UF_FIELD']['UF_ADNAME'] ? $arResult['UF_FIELD']['UF_ADNAME'] : $arResult['NAME']; $brand['UF_RUSNAME'] = $brand['UF_RUSNAME'] ? $brand['UF_RUSNAME'] : $brand['NAME']; $arResult['SEO']['UF_TITLE'] = 'Купить ' . $arResult['NAME'] . ' Ð´Ð»Ñ ' . $brand['NAME'] . ' по низким ценам. Продажа б/у ' . $arResult['UF_FIELD']['UF_ADNAME'] . ' Ð´Ð»Ñ ' . $brand['UF_RUSNAME'] . ' в компании Рудетали'; $arResult['SEO']['UF_DESCRIPTION'] = 'Продажа ' . $arResult['NAME'] . ' Ð´Ð»Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð¾Ð±Ð¸Ð»Ñ ' . $brand['NAME'] . ' Ñ Ð´Ð¾Ñтавкой по РоÑÑии. Купить б/у ' . $arResult['UF_FIELD']['UF_ADNAME'] . ' по низким ценам Ð´Ð»Ñ ' . $brand['UF_RUSNAME'] . ' в интернет-магазине Рудетали.'; } else if (!empty($_REQUEST['brand']) && !empty($_REQUEST['model'])) { //еÑли Ñтраница модели $brand = CIBlockSection::GetList(array(), array( 'IBLOCK_ID' => 6, 'CODE' => $_REQUEST['brand'] ), false, array('NAME', 'UF_RUSNAME'))->GetNext(); $model = CIBlockElement::GetList(array(), array( 'IBLOCK_ID' => 6, 'CODE' => $_REQUEST['model'] ), false, false, array('NAME', 'PROPERTY_RUS_NAME'))->GetNext(); $model_rus_name = $model['PROPERTY_RUS_NAME_VALUE'] ? $model['PROPERTY_RUS_NAME_VALUE'] : $model['NAME']; $arResult['UF_FIELD']['UF_ADNAME'] = $arResult['UF_FIELD']['UF_ADNAME'] ? $arResult['UF_FIELD']['UF_ADNAME'] : $arResult['NAME']; $brand['UF_RUSNAME'] = $brand['UF_RUSNAME'] ? $brand['UF_RUSNAME'] : $brand['NAME']; $arResult['SEO']['UF_H1'] = $arResult['NAME'] . ' Ð´Ð»Ñ ' . $brand['NAME'] . ' ' . $model['NAME']; $arResult['SEO']['UF_TITLE'] = 'Купить ' . $arResult['NAME'] . ' Ð´Ð»Ñ ' . $brand['NAME'] . ' ' . $model['NAME'] . ' по низким ценам. Продажа б/у ' . $arResult['UF_FIELD']['UF_ADNAME'] . ' Ð´Ð»Ñ ' . $brand['UF_RUSNAME'] . ' ' . $model_rus_name . ' в компании Рудетали'; $arResult['SEO']['UF_DESCRIPTION'] = 'Продажа ' . $arResult['NAME'] . ' Ð´Ð»Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð¾Ð±Ð¸Ð»Ñ ' . $brand['NAME'] . ' ' . $model['NAME'] . ' Ñ Ð´Ð¾Ñтавкой по РоÑÑии. Купить б/у ' . $arResult['UF_FIELD']['UF_ADNAME'] . ' по низким ценам Ð´Ð»Ñ ' . $brand['UF_RUSNAME'] . ' ' . $model_rus_name . ' в интернет-магазине Рудетали.'; } } //хлебные крошки не завиÑимо от того, еÑть инфа в ИБ или нет if (!empty($_REQUEST['brand']) && empty($_REQUEST['model'])) { //еÑли бренд $brand = CIBlockSection::GetList(array(), array( 'IBLOCK_ID' => 6, 'CODE' => $_REQUEST['brand'] ), false, array('NAME', 'UF_RUSNAME'))->GetNext(); $APPLICATION->AddChainItem($brand['NAME'], ""); } else if (!empty($_REQUEST['brand']) && !empty($_REQUEST['model'])) { //еÑли модель $brand = CIBlockSection::GetList(array(), array( 'IBLOCK_ID' => 6, 'CODE' => $_REQUEST['brand'] ), false, array('NAME', 'UF_RUSNAME', 'CODE'))->GetNext(); $model = CIBlockElement::GetList(array(), array( 'IBLOCK_ID' => 6, 'CODE' => $_REQUEST['model'] ), false, false, array('NAME', 'PROPERTY_RUS_NAME'))->GetNext(); $APPLICATION->AddChainItem($brand['NAME'], $arResult['SECTION_PAGE_URL'] . $brand['CODE'] . '/'); $APPLICATION->AddChainItem($model['NAME'], ""); } } else {//еÑли Ñто проÑто раздел, а не модель и не бренд if (!empty($arResult['UF_FIELD']['UF_H1'])) { $arResult['SEO']['UF_H1'] = $arResult['UF_FIELD']['UF_H1']; } else if (!empty($arResult['IPROPERTY_VALUES']['SECTION_META_TITLE'])) {//еÑли уÑтановлены заголовки в Ñеомодуле $arResult['SEO']['UF_H1'] = $arResult['IPROPERTY_VALUES']['SECTION_META_TITLE']; } else {//еÑли вообще ничего не уÑтановлено, то берем Ð¸Ð¼Ñ Ð¿Ð°Ð¿ÐºÐ¸ $arResult['SEO']['UF_H1'] = $arResult['NAME']; } if (!empty($arResult['UF_FIELD']['UF_TITLE'])) { $arResult['SEO']['UF_TITLE'] = $arResult['UF_FIELD']['UF_TITLE']; } else if (!empty($arResult['IPROPERTY_VALUES']['SECTION_META_TITLE'])) {//еÑли уÑтановлены заголовки в Ñеомодуле $arResult['SEO']['UF_TITLE'] = $arResult['IPROPERTY_VALUES']['ELEMENT_META_DESCRIPTION']; } else {//еÑли вообще ничего не уÑтановлено, то берем Ð¸Ð¼Ñ Ð¿Ð°Ð¿ÐºÐ¸ $arResult['SEO']['UF_TITLE'] = $arResult['NAME']; } } $cp = $this->__component; if (is_object($cp)) { $cp->SetResultCacheKeys(array('SEO')); }