Category : bitrix рецепты

Home » Bitrix » Archive by category : bitrix рецепты (paged 2)

Выполнение отложенной функции в component_epilog Формируется: //$this->initComponentTemplate(); // наблюдались проблемы //$this->__template->SetViewTarget(«catalog_position»); или $this->__template->SetViewTarget(‘SIMPLE_ORDER’); … $this->__template->EndViewTarget(); Вставляется: $APPLICATION->ShowViewContent(..

Read more

Ниже описан код для 2ух новых функций шаблонов: {=path parent.Name this.Name} — конкатенцация заголовков родительской категории и открытой. Если открыта категория 1ого уровня, то родительская (имя каталога) игнорируется {=counts this.Code parent.Name this.Name} — подсчитывается кол-во товаров в категории this.Code, выводится называние parent.Name с правильным окончанием относительно кол-ва товаров (-а, -ов), затем название дочерней категории. Если ..

Read more

1. добавить в конце файла class.php // usovdm perfomance fix CModule::IncludeModule(«iblock»); class SmartFilterCIBlockElement extends CIBlockElement { public static function GetPropertyValues($IBLOCK_ID, $arElementFilter) { global $DB; $IBLOCK_ID = intval($IBLOCK_ID); $VERSION = CIBlockElement::GetIBVersion($IBLOCK_ID); $arElementFilter[«IBLOCK_ID»] = $IBLOCK_ID; $element = new CIBlockElement; $element->strField = «ID»; $element->GetList(array(), $arElementFilter, false, false, array(«ID»)); $q = ‘SELECT DISTINCT `PROPERTY_ID` FROM `b_iblock_section_property` WHERE `SMART_FILTER` = ..

Read more

== Добавление данных о заказе в письмо оформления заказа == 1. Добавить обработку события при оформлении заказа AddEventHandler(«sale», «OnOrderNewSendEmail», Array(«CSaleOrderHandler», «OnOrderNewSendEmailHandler»)); class CSaleOrderHandler { function OnOrderNewSendEmailHandler($ID,&$type,&$arFields){ $arOrder = CSaleOrder::GetById($ID); $db = CSaleOrderPropsValue::GetOrderProps($ID); while($v = $db->GetNext()){ $arOrder[‘PROPS’][$v[‘CODE’]] = array( ‘ID’ => $v[‘ID’], ‘CODE’ => $v[‘CODE’], ‘NAME’ => $v[‘NAME’], ‘VALUE’ => $v[‘VALUE’] ); } $arOrder[‘PAY_SYSTEM’] = CSalePaySystem::GetByID($arOrder[«PAY_SYSTEM_ID»], ..

Read more

Для выполнения отложенной функции вне шаблона какого-то компонента, нужно использовать функцию в нужном месте вывода в header.php. $APPLICATION->AddBufferContent(‘getFullWidth’); // где getFullWidth — функция Сама функция объявляется также в header.php function getFullWidth(){ global $APPLICATION; if(!empty($APPLICATION->usr[‘fullwidth’])){ return ‘ class=»fullwidth»‘; } } А в нужном месте, например перед вызовом комплексного компонента каталога: $APPLICATION->usr[‘fullwi..

Read more

Чтобы в процессе импорта добавить базовую цену, необходимо сначала создать для элемента инфоблока связь с БД каталога: CCatalogProduct::Add(array(‘ID’ => $arItem[‘ID’])); CPrice::SetBasePrice($arItem[‘ID’],$arItem[‘PROPERTIES’][‘PRICE’][‘VALUE..

Read more

bitrix:catalog > section.php $arLimits = array(’10’,’20’,’50’); // вынести глобально if(!empty($_REQUEST[‘limit’]) && in_array($_REQUEST[‘limit’], $arLimits)){ $arParams[«PAGE_ELEMENT_COUNT»] = $_REQUEST[‘limit’]; } bitrix:catalog > bitrix > catalog.section > template.php func(array(‘limit’=>15)){ } implode_with_keys(‘..

Read more