//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);
$arFilter = Array(
"IBLOCK_ID" => 19,
"ACTIVE" => "Y",
"PROPERTY_<b>код свойства</b>" => $b
);