Объяснить работу компонентов и шаблонов bitrix, $arParams,$arResult
1 000 руб. за проект
<? use Bitrix\Iblock\Component\Tools;
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) die();
\Bitrix\Main\Loader::includeModule('iblock');
$arFilter = [
'IBLOCK_ID' => $arParams['IBLOCK_ID'],
'ACTIVE' => 'Y',
];
if ($arParams['SECTION_CODE']) {
$arFilter['CODE'] = $arParams['SECTION_CODE'];
} else {
$arFilter['ID'] = $arParams['SECTION_ID'];
}
$arResult['SECTION'] = IblockQuery::sections()
->filter($arFilter)
->sectionPageUrl($arParams['SECTION_URL'])
->execute()->first();
if (!$arResult['SECTION']) {
Tools::process404(
trim($arParams['MESSAGE_404']) ?: "Not found",
true,
'Y',
'Y',
""
);
}
$arResult['SECTIONS'] = [
$arResult['SECTION']
];
$parentId = $arResult['SECTION']['IBLOCK_SECTION_ID'];
while($parentId) {
$parent = IblockQuery::sections()
->filter(['ID' => $parentId])
->sectionPageUrl($arParams['SECTION_URL'])
->execute()->first();
$parentId = $parent['IBLOCK_SECTION_ID'];
$arResult['SECTIONS'][] = $parent;
}
$arResult['SECTIONS'] = array_reverse($arResult['SECTIONS']);
foreach ($arResult['SECTIONS'] as $parentSection) {
$APPLICATION->AddChainItem($parentSection['NAME'], $parentSection['SECTION_PAGE_URL']);
}
$arResult['SECTION_IDS'] = [
$arResult['SECTION']['ID'],
pre($arResult)
];
$arResult['ITEMS'] = IblockQuery::items()
->filter([
'IBLOCK_ID' => IblockService::getId('catalog'),
'ACTIVE' => 'Y',
'IBLOCK_SECTION_ID' => $arResult['SECTION_IDS'],
])
->select([
'ID',
'NAME',
'CODE',
'SORT',
'DEPTH_LEVEL',
'IBLOCK_SECTION_ID',
'DESCRIPTION'
])
->execute()->all();
$this->IncludeComponentTemplate();
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) die();
\Bitrix\Main\Loader::includeModule('iblock');
$arFilter = [
'IBLOCK_ID' => $arParams['IBLOCK_ID'],
'ACTIVE' => 'Y',
];
if ($arParams['SECTION_CODE']) {
$arFilter['CODE'] = $arParams['SECTION_CODE'];
} else {
$arFilter['ID'] = $arParams['SECTION_ID'];
}
$arResult['SECTION'] = IblockQuery::sections()
->filter($arFilter)
->sectionPageUrl($arParams['SECTION_URL'])
->execute()->first();
if (!$arResult['SECTION']) {
Tools::process404(
trim($arParams['MESSAGE_404']) ?: "Not found",
true,
'Y',
'Y',
""
);
}
$arResult['SECTIONS'] = [
$arResult['SECTION']
];
$parentId = $arResult['SECTION']['IBLOCK_SECTION_ID'];
while($parentId) {
$parent = IblockQuery::sections()
->filter(['ID' => $parentId])
->sectionPageUrl($arParams['SECTION_URL'])
->execute()->first();
$parentId = $parent['IBLOCK_SECTION_ID'];
$arResult['SECTIONS'][] = $parent;
}
$arResult['SECTIONS'] = array_reverse($arResult['SECTIONS']);
foreach ($arResult['SECTIONS'] as $parentSection) {
$APPLICATION->AddChainItem($parentSection['NAME'], $parentSection['SECTION_PAGE_URL']);
}
$arResult['SECTION_IDS'] = [
$arResult['SECTION']['ID'],
pre($arResult)
];
$arResult['ITEMS'] = IblockQuery::items()
->filter([
'IBLOCK_ID' => IblockService::getId('catalog'),
'ACTIVE' => 'Y',
'IBLOCK_SECTION_ID' => $arResult['SECTION_IDS'],
])
->select([
'ID',
'NAME',
'CODE',
'SORT',
'DEPTH_LEVEL',
'IBLOCK_SECTION_ID',
'DESCRIPTION'
])
->execute()->all();
$this->IncludeComponentTemplate();
В заказе есть исполнитель
При переводе заказа из архивного в актуальный, текущий исполнитель будет снят с задачи.
Выберите тип сделки
С безопасной сделкой вы всегда сможете вернуть средства, если что-то пойдет не так. С простой сделкой вы самостоятельно договариваетесь с исполнителем об оплате и берете на себя решение конфликтов.