'DESCRIPTION' => $mainId.'_description',
<div id="<?=$itemIds['DESCRIPTION']?>"><?=$arResult['DETAIL_TEXT_TYPE'] === 'html' ? $arResult['DETAIL_TEXT'] : '<p>'.$arResult['DETAIL_TEXT'].'</p>';?></div>
if ($haveOffers)
{
//...................
foreach ($arResult['JS_OFFERS'] as $ind => &$jsOffer)
{
$jsOffer['DETAIL_TEXT'] = (isset($arResult['OFFERS'][$ind]['DETAIL_TEXT']) && $arResult['OFFERS'][$ind]['DETAIL_TEXT'] ? $arResult['OFFERS'][$ind]['DETAIL_TEXT'] : $arResult['DETAIL_TEXT']);
changeInfo: function()
this.setPrice();
this.setDetailText(this.offers[index].DETAIL_TEXT);
setDetailText: function(text) {
if(typeof(this.visual.DESCRIPTION) !== 'undefined') {
BX.adjust(BX(this.visual.DESCRIPTION), {html: text});
}
},
// .........
foreach($aModuleMenu as $key => $menu) {
if($menu['parent_menu'] == 'global_menu_marketplace')
unset($aModuleMenu[$key]);
}
// .........
но при перезагрузке страницы выводились следущие 50 элементов
\Bitrix\Main\Loader::includeModule('iblock');
$iblockId = 2;
$nPageSize = 50;
$iNumPage = 1;
$arElements = array();
$dbRes = CIBlockElement::GetList(array('ID' => 'ASC'), array('IBLOCK_ID' => $iblockId), false, array('nPageSize' => $nPageSize, 'iNumPage' => $iNumPage), array('ID', 'NAME'));
while($arRes = $dbRes->Fetch()) {
$arElements[] = $arRes;
}
echo '<pre>';
print_r($arElements);
echo '</pre>';
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();
$this->setFrameMode(true);
?>
<?$APPLICATION->IncludeComponent(
"bitrix:catalog.section.list",
"",
Array(
"IBLOCK_TYPE" => $arParams["IBLOCK_TYPE"],
"IBLOCK_ID" => $arParams["IBLOCK_ID"],
"SECTION_ID" => $arResult["VARIABLES"]["SECTION_ID"],
"SECTION_CODE" => $arResult["VARIABLES"]["SECTION_CODE"],
"DISPLAY_PANEL" => "N",
"CACHE_TYPE" => $arParams["CACHE_TYPE"],
"CACHE_TIME" => $arParams["CACHE_TIME"],
"CACHE_GROUPS" => $arParams["CACHE_GROUPS"],
"SECTION_URL" => $arResult["FOLDER"].$arResult["URL_TEMPLATES"]["section"],
),
$component
);?>
<?
if (CModule::IncludeModule("iblock")) {
$arFilter = array(
"ACTIVE" => "Y",
"GLOBAL_ACTIVE" => "Y",
"IBLOCK_ID" => $arParams["IBLOCK_ID"],
);
if (strlen($arResult["VARIABLES"]["SECTION_CODE"]) > 0) {
$arFilter["=CODE"] = $arResult["VARIABLES"]["SECTION_CODE"];
} elseif ($arResult["VARIABLES"]["SECTION_ID"] > 0) {
$arFilter["ID"] = $arResult["VARIABLES"]["SECTION_ID"];
}
$obCache = new CPHPCache;
if ($obCache->InitCache(36000, serialize($arFilter), "/iblock/catalog")) {
$arCurSection = $obCache->GetVars();
} else {
$arCurSection = array();
$dbRes = CIBlockSection::GetList(array(), $arFilter, false, array("ID"));
$dbRes = new CIBlockResult($dbRes);
if (defined("BX_COMP_MANAGED_CACHE")) {
global $CACHE_MANAGER;
$CACHE_MANAGER->StartTagCache("/iblock/catalog");
if ($arCurSection = $dbRes->GetNext()) {
$CACHE_MANAGER->RegisterTag("iblock_id_" . $arParams["IBLOCK_ID"]);
}
$CACHE_MANAGER->EndTagCache();
} else {
if (!$arCurSection = $dbRes->GetNext())
$arCurSection = array();
}
$obCache->EndDataCache($arCurSection);
}
?>
<? $APPLICATION->IncludeComponent(
"bitrix:catalog.smart.filter",
".default",
Array(
"PRICE_CODE" => $arParams["PRICE_CODE"],
"IBLOCK_TYPE" => $arParams["IBLOCK_TYPE"],
"IBLOCK_ID" => $arParams["IBLOCK_ID"],
"SECTION_ID" => $arCurSection['ID'],
"FILTER_NAME" => 'searchFilter',
"CACHE_TYPE" => $arParams["CACHE_TYPE"],
"CACHE_TIME" => $arParams["CACHE_TIME"],
"CACHE_GROUPS" => $arParams["CACHE_GROUPS"],
"SAVE_IN_SESSION" => "N",
"XML_EXPORT" => "Y",
"SECTION_TITLE" => "NAME",
"SECTION_DESCRIPTION" => "DESCRIPTION",
'HIDE_NOT_AVAILABLE' => $arParams["HIDE_NOT_AVAILABLE"],
"TEMPLATE_THEME" => 'wood'
),
$component,
array('HIDE_ICONS' => 'Y')
); ?>
<?
} ?>
<?$APPLICATION->IncludeComponent(
"bitrix:catalog.section",
"",
Array(
"IBLOCK_TYPE" => $arParams["IBLOCK_TYPE"],
"IBLOCK_ID" => $arParams["IBLOCK_ID"],
"ELEMENT_SORT_FIELD" => $arParams["ELEMENT_SORT_FIELD"],
"ELEMENT_SORT_ORDER" => $arParams["ELEMENT_SORT_ORDER"],
"PROPERTY_CODE" => $arParams["LIST_PROPERTY_CODE"],
"META_KEYWORDS" => $arParams["LIST_META_KEYWORDS"],
"META_DESCRIPTION" => $arParams["LIST_META_DESCRIPTION"],
"BROWSER_TITLE" => $arParams["LIST_BROWSER_TITLE"],
"INCLUDE_SUBSECTIONS" => $arParams["INCLUDE_SUBSECTIONS"],
"BASKET_URL" => $arParams["BASKET_URL"],
"ACTION_VARIABLE" => $arParams["ACTION_VARIABLE"],
"PRODUCT_ID_VARIABLE" => $arParams["PRODUCT_ID_VARIABLE"],
"SECTION_ID_VARIABLE" => $arParams["SECTION_ID_VARIABLE"],
"FILTER_NAME" => $arParams["FILTER_NAME"],
"DISPLAY_PANEL" => $arParams["DISPLAY_PANEL"],
"CACHE_TYPE" => $arParams["CACHE_TYPE"],
"CACHE_TIME" => $arParams["CACHE_TIME"],
"CACHE_FILTER" => $arParams["CACHE_FILTER"],
"CACHE_GROUPS" => $arParams["CACHE_GROUPS"],
"SET_TITLE" => $arParams["SET_TITLE"],
"SET_STATUS_404" => $arParams["SET_STATUS_404"],
"DISPLAY_COMPARE" => $arParams["USE_COMPARE"],
"PAGE_ELEMENT_COUNT" => $arParams["PAGE_ELEMENT_COUNT"],
"LINE_ELEMENT_COUNT" => $arParams["LINE_ELEMENT_COUNT"],
"PRICE_CODE" => $arParams["PRICE_CODE"],
"USE_PRICE_COUNT" => $arParams["USE_PRICE_COUNT"],
"SHOW_PRICE_COUNT" => $arParams["SHOW_PRICE_COUNT"],
"PRICE_VAT_INCLUDE" => $arParams["PRICE_VAT_INCLUDE"],
"DISPLAY_TOP_PAGER" => $arParams["DISPLAY_TOP_PAGER"],
"DISPLAY_BOTTOM_PAGER" => $arParams["DISPLAY_BOTTOM_PAGER"],
"PAGER_TITLE" => $arParams["PAGER_TITLE"],
"PAGER_SHOW_ALWAYS" => $arParams["PAGER_SHOW_ALWAYS"],
"PAGER_TEMPLATE" => $arParams["PAGER_TEMPLATE"],
"PAGER_DESC_NUMBERING" => $arParams["PAGER_DESC_NUMBERING"],
"PAGER_DESC_NUMBERING_CACHE_TIME" => $arParams["PAGER_DESC_NUMBERING_CACHE_TIME"],
"PAGER_SHOW_ALL" => $arParams["PAGER_SHOW_ALL"],
"OFFERS_CART_PROPERTIES" => $arParams["OFFERS_CART_PROPERTIES"],
"OFFERS_FIELD_CODE" => $arParams["LIST_OFFERS_FIELD_CODE"],
"OFFERS_PROPERTY_CODE" => $arParams["LIST_OFFERS_PROPERTY_CODE"],
"OFFERS_SORT_FIELD" => $arParams["OFFERS_SORT_FIELD"],
"OFFERS_SORT_ORDER" => $arParams["OFFERS_SORT_ORDER"],
"OFFERS_LIMIT" => $arParams["LIST_OFFERS_LIMIT"],
"SECTION_ID" => $arResult["VARIABLES"]["SECTION_ID"],
"SECTION_CODE" => $arResult["VARIABLES"]["SECTION_CODE"],
"SECTION_URL" => $arResult["FOLDER"].$arResult["URL_TEMPLATES"]["section"],
"DETAIL_URL" => $arResult["FOLDER"].$arResult["URL_TEMPLATES"]["element"],
),
$component
);
?>
//ORDER BY
$arSort = array(
"left_margin"=>"asc",
);
//ORDER BY
$arSort = array();
if (!empty($this->arParams['CUSTOM_SECTION_SORT']) && is_array($this->arParams['CUSTOM_SECTION_SORT']))
{
foreach ($this->arParams['CUSTOM_SECTION_SORT'] as $field => $value)
{
if (!is_string($value))
{
continue;
}
$field = strtoupper($field);
if (isset($arSort[$field]))
{
continue;
}
if (!preg_match('/^(asc|desc|nulls)(,asc|,desc|,nulls)?$/i', $value))
{
continue;
}
$arSort[$field] = $value;
}
unset($field, $value);
}
if (empty($arSort))
{
$arSort = array(
"LEFT_MARGIN" => "ASC",
);
}
$sectionListParams = array(
//.......
"CUSTOM_SECTION_SORT" => array("UF_SORT" => "ASC")
);
$city = GeoIp\Manager::getCityName('', 'ru');
"DISCOUNT_FOR_RECRUITMENT" => $arParams["DISCOUNT_FOR_RECRUITMENT"]
$eventManager = \Bitrix\Main\EventManager::getInstance();
$eventManager->addEventHandler('search', 'BeforeIndex', array('MySearch', 'BeforeIndex'));
class MySearch {
private static $catalogIblockId = 2;
private static $docsIblockId = 4;
const PROPERTY_DOCUMENTS = 'PROPERTY_FILE';
public static function BeforeIndex($arFields) {
if(intval($arFields['PARAM2']) == self::$catalogIblockId && intval($arFields['ITEM_ID']) > 0 && isset($arFields['BODY'])) {
\Bitrix\Main\Loader::includeModule('iblock');
$arDocsId = array();
$dbRes = CIBlockElement::GetList(array(), array('IBLOCK_ID' => $arFields['PARAM2'], 'ID' => $arFields['ITEM_ID']), false, false, array(self::PROPERTY_DOCUMENTS));
while($arRes = $dbRes->Fetch()) {
if($arRes[self::PROPERTY_DOCUMENTS.'_VALUE'])
$arDocsId[] = $arRes[self::PROPERTY_DOCUMENTS.'_VALUE'];
}
if($arDocsId) {
$dbRes = CIBlockElement::GetList(array(), array('IBLOCK_ID' => self::$docsIblockId, 'ID' => $arDocsId), false, false, array('NAME'));
while($arRes = $dbRes->Fetch()) {
$arFields['BODY'] .= PHP_EOL.$arRes['NAME'];
}
}
return $arFields;
}
}
}
$iblockId = 2;
$arElements = \Bitrix\Iblock\ElementTable::getList([
'select' => ['IBLOCK_ID', 'ID', 'NAME', 'SECTION.NAME'],
'filter' => ['IBLOCK_ID' => $iblockId, 'SECTION.NAME' => 'Мягкая мебель'],
'order' => [],
'runtime' => [
'SECTION' => [
'data_type' => '\Bitrix\Iblock\Section',
'reference' => ['this.IBLOCK_SECTION_ID' => 'ref.ID'],
'join_type' => 'LEFT'
]
]
])->fetchAll();
print_r($arElements);
\Bitrix\Main\Loader::includeModule('iblock');
\Bitrix\Main\Loader::includeModule('blog');
$iblockId = 2;
$arPostsId = $arElements = $arPosts = [];
$dbRes = \Bitrix\Iblock\PropertyTable::getList([
'select' => ['ID', 'CODE'],
'filter' => [
'=IBLOCK_ID' => $iblockId,
'=PROPERTY_TYPE' => \Bitrix\Iblock\PropertyTable::TYPE_NUMBER,
'=MULTIPLE' => 'N',
'=CODE' => [CIBlockPropertyTools::CODE_BLOG_POST]
]
]);
if($arRes = $dbRes->Fetch()) {
$propertyPostId = $arRes['ID'];
}
$dbRes = CIBlockElement::GetList(
[],
['=IBLOCK_ID' => $iblockId, '!PROPERTY_'.$propertyPostId => false],
false,
false,
['ID', 'NAME', 'DETAIL_PAGE_URL', 'PROPERTY_'.$propertyPostId]
);
while($arRes = $dbRes->GetNext()) {
$propertyPostValue = $arRes['PROPERTY_'.$propertyPostId.'_VALUE'];
$arPostsId[] = $propertyPostValue;
$arElements[$propertyPostValue] = $arRes;
}
$arPostsId = array_unique($arPostsId);
$dbRes = CBlogPost::GetList(
['ID' => 'DESC'],
['ID' => $arPostsId]
);
while($arRes = $dbRes->Fetch()) {
$arPosts[$arRes['ID']] = $arRes;
}
$dbRes = CBlogComment::GetList(
['ID' => 'DESC'],
['POST_ID' => $arPostsId]
);
while($arRes = $dbRes->Fetch()) {
$arPosts[$arRes['POST_ID']]['COMMENTS'][] = $arRes;
$arPosts[$arRes['POST_ID']]['ELEMENT'] = $arElements[$arRes['POST_ID']];
}
print_r($arPosts);
<?if(CSite::InDir('/catalog/index.php')):?>
// здесь будет вызов простого компонента из файла sections.php компонента catalog
<?else:?>
// здесь твой компонент catalog
<?endif;?>
<section class="smt-page-header" style="background-image: url(<?$APPLICATION->ShowProperty('SECTION_BACKGROUND');?>);">
тут блок с заголовком
</section>
$component = $this->getComponent();
$component->SetResultCacheKeys(array('PICTURE'));
$APPLICATION->SetPageProperty('SECTION_BACKGROUND', $arResult['PICTURE']['SRC']);
$arOrderProps = [];
$dbRes = \Bitrix\Sale\PropertyValue::getList([
'select' => ['CODE', 'VALUE'],
'filter' => ['=ORDER_ID' => 6, 'CODE' => ['FIO', 'PHONE']]
]);
while($arRes = $dbRes->fetch()) {
$arOrderProps[$arRes['CODE']] = $arRes['VALUE'];
}
print_r($arOrderProps);