1С-Битрикс
- 99 ответов
- 0 вопросов
42
Вклад в тег
use Bitrix\Main\Application;
use Bitrix\Highloadblock\HighloadBlockTable;
use Bitrix\Main\Loader;
Loader::includeModule('highloadblock');
Loader::includeModule('iblock');
$hlBlockId = 2;
$hlblock = HighloadBlockTable::getById($hlBlockId)->fetch();
/** @var \Bitrix\Main\Entity\Base $entity */
$entity = HighloadBlockTable::compileEntity($hlblock);
/** @var \Bitrix\Main\Entity\DataManager $dataClass */
$dataClass = $entity->getDataClass();
Application::getConnection()->startTracker();
$result = $dataClass::getList([
'select' => array(
'UF_ELEMENT_ID',
'NAME' => 'ELEMENT.NAME',
'CODE' => 'ELEMENT.CODE',
'DETAIL_PICTURE' => 'ELEMENT.DETAIL_PICTURE',
),
'runtime' => array(
'ELEMENT' => array(
'data_type' => '\Bitrix\Iblock\ElementTable',
'reference' => array(
'=this.UF_ELEMENT_ID' => 'ref.ID'
),
'join_type' => 'inner'
),
),
'limit' => 10,
]);
// Можно смотреть сформированный запрос
echo '<pre>', $result->getTrackerQuery()->getSql(), '</pre>';
while ($row = $result->fetch()) {
echo '<pre>';print_r($row);echo '</pre>';
}
//<?php
$productId = -1;
if (!\Bitrix\Main\Loader::includeModule('catalog')) {
throw new \Bitrix\Main\SystemException('Ошибка подключения модуля "catalog"');
}
$addResult = Add2BasketByProductID(
$productId,
1,
[
'LID' => 's1',
],
[]
);
if (!$addResult) {
$strError = '';
/** @global $APPLICATION $ex */
if ($ex = $APPLICATION->GetException()) {
$strError = $ex->GetString();
}
echo sprintf('Ошибка добавления товара %s в корзину: %s', $productId, $strError);
} else {
echo sprintf('Товар %s успешно добавлен в корзину', $productId);
}
[Y|N] При отмеченной опции будет отображаться страница оформления заказа, даже если корзина пуста. В случае неотмеченной опции и пустой корзины будет выполняться переадресация на страницу с корзиной пользователя.
<?php $APPLICATION->ShowViewContent('var-x') ?>
$arResult['VAR_X'] = $x;
// some code
$this->__component->setResultCacheKeys(array('VAR_X'));
$APPLICATION->AddViewContent('var-x', $arResult['VAR_X']);