В CS-Cart по умолчанию нет возможности работы с дробными значениями остатков товаров, это вызывает большие неудобства для владельцев магазинов продуктов, стройматериалов, типографии. Любой продукции где надо оперировать дробными значениями.
Еще одна проблема - это продажа товара упаковками, вы можете задать шаг количества товара, но не будет понятно сколько при этом упаковок получит клиент. Или вы продаете товар упаковками, но учитываете его на складе в штуках, либо в весе(кг, г, т) или объеме(м3, л3) Наш модуль решает сразу 2 проблемы и позволяет продавать товары дробными частями и упаковками
![Image](images/ms_notion/csc_fractional_stock/desc_ru_3.png)
Вы можете гибко настраивать модуль для каждого товара индивидуально или для всего магазина в целом, либо добавить исключения.
Модуль поддерживает отображения единицы измерения количества товара, настройку шага для выбора количества, минимального и максимального количество товара для заказа. Он решает проблемы отображения доступных товаров на сайте и упрощает процесс продажи.
![Image](images/ms_notion/csc_fractional_stock/desc_ru_1.png)
Продажа товара упаковками теперь настраивается очень гибко и понятно как для владельца магазина, так и для клиента. Вы можете:
- Продавать только упаковками и отображать упаковки;
- Продавать упаковками и показывать сколько единиц товара получит клиент;
- Продавать штуками и показывать и давать добавлять товар в корзину упаковками.
При этом учитывать товар вы будете поштучно (целыми числами или дробями) и настраивать это можно индивидуально для каждого товара.
![Image](images/ms_notion/csc_fractional_stock/desc_ru_2.png)
Особенности модуля
- Продажа товаров дробными единицами;
- Совместимость с CommerceML;
- Установка единицы измерения количества товаров. Как глобально, так и локально;
- Отключение дробного остатка для единиц введенных в исключения;
- Установка шага выбора количества товаров для заказа;
- Установка минимального и максимального значения для заказа;
- Настраиваемое отображение для продажи упаковками;
- Настраиваемое отображение количества в корзине;
- Совместим с шаблонами Unitheme и Youpi.
- Store Builder
- Store Builder Ultimate
- Multi-Vendor
- Multi-Vendor Plus
- Multi-Vendor Ultimate
- Вендорам
- Владельцам
- Покупателям
- English
- Русский
- 4.17.X
- 4.16.X
- 4.15.X
- 4.14.X
- 4.13.X
- 4.12.X
Установка
После скачивания модуля, его установка производится штатными средствами CS-Cart на странице Панель администратора → Модули → Управление модулями → Загрузить и установить модуль (+).
Для версии CS-Cart 4.13.1 и выше Панель администратора → Модули → Управление модулями → Кнопка Шестеренка → Ручная установка.
![Image](images/ms_notion/csc_fractional_stock/ru_set0.png)
Установка хуков
Для корректной работы требуется установить хуки по инструкции. Информация собрана во вкладке модуля Информация.
Данная операция по добавлению хуков актуальна для текущей версии модуля v.2.5.13 и более поздних, в будущих версиях возможно данная операция уже не понадобиться.
![Image](images/ms_notion/csc_fractional_stock/inst_ru_1.png)
Для отображения количество товара в корзине, необходимо добавить 3 хука в файл “fn.cart.php”:
- Откройте файл fn.cart.php (файл будет находиться по пути: app/functions/fn.cart.php);
- В открывшемся файле найдите строку с кодом (ориентировочно между строк 6057-6062):
- После найденной строчкой вставьте код:
- В результате у вас должно получится следующее:
- Далее в файле найдите строку с кодом (ориентировочно между строк 6522-6524):
- После найденной строчкой вставьте код:
- В результате у вас должно получится следующее:
- Далее в файле найдите строку с кодом (ориентировочно между строк 9340-9342):
- После найденной строчкой вставьте код:
- В результате у вас должно получится следующее:
- Сохраните изменения в файле;
- Очистить кэш:
- В админ панели выберите Администрирование → Хранилище данных → Очистить кэш.
if (!empty($product['qty_step']) && $product['qty_step'] > $min_qty) {
$min_qty = $product['qty_step'];
fn_set_hook('check_amount_in_stock_min_qty', $product, $min_qty, $product_id);
if (!empty($product['qty_step']) && $product['qty_step'] > $min_qty) {
$min_qty = $product['qty_step'];
}
fn_set_hook('check_amount_in_stock_min_qty', $product, $min_qty, $product_id);
$cart_amount_changed = false;
![Image](images/ms_notion/csc_fractional_stock/inst_ru_2.png)
$amount = fn_normalize_amount(@$data['amount']);
fn_set_hook('add_product_to_cart_post_normalize_ammount', $product_id, $amount, $data);
$amount = fn_normalize_amount(@$data['amount']);
fn_set_hook('add_product_to_cart_post_normalize_ammount', $product_id, $amount, $data);
if (!isset($data['extra']['exclude_from_calculate'])) {
![Image](images/ms_notion/csc_fractional_stock/inst_ru_3.png)
$amount = fn_normalize_amount($v['amount']);
fn_set_hook('update_cart_products_normalize_amount_post', $amount, $v);
$amount = fn_normalize_amount($v['amount']);
fn_set_hook('update_cart_products_normalize_amount_post', $amount, $v);
$v['extra'] = empty($cart['products'][$k]['extra']) ? array() : $cart['products'][$k]['extra'];
![Image](images/ms_notion/csc_fractional_stock/inst_ru_4.png)
![Image](images/ms_notion/csc_fractional_stock/inst_ru_5.png)
Для работы с commerceml, необходимо добавить хук в файл “OrderConvertor.php”:
- Откройте файл OrderConvertor.php (файл будет находиться по пути: app/addons/commerceml/src/Convertors/OrderConvertor.php);
- В открывшемся файле найдите строку с кодом (ориентировочно между строк 44-46):
- После найденной строчкой вставьте код:
- В результате у вас должно получится следующее:
- Сохраните изменения в файле;
- Очистить кэш:
- В админ панели выберите Администрирование → Хранилище данных → Очистить кэш.
$order->id->external_id = $element->getAsString('id');
fn_set_hook('commerceml_order_convertor_convert_pre', $element, $import_storage, $order);
$order->id->external_id = $element->getAsString('id');
fn_set_hook('commerceml_order_convertor_convert_pre', $element, $import_storage, $order);
foreach ($element->get('products/product', []) as $item) {
![Image](images/ms_notion/csc_fractional_stock/inst_ru_6.png)
![Image](images/ms_notion/csc_fractional_stock/inst_ru_5.png)
Настройка
Настройка модуля (Глобальные настройки)
Перейдите в раздел Модули → Скачанные модули → Дробный остаток → Вкладка Настройки
Основные настройки:
На вкладке настройки поделены на 3 раздела, Глобальные настройки для товаров, Глобальные настройки для упаковок, Настройки корзины.
Применение этих настроек влияет сразу на все товары магазина, если не заданы локальные настройки у товара (об этом ниже).
Глобальные настройки для товаров
Использовать дробный остаток - Включение данной функции позволит редактировать поле: Единица измерения количества.
ПримерНапример в магазине продающий кабеля присутствуют товары продающейся только в метрах, в этом случае в настройках модуля можно включить использование дробного остатка и задать единицу измерения количества, метр. В результате у всех товаров (если локально у товара не выбрано другая настройка/выключено использование дробного остатка) будет отображаться единица измерения количества указанная в глобальных настройках модуля.
![Image](images/ms_notion/csc_fractional_stock/b1ad297404dd2f0f102254c6c2d409d1-picture.png)
Глобальные настройки для упаковок
Товар продаётся:
- Поштучно - товары продаются штуками, все товары (если локально у товара не выбрано другая настройка/включено продажа упаковками) будут продаваться в штучном или аналогичном виде;
- Упаковками - товары продаются упаковками, можно задать:
- Количество товара в упаковке - Шаг изменения количества товара, который будет применяться к товарам продающимся упаковками;
![Image](images/ms_notion/csc_fractional_stock/b7b2d66df2697aa32c40be4c1a7e92de-picture.png)
Варианты отображения выбора количества товара:
- Показывать количество упаковок - Отображать в карточке товара и каталоге только счетчик с количеством упаковок;
- Показывать количество товара и упаковок - Отображать в карточке товара и каталоге счетчик с количеством упаковок и количеством товаров в упаковке. Пример
- Количество позиций - сколько видов товара лежит в корзине;
- Количество единиц - сколько всего единиц товара лежит в корзине;
- Не отображать.
- Отображать единицы измерения в предложениях продавцов
- Отображать все способы продажи на странице категорий
- Глобальные настройки:
- Для товара будет использоваться единица измерения количества из глобальных настроек модуля;
- Для товара можно можно задать:
- Шаг списка выбора количества;
- Минимальное количество товара для заказа;
- Максимальное количество для покупки одного товара.
- Да:
- Для товара принудительно будет использоваться дробный остаток;
- Для товара можно можно задать:
- Единица измерения количества;
- Шаг списка выбора количества;
- Минимальное количество товара для заказа;
- Максимальное количество для покупки одного товара.
- Нет:
- Для товара принудительно будет выключен дробный остаток;
- Для товара можно можно задать:
- Единица измерения количества.
- Глобальные настройки:
- Для товара будут использоваться глобальные настройки для упаковок;
- Для товара не доступны к редактированию поля:
- Количество товара в упаковке;
- Варианты отображения выбора количества товара;
- Да:
- Для товара можно задать количество товара в упаковке;
- Для товара можно выбрать варианты отображения выбора количества товара;
- Нет:
- Товар продается штуками, глобальные настройки не влияют на товар, локальные поля недоступны для редактирования.
![Image](images/ms_notion/csc_fractional_stock/14bd53c6b30b59dc26eea3040ba19d5e-picture.png)
Например в магазине по продаже продуктов оптом присутствует товар: ящик молока. Данный товар необходимо продавать упаковками и демонстрировать, что в 1 упаковке 12 пакетов молока. Для этого в настройках модуля необходимо выбрать: - Товар продаётся: Упаковками; - Количество товара в упаковке: 12; - Варианты отображения выбора количества товара: Показывать количество товара и упаковок.
![Image](images/ms_notion/csc_fractional_stock/22b53113cac8e6f74b6b8f054cbd24de-picture.png)
Настройки корзины
Режим отображения количества на иконке корзины - Позволяет выбрать вариант отображения на иконке корзины:
![Image](images/ms_notion/csc_fractional_stock/8d8460a09cc4404b5940d7f070d18177-picture.png)
![Image](images/ms_notion/csc_fractional_stock/91b06f0c8c2c9f30719fb6a38b05aaec-picture.png)
![Image](images/ms_notion/csc_fractional_stock/8d4dd5c7224203d82baeb2a08700f85b-picture.png)
В настройках модуля в вкладке Отображение представлены настройки отвечающие за отображение единиц измерения и способов продажи на витрине.
![Image](images/ms_notion/csc_fractional_stock/inst_ru_7.png)
При включении данной функции на витрине, в предложениях продавцом будет отображаться единица измерения товара заданная в глобальных настройках модуля или локальных настройках товара.
![Image](images/ms_notion/csc_fractional_stock/inst_ru_8.png)
Эта и все последующие настройки отвечают за отображение всех способ продажи на страницах и блоках по выбору.
![Image](images/ms_notion/csc_fractional_stock/inst_ru_9.png)
К примеру вы не хотите перегружать информацией клиента на странице отложенных товаров и блоке товаров. В этом случае снимаются галочки с нужный пунктов и на витрине на этих страницах и блоках будет отображаться только стандартный счетчик добавления товара в корзину, вместо расширенного с отображением упаковок и значений шага в упаковке.
Вид с включенной настройкой Отображать все способы продажи в блоке товаров:
![Image](images/ms_notion/csc_fractional_stock/17abec8c57913f8f47105d2b69202279-picture.png)
Вид с выключенной настройкой Отображать все способы продажи в блоке товаров:
![Image](images/ms_notion/csc_fractional_stock/4a5b9251d951fb98a6776aab20ce37a9-picture.png)
Вид с включенной настройкой Отображать все способы продажи на странице отложенные товары:
![Image](images/ms_notion/csc_fractional_stock/8578a23b6df999b98b931610d90bf8c6-picture.png)
Вид с выключенной настройкой Отображать все способы продажи на странице отложенные товары:
![Image](images/ms_notion/csc_fractional_stock/52f6d6791c0ce771dc77a84bf2efc1fb-picture.png)
В настройках модуля во вкладке Информация отображается инструкция по добавлению хуков, описанная в начале данной инструкции.
Настройка модуля (Локальные настройки)
Перейдите в раздел Товары → Товары → Откройте товар для настройки дробного остатка → Перейдите во вкладку Модули → Найдите блок MS: Дробный остаток.
![Image](images/ms_notion/csc_fractional_stock/inst_ru_10.png)
Настройки для товаров
Использовать дробный остаток
В магазине по продаже кондитерских товаров необходимо продавать товар миндальные лепестки, минимальный заказ от 500 гр. шаг увеличения по 100 гр. и максимальное количество товара для заказа 2000 гр. В этом случае в настройках модуля задается Единица измерения количества и включается Использование дробного остатка:
![Image](images/ms_notion/csc_fractional_stock/inst_ru_17.png)
В настройках товара заполняются следующие поля:
![Image](images/ms_notion/csc_fractional_stock/inst_ru_18.png)
В результате карточка будет выглядеть так:
![Image](images/ms_notion/csc_fractional_stock/inst_ru_19.png)
Например в магазине по продаже мебели есть товар саморезы, продаваемые в граммах, с шагом в 50 гр. минимальным заказом от 200 гр. и максимальным до 5000 р. В этом случае в настройках модуля Использование дробного остатка выключено:
![Image](images/ms_notion/csc_fractional_stock/inst_ru_20.png)
В настройках товара заполняются следующие поля:
![Image](images/ms_notion/csc_fractional_stock/inst_ru_21.png)
В результате карточка будет выглядеть так:
![Image](images/ms_notion/csc_fractional_stock/inst_ru_22.png)
Например в магазине по продаже напитков можно задать единицы измерения бутылка, банка, пакет и т.п. для каждого товара:
![Image](images/ms_notion/csc_fractional_stock/inst_ru_23.png)
Настройки для упаковок
Товар продаётся упаковками
Например магазин по продаже напитков оптом, предлагает клиентам только упаковки по 6 бутылок. В этом случае настройки модуля будут выглядеть так:
![Image](images/ms_notion/csc_fractional_stock/inst_ru_24.png)
Локально для товаров надо выбрать:
Использовать дробный остаток: Глобальные настройки Товар продаётся упаковками: Глобальные настройки
В результате карточка будет выглядеть так:
![Image](images/ms_notion/csc_fractional_stock/inst_ru_25.png)
![Image](images/ms_notion/csc_fractional_stock/inst_ru_26.png)
Массовое редактирование
Через обновление товаров в CS-Cart:
- Открыть раздел Товары → Товары;
- Выберите необходимые товары;
- Нажмите Редактировать выбранные;
- Выбрать поля для редактирования;
- Нажать Редактировать выбранные;
- Ввести новые значения для выбранных полей; Значение global - Глобальные настройки Y - Да N - Нет
- Нажать Сохранить.
![Image](images/ms_notion/csc_fractional_stock/inst_ru_12.png)
![Image](images/ms_notion/csc_fractional_stock/inst_ru_15.png)
![Image](images/ms_notion/csc_fractional_stock/inst_ru_16.png)
Через экспорт импорт товаров:
- Открыть раздел Администрирование → Экспорт данных → Товары;
- Переместить из списка доступных полей в экспортируемые поля следующие поля: MS:Allow Fractional Amount MS:Product Amount Step MS:Product minimum order quantity MS:Product maximum order quantity MS:Product Amount Postfix MS:Product Sale Type MS:Show Sale Types Данные поля отобразятся в табличном файле для редактирование настроек дробного остатка
- Нажать Экспорт;
- В табличном файле внести необходимые изменения и сохранить;
- Открыть раздел Администрирование → Импорт данных → Товары;
- Нажать кнопку +;
- Выбрать табличный файл;
- Перейти на следующий шаг Сопоставление полей;
- Сопоставить поля как изображено ниже:
- Нажать Импорт.
![Image](images/ms_notion/csc_fractional_stock/inst_ru_13.png)
![Image](images/ms_notion/csc_fractional_stock/inst_ru_14.png)
[+] Добавлены настройки в модуле и у товара для управления использования цены (единицы/упаковки)
v2.7.1 от 30.01.2024
[!] Удален дублирующий код, нарушавший добавление в корзину дробного остатка при работе со складами
v2.7.0 от 19.01.2024
[+] Добавлена возможность работы с модулем "Склады"
[*] Исправлено отображение изображения товара на странице детального просмотра заказа на витрине
[*] Подправлены стили
[*] Если товар продается упаковками, то при оформлении заказа количество будет вычитаться в единицах товара, а не в упаковках
[*] Изменен механизм вычитания количества на складах при продаже товара упаковками и включенном режиме отображения "Показывать количество товара и упаковок" товар будет списываться количеством выбранных штук
[*] Изменен механизм вычитания количества на складах при продаже товара упаковками и включенном режиме отображения "Показывать количество упаковок" товар будет списываться: количество упаковок, умноженное на количество штук в упаковке
[*] При продаже товара упаковками и включенном режиме отображения "Показывать количество упаковок" в поле ввода количества упаковок можно ввести только целые исла
v2.6.0 от 10.01.2024
[*] Изменена структура во вкладке Настройки->Информация
[+] Добавлена передача дробных остатков через обмен commerceml
[-] Удалены исключения для единиц измерений
[+] Добавлена передача дробных остатков товаров в заказе через обмен commerceml
[+] Запросы в базу данных из файла addon.xml перенесены в файл func.php для корректной проверки перед выполнением запросов
[*] Изменены стили
[+] Добавлены языковые переменные
[+] Добавлены настройки для управления "Способ изменения количества товаров"
[*] Переименованы настройки "Шаг списка выбора количества" в "Шаг изменения количества товара"
[*] Исправлено увеличение количества упаковок
v2.5.14 23.11.2023
[!] Экспорт/импорт поля "Единица измерения количества"
v2.5.13 14.11.2023
[-] Удаление закомментированного кода
[!] Корректировка поля MS: "Минимальное количество товара для заказа"
[!] Перевод поля "Единица измерения количества"
[!] Корректное отображение в карточке товара
[*] Актуальные номера строк для добавления хуков модуля
[+] Добавлена информация о добавлении хуков модуля
[!] Добавлены виды отображения количества товара на иконке корзины
[!] Отображение дробного значения в корзине
[!] Отображение счетчика количества товаров в карточке товаров
[+] Стандартизация модуля
v2.5.12 от 23.10.2023
[!] Правильный подсчет упаковок на странице корзины
[!] Доступность сервиса на странице заказа в административной панели
[!] Поле "Единица измерения количества" в настройках продукта изменено на тип "float"
[!] Поля, связанные с выбором количества, сохраняют только положительное значения
[!] В поле MS: "Минимальное количество товара для заказа" доступен только ввод цифровых значений
[*] Стандартизация языковых переменных
v2.5.11 от 16.10.2023
[*] Изменены короткие теги на обычные
[*] Переработаны настройки модуля
v2.5.10 от 18.07.2023
[!] Корректное отображение в карточке товара
[!] Загрузка иконки
[!] Поле "Шаг количества товара", сохраняет только положительное значения
[!] Корректное отображение названия единиц на страницах товары по акции, новинки, хиты продаж и результат поиска
[!] Отображение единиц измерения на странице отложенные
v2.5.9 от 25.06.2023
[+] Стандартизация модуля
v2.5.8 от 12.06.2023
[+] Стандартизация модуля
v2.5.7 от 08.06.2023
[*] Подправлен стиль в блоке "Хиты продаж" если он открывается в карточке товара
v2.5.6 от 05.06.2023
[+] Добавлена настройка отображения дробного остатка в импорт и экспорт товаров
[+] Добавлены настройки и регулировка отображения всех способов продаж на разных страницах
[+] Добавлена настройка для отображения единицы измерения в блоке предложений от продавцов в карточке товара
[!] Исправлена ошибка, которая ломает страницу просмотра категории
v2.5.5 от 20.05.2023
[+] Добавлена настройка отображения дробного остатка в карточке товара на странице редактирования товара в админке
v2.5.4 от 16.05.2023
[*] Мелкие правки в шаблоне qty.override.tpl
v2.5.3 от 16.05.2023
[!] Исправлена ошибка при добавлении товара в корзину при работающем модуле "Общие товары продавцов"
v2.5.2 от 15.05.2023
[*] Лицензирование
v2.5.1 от 10.05.2023
[!] Исправлен импорт поля product_amount_postfix
v2.9.2 (скоро)
[*] Подправлены стили
v2.9.1 от 28.03.2024
[*] Стандартизация языковых переменных
[*] Подправлены стили у unitheme2
[+] Добавлены шаблоны и стили для youpitheme
[+] Добавлены настройки для массового редактирования товаров
[*] Подправлены стили unitheme2 и файл лицензии
[+] Добавлена возможность отображать товары в единицах измерений на всех этапах оформления заказа даже если товар продается упаковками
v2.9.0 от 20.02.2024
[*] Проведена оптимизация запросов в базу данных
v2.8.1 от 16.02.2024
[*] Добавил проверку локального значения для товара при отображении цен для единиц товара и для упаковки
v2.8.0 от 16.02.2024
[+] Добавлены настройки в модуле и у товара для управления использования цены (единицы/упаковки)
v2.7.1 от 30.01.2024
[!] Удален дублирующий код, нарушавший добавление в корзину дробного остатка при работе со складами
v2.7.0 от 19.01.2024
[+] Добавлена возможность работы с модулем "Склады"
[*] Исправлено отображение изображения товара на странице детального просмотра заказа на витрине
[*] Подправлены стили
[*] Если товар продается упаковками, то при оформлении заказа количество будет вычитаться в единицах товара, а не в упаковках
[*] Изменен механизм вычитания количества на складах при продаже товара упаковками и включенном режиме отображения "Показывать количество товара и упаковок" товар будет списываться количеством выбранных штук
[*] Изменен механизм вычитания количества на складах при продаже товара упаковками и включенном режиме отображения "Показывать количество упаковок" товар будет списываться: количество упаковок, умноженное на количество штук в упаковке
[*] При продаже товара упаковками и включенном режиме отображения "Показывать количество упаковок" в поле ввода количества упаковок можно ввести только целые исла
v2.6.0 от 10.01.2024
[*] Изменена структура во вкладке Настройки->Информация
[+] Добавлена передача дробных остатков через обмен commerceml
Обучить модуль Склады дробным остаткам
Обучить модуль Склады дробным остаткам
Локально задавать тип упаковки
Добавление локальной настройки ввода типа упаковки (метры, паллеты, коробки, ящики)
Использование существующей цены как за уп так и за м2
Использование существующей цены как за уп так и за м2
Арифметика продажи упаковками
Количество товара для отображения в карточке
Доработка модуля
Удобные настройки
Настройки для модуля интуитивно не понятные, надо это исправить, сделать их логичными и удобными
шт. или упаковки отображение при оформлении заказа
Настройка отображение типа товара (упаковками, штуками и т.д.) на всех этапах оформления заказа.
Адаптация и настройки отображения счетчика количества товаров
Адаптация и настройки отображения счетчика количества товаров
Новая логика расчета товара в наличии при продаже уп.
Новая логика расчета товара в наличии при продаже уп.
Ваш запрос отправлен!
Ваш запрос на доработку модуля отправлен в техническую поддержку. Мы изучим ваши пожелания и дадим обратную свзязь.
Вам придет уведомление на указанный Email.
Здесь можно поделиться своим мнением и оценить нашу работу.
Ваши отзывы помогают нам стать лучше и предлагать вам еще более качественный сервис.