Технические данные
- Опубликовано:
- 30.07.2019
- Обновлено:
- 09.04.2024
- Версия:
- 1.0.6
- Установлено:
- Менее 50 раз
- Подходящие редакции:
- «Малый бизнес», «Бизнес», «Интернет-магазин + CRM»
- Адаптивность:
- Да
- Поддержка Композита:
- Нет
- Совместимо с Сайты24
- Нет
- Совместимо с PHP 8.1
- Да
Пользовательское соглашение
Описание
Внимание! Покупка товара осуществляется в базовых единицах измерения (то есть в Корзине и Заказе товар будет лежать в единицах измерения, указанных в закладке Торговый каталог карточки товара)!
Внимание! Модуль и компоненты работают со штатными механизмами БУС добавления товаров в корзину! Если вы не уверены в том, на сколько сильно кастомизированы ваши текущие шаблоны компонентов, проконсультируйтесь предварительно в нашей техподдержке ДО ПОКУПКИ МОДУЛЯ!
1.0.6 (09.04.2024) | Исправление вывода свойства в списке элементов |
1.0.5 (11.10.2023) | Исправления и улучшения |
1.0.4 (15.09.2023) | Исправление пересчета коэффициентов не равных 1 |
1.0.3 (10.11.2022) | Изменения для решения Аспро:Next-интернет-магазин |
1.0.2 (22.04.2021) | Незначительные исправления |
1.0.1 (14.12.2019) | Добавлена поддержка решения Аспро:Next - интернет-магазин |
После установки модуля зайдите в инфоблок товаров и создайте новое свойство типа “Коэффициенты единиц измерения” (множественное, необязательное), обязательно задайте код свойства (например UNIT_KOEF).
Заполните созданное свойство для товаров (в карточке элемента). Если не хватает нужных единиц измерения, создайте их здесь http://ваш_сайт/bitrix/admin/cat_measure_list.php?lang=ru
В визуальном редакторе найдите новый компонент maxyss -> Дополнительные единицы измерения
Чтобы в публичной части сайта у товара появились новые единицы измерения, нужно кастомизировать шаблоны компонентов bitrix:catalog.item (или bitrix:catalog.section для более старых версий ) и bitrix:catalog.element. (Внимание! Модуль и компоненты работают со штатными механизмами БУС добавления товаров в корзину! Если вы не уверены в том, на сколько сильно кастомизированы ваши текущие шаблоны компонентов, проконсультируйтесь предварительно в нашей техподдержке до покупки модуля!)
Кастомизация шаблона bitrix:catalog.section (старые версии): (например /bitrix/templates/components/bitrix/имя_шаблона_сайта/catalog.section /имя_шаблона_компонента/template.php)
Найдите строку содержащую переменную c объектом JCCatalogItem (обычно это $obName)
Например,
var <? echo $strObName; ?> = new JCCatalogSection(<? echo CUtil::PhpToJSObject($arJSParams, false, true); ?>); |
После этой строки разместите вызов компонента :
$APPLICATION->IncludeComponent( "maxyss:measure_unit", "", Array( "BX_BASCKET_OBJ" => $strObName, "CACHE_TIME" => $arParams["CACHE_TIME"], "CACHE_TYPE" => $arParams["CACHE_TYPE"], "MAIN_MEASURE_UNIT" => $arItem["ITEM_MEASURE"]["TITLE"], "MEASURE_BLOCK_SELECTOR" => ".bx_catalog_item_controls_blockone", "MEASURE_INPUT_SELECTOR" => ".bx_col_input", "MEASURE_RESULT" => $arItem["PROPERTIES"]["UNIT_KOEF"] ), $component ); |
Где:
Селектор блока количества: MEASURE_BLOCK_SELECTOR
Селектор поля количества: MEASURE_INPUT_SELECTOR
Ключ массива $item со свойством коэффициентов единиц измерения: MEASURE_RESULT
Код свойства дополнительных единиц измерения: UNIT_KOEF
Базовая единица измерения из $actualItem: MAIN_MEASURE_UNIT
Параметры кэширования лучше взять из настроек компонента catalog.element $arParams["CACHE_TIME"] и $arParams["CACHE_TYPE"]
Кастомизация шаблона bitrix:catalog.item (новые версии): (например /bitrix/templates/components/bitrix/имя_шаблона_сайта/catalog. item /имя_шаблона_компонента/template.php)
Найдите строку, содержащую переменную c объектом JCCatalogItem (обычно это $obName)
Например,
var <?=$obName?> = new JCCatalogItem(<?=CUtil::PhpToJSObject($jsParams, false, true)?>); |
После этой строки (до строки unset($item, $actualItem, $minOffer, $itemIds, $jsParams)) разместите вызов компонента
$APPLICATION->IncludeComponent( "maxyss:measure_unit", "", Array( "BX_BASCKET_OBJ" => $obName, "CACHE_TIME" => $arParams["CACHE_TIME"], "CACHE_TYPE" => $arParams["CACHE_TYPE"], "MAIN_MEASURE_UNIT" => $actualItem["ITEM_MEASURE"]["TITLE"], "MEASURE_BLOCK_SELECTOR" => ".product-item-amount", "MEASURE_INPUT_SELECTOR" => ".product-item-amount-field", "MEASURE_RESULT" => $item["PROPERTIES"]["UNIT_KOEF"] ), $component ); |
Где:
Селектор блока количества: MEASURE_BLOCK_SELECTOR
Селектор поля количества: MEASURE_INPUT_SELECTOR
Ключ массива $item со свойством коэффициентов единиц измерения: MEASURE_RESULT
Код свойства дополнительных единиц измерения: UNIT_KOEF
Базовая единица измерения из $actualItem: MAIN_MEASURE_UNIT
Параметры кэширования лучше взять из настроек компонента catalog.element $arParams["CACHE_TIME"] и $arParams["CACHE_TYPE"]
Кастомизация шаблона bitrix:catalog.element: (например /bitrix/templates/components/bitrix/имя_шаблона_сайта/catalog.element/имя_шаблона_компонента/template.php)
Найдите строку содержащую переменную c объектом JCCatalogElement (обычно это $obName)
Например,
var <?=$obName?> = new JCCatalogElement(<?=CUtil::PhpToJSObject($jsParams, false, true)?>); |
После этой строки (до строки unset($actualItem, $itemIds, $jsParams)) разместите вызов компонента
<?$APPLICATION->IncludeComponent( "maxyss:measure_unit", "", Array( "BX_BASCKET_OBJ" => $obName, "CACHE_TIME" => $arParams["CACHE_TIME"], "CACHE_TYPE" => $arParams["CACHE_TYPE"], "MAIN_MEASURE_UNIT" => $actualItem["ITEM_MEASURE"]["TITLE"], "MEASURE_BLOCK_SELECTOR" => ".product-item-amount", "MEASURE_INPUT_SELECTOR" => ".product-item-amount-field", "MEASURE_RESULT" => $arResult["PROPERTIES"]["UNIT_KOEF"] ), $component );?> |
Где:
Селектор блока количества: MEASURE_BLOCK_SELECTOR
Селектор поля количества: MEASURE_INPUT_SELECTOR
Ключ массива $arResult со свойством коэффициентов единиц измерения: MEASURE_RESULT
Код свойства дополнительных единиц измерения: UNIT_KOEF
Базовая единица измерения из arResult: MAIN_MEASURE_UNIT
Параметры кэширования лучше взять из настроек компонента catalog.element $arParams["CACHE_TIME"] и $arParams["CACHE_TYPE"]
ДОБАВЛЕНА поддержка решения Аспро:Next - Интернет-магазин.
Пример вызова в шаблоне компонента списка товаров:
<?$APPLICATION->IncludeComponent( "maxyss:measure_unit", "aspro_list", Array( "BX_BASCKET_OBJ" => $arItemIDs, "CACHE_TIME" => "36000", "CACHE_TYPE" => "A", "MAIN_MEASURE_UNIT" => $arCurrentSKU[MEASURE], "MEASURE_BLOCK_SELECTOR" => '#'.$arItemIDs["strMainID"], "MEASURE_INPUT_SELECTOR" => ".counter_block .text", "MEASURE_RESULT" => $arItem["PROPERTIES"]["PROP_UNITS"], "ASPRO_MEASURE" => 'Y', ) );?> |
Пример вызова в шаблоне карточки товара (расположить в конце):
<?$APPLICATION->IncludeComponent( "maxyss:measure_unit", "aspro_element", Array( "BX_BASCKET_OBJ" => $arItemIDs["strObName"], "CACHE_TIME" => "36000", "CACHE_TYPE" => "A", "MAIN_MEASURE_UNIT" => $actualItem["ITEM_MEASURE"]["TITLE"], "MEASURE_BLOCK_SELECTOR" => ".counter_block", "MEASURE_INPUT_SELECTOR" => ".counter_block .text", "MEASURE_RESULT" => $arResult["PROPERTIES"]["PROP_UNITS"], "ASPRO_MEASURE" => 'Y', ) );?> |