Руслан Сафин

Руслан Сафин

Был в сети 03 февраля 2022, 12:58
Заказы не принимаю
1) Регистрируем свое расширение класса пример. Естествеено не delivery, а cart.

2) Создаем пустой js файл, пишем туда колбеки и подключаем после файла default.js (стандартный файл минишопа) любый удобным для вас способом

При этом ядро не страдает, мы его не меняем. Минишоп можно спокойно обновлять
Видел этот плейсхолдер, не подходит. Он выводит общее количество товара. В моем случае товар продается метрами.
Например: кладем в корзину 5 метров одного товара и 3 метра другого. Плейсхолдер
{$total_count}
выведет 8, а надо 2 (т.к. в корзине 2 товара)
Где то видел применения другого способа, не складывать картинки во временную папку, а при создании нового ресурса мы его сохраняем и редиректим на его редактирование. В итоге ИД ресурса у нас есть и ничего никуда перемещать не надо. Но появляется другая проблема, что делать если пользователь передумал «создавать» ресурс, чистить раз в месяц базу если поля пустые?
В итоге стало интересно и косяк нашел =)

Файл msproductdata.class.php

При загрузке, смене местами, удалении изображений вызывается функция save() а в ней идет удаление всех опций товара.

подлечил проверкой
if($deleteOptions) {
	$sql = 'DELETE FROM '.$table.' WHERE `product_id` = '.$id;
}
и соответственно добавил атрибут для функции
public function save($cacheFlag= null, $deleteOptions=true)
А в функции updateProductImage заменил строку
if ($this->save())
на
if ($this->save(null,false))