services:
_defaults:
autowire: true
autoconfigure: true
bind:
App\Repository\Repository $cachedRepository: '@App\Repository\User\CachedUserRepository'
App\Repository\Repository: '@App\Repository\User\DoctrineUserRepository'
App\Entity\UniqueEntityInterface: '@App\Entity\User'
user_exists_checker:
class: App\ExistsChecker
bind:
App\Repository\Repository: '@App\Repository\User\ApiUserRepository'
user_exists_checker:
class: App\ExistsChecker
bind:
App\Repository\Repository: '@App\Repository\User\ApiUserRepository'
_defaults:
autowire: true
autoconfigure: true
bind:
App\Repository\Repository $cachedRepository: '@App\Repository\User\CachedUserRepository'
App\Repository\Repository $repository
будете использовать App\Repository\Repository $cachedRepository
, то вам придет App\Repository\User\CachedUserRepository
$obItem = $obBasket->getExistsItem('catalog', $productId, [
0 => ['CODE' => 'PROP1', 'VALUE' => 'electron'],
//......
]);
$obItem = $obBasket->getExistsItem('catalog', $productId, [
0 => ['CODE' => 'ARTNUMBER', 'VALUE' => '235-81-03'],
1 => ['CODE' => 'COLOR_REF', 'VALUE' => 'Черный'],
2 => ['CODE' => 'SIZES_CLOTHES', 'VALUE' => 'XS'],
3 => ['CODE' => 'CATALOG.XML_ID', 'VALUE' => 'clothes_offers_s1'],
4 => ['CODE' => 'PRODUCT.XML_ID', 'VALUE' => '332#337'],
]);
\Bitrix\Main\Loader::includeModule('sale');
$siteId = 's1';
$fUserId = \Bitrix\Sale\FUser::getId();
$productId = 139;
$productByBasketItem = null;
$bProductInBasket = false;
$basket = \Bitrix\Sale\Basket::loadItemsForFUser($fUserId, $siteId);
$basketItems = $basket->getBasketItems();
if($basketItems) {
foreach($basketItems as $basketItem) {
if($basketItem->getField('PRODUCT_ID') == $productId) {
$productByBasketItem = $basketItem;
$bProductInBasket = true;
break;
}
}
}
var_dump($bProductInBasket);
var_dump($productByBasketItem);
Почитал посты, говорят - нужно прописать некую функцию в init.php
AddEventHandler('main', 'OnEpilog', '_Check404Error', 1); // Вешаем обработчик на окончание рендера
function _Check404Error() {
if (((defined('ERROR_404') && ERROR_404 == 'Y') || preg_match('~404~ius', CHTTP::GetLastStatus())) && !defined('ADMIN_SECTION')) { // смотрим - пришел ли штатный define или в отправляемом статусе есть 404 - то закрываем буфферы и инклюдим 404 из корня сайта
global $APPLICATION;
$APPLICATION->RestartBuffer();
$APPLICATION->AddChainItem("404");
include $_SERVER['DOCUMENT_ROOT'] . SITE_TEMPLATE_PATH . '/header.php';
include $_SERVER['DOCUMENT_ROOT'] . '/404.php';
include $_SERVER['DOCUMENT_ROOT'] . SITE_TEMPLATE_PATH . '/footer.php';
}
}
<?
$arFilter = array(
"IBLOCK_ID" => $arParams["IBLOCK_ID"],
"ACTIVE" => "Y",
"GLOBAL_ACTIVE" => "Y",
);
if (0 < intval($arResult["VARIABLES"]["SECTION_ID"])) {
$arFilter["ID"] = $arResult["VARIABLES"]["SECTION_ID"];
}
elseif ('' != $arResult["VARIABLES"]["SECTION_CODE"]) {
$arFilter["=CODE"] = $arResult["VARIABLES"]["SECTION_CODE"];
}
$obCache = new CPHPCache();
if ($obCache->InitCache(36000, serialize($arFilter), "/iblock/catalog")) {
$arCurSection = $obCache->GetVars();
} elseif ($obCache->StartDataCache()) {
$arCurSection = array();
if (Loader::includeModule("iblock")) {
$dbRes = CIBlockSection::GetList(array(), $arFilter, false, array("ID"));
if(defined("BX_COMP_MANAGED_CACHE")) {
global $CACHE_MANAGER;
$CACHE_MANAGER->StartTagCache("/iblock/catalog");
if ($arCurSection = $dbRes->Fetch()) {
$CACHE_MANAGER->RegisterTag("iblock_id_".$arParams["IBLOCK_ID"]);
}
$CACHE_MANAGER->EndTagCache();
} else {
if(!$arCurSection = $dbRes->Fetch()) {
$arCurSection = array();
}
}
}
$obCache->EndDataCache($arCurSection);
}
if (!isset($arCurSection)) {
$arCurSection = array();
}
$APPLICATION->IncludeComponent(
"bitrix:catalog.smart.filter",
".default",
array(
"PREFILTER_NAME" => $arParams["FILTER_NAME"],
"IBLOCK_TYPE" => $arParams["IBLOCK_TYPE"],
"IBLOCK_ID" => $arParams["IBLOCK_ID"],
"SECTION_ID" => '0',
"FILTER_NAME" => $arParams["FILTER_NAME"],
"PRICE_CODE" => $arParams["PRICE_CODE"],
"CACHE_TYPE" => $arParams["CACHE_TYPE"],
"CACHE_TIME" => $arParams["CACHE_TIME"],
"CACHE_GROUPS" => $arParams["CACHE_GROUPS"],
"SAVE_IN_SESSION" => "N",
"FILTER_VIEW_MODE" => $arParams["FILTER_VIEW_MODE"],
"XML_EXPORT" => "Y",
"SECTION_TITLE" => "NAME",
"SECTION_DESCRIPTION" => "DESCRIPTION",
'HIDE_NOT_AVAILABLE' => $arParams["HIDE_NOT_AVAILABLE"],
"TEMPLATE_THEME" => $arParams["TEMPLATE_THEME"],
'CONVERT_CURRENCY' => $arParams['CONVERT_CURRENCY'],
'CURRENCY_ID' => $arParams['CURRENCY_ID'],
"SEF_MODE" => $arParams["SEF_MODE"],
"PAGER_PARAMS_NAME" => $arParams["PAGER_PARAMS_NAME"],
"SEF_RULE" => '/catalog/filter/#SMART_FILTER_PATH#/apply/',
"SMART_FILTER_PATH" => $arResult["VARIABLES"]["SMART_FILTER_PATH"],
'SHOW_ALL_WO_SECTION'=>'Y',
),
$component,
array('HIDE_ICONS' => 'Y')
);
?>