madison21 Posted November 18, 2022 Report Share Posted November 18, 2022 Парни, кто подскажет, какие варианты есть в Симпле, чтобы можно было поднимать цены на все товары скопом, например на выбранную категорию на 10% Нужен модуль, добработка? Я так понял по умолчанию в системе такого функционала не предусмотрено? Quote Link to post Share on other sites
Alex000 Posted November 19, 2022 Report Share Posted November 19, 2022 (edited) Открываем simpla/design/html/products.tpl и ищем <option value="delete">Удалить</option> после добавляем <option value="change_price">Изменить цену</option> далее ищем <input id="apply_action" class="button_green" type="submit" value="Применить"> перед кодом добавляем <span id="change_price" style="display: none;"> <select name="op_type"><option value="0">прибавить/отнять</option><option value="1">коэффициент</option></select> <input type="text" name="value" size="3" /> <label><input type="checkbox" name="save_old" value="1" title="сохранить старую цену" checked="checked" />сохранить старую цену</label> </span> ищем, перед // Если есть варианты, отображать ссылку на их разворачивание добавим // Изменение цены $("#action select[name=action]").change(function() { if($(this).val() == 'change_price') $("span#change_price").show(); else $("span#change_price").hide(); }); далее ищем и перед if($('select[name="action"]').val()=='delete' && !confirm('Подтвердите удаление')) добавим if($('select[name="action"]').val()=='change_price' && !confirm('Подтвердите изменение цены')) return false; Открываем файл simpla/ProductsAdmin.php и перед case 'move_to_brand': добавим case 'change_price': { $operation = $this->request->post('op_type', 'integer'); $save_old = $this->request->post('save_old', 'integer'); $value = floatval(str_replace(',','.',$this->request->post('value'))); foreach($this->variants->get_variants(array('product_id' => $ids)) as $variant) { $price = $variant->price; $old_price = ($save_old == 1) ? $variant->price : $variant->compare_price; if($operation == 0) $price = $price + $value; elseif($operation == 1 && $value != 0) $price = $price * $value; $this->variants->update_variant($variant->id, array('price'=>$price, 'compare_price'=>$old_price, 'stock'=>$stock)); } break; } Если необходимо отнять, то пишем, например, -100. Вот и все. Может это поможет. Раньше вот тут была эта статья http://variable.pp.ua/пакетное-изменение-цен/ но сейчас к сожалению этот сайт недоступен. Edited November 19, 2022 by Alex000 Quote Link to post Share on other sites
madison21 Posted November 19, 2022 Author Report Share Posted November 19, 2022 15 часов назад, Alex000 сказал: Открываем simpla/design/html/products.tpl и ищем <option value="delete">Удалить</option> после добавляем <option value="change_price">Изменить цену</option> далее ищем <input id="apply_action" class="button_green" type="submit" value="Применить"> перед кодом добавляем <span id="change_price" style="display: none;"> <select name="op_type"><option value="0">прибавить/отнять</option><option value="1">коэффициент</option></select> <input type="text" name="value" size="3" /> <label><input type="checkbox" name="save_old" value="1" title="сохранить старую цену" checked="checked" />сохранить старую цену</label> </span> ищем, перед // Если есть варианты, отображать ссылку на их разворачивание добавим // Изменение цены $("#action select[name=action]").change(function() { if($(this).val() == 'change_price') $("span#change_price").show(); else $("span#change_price").hide(); }); далее ищем и перед if($('select[name="action"]').val()=='delete' && !confirm('Подтвердите удаление')) добавим if($('select[name="action"]').val()=='change_price' && !confirm('Подтвердите изменение цены')) return false; Открываем файл simpla/ProductsAdmin.php и перед case 'move_to_brand': добавим case 'change_price': { $operation = $this->request->post('op_type', 'integer'); $save_old = $this->request->post('save_old', 'integer'); $value = floatval(str_replace(',','.',$this->request->post('value'))); foreach($this->variants->get_variants(array('product_id' => $ids)) as $variant) { $price = $variant->price; $old_price = ($save_old == 1) ? $variant->price : $variant->compare_price; if($operation == 0) $price = $price + $value; elseif($operation == 1 && $value != 0) $price = $price * $value; $this->variants->update_variant($variant->id, array('price'=>$price, 'compare_price'=>$old_price, 'stock'=>$stock)); } break; } Если необходимо отнять, то пишем, например, -100. Вот и все. Может это поможет. Раньше вот тут была эта статья http://variable.pp.ua/пакетное-изменение-цен/ но сейчас к сожалению этот сайт недоступен. Я правильно понимаю, что можно из админки менять цены к нужной категории именно на нужное количество процентов? Quote Link to post Share on other sites
shooroop Posted November 19, 2022 Report Share Posted November 19, 2022 43 минуты назад, madison21 сказал: Я правильно понимаю, что можно из админки менять цены к нужной категории именно на нужное количество процентов? Да этот способ что указан выше требует изменение в бекэнде и управление тоже из бекэнда, так же можно и Sql запросом сделать Quote Link to post Share on other sites
shooroop Posted November 19, 2022 Report Share Posted November 19, 2022 (edited) а можно сделать и вот так - добавление скидки на какой то товар отдельно -добавление на бренды -добавление скидки на категорию - указывать период когда будет действовать скидка и до какого времени Edited November 19, 2022 by shooroop Quote Link to post Share on other sites
madison21 Posted November 20, 2022 Author Report Share Posted November 20, 2022 59 минут назад, shooroop сказал: авление 59 минут назад, shooroop сказал: а можно сделать и вот так - добавление скидки на какой то товар отдельно -добавление на бренды -добавление скидки на категорию - указывать период когда будет действовать скидка и до какого времени Так задача стоит увеличить цены на определённый процент в нужной категории или бренде. А тут я понимаю скидка, то есть цену можно понизить, а не поднять. Или я не так понял.. Quote Link to post Share on other sites
Alex000 Posted November 20, 2022 Report Share Posted November 20, 2022 7 часов назад, madison21 сказал: Я правильно понимаю, что можно из админки менять цены к нужной категории именно на нужное количество процентов? Да, правильно. Причём можно как прибавлять так и уменьшать. Quote Link to post Share on other sites
phukortsin Posted November 20, 2022 Report Share Posted November 20, 2022 http://simpla-tuning.ru/paketnoe-izmenenie-tsen Quote Link to post Share on other sites
shooroop Posted November 20, 2022 Report Share Posted November 20, 2022 (edited) 16 часов назад, madison21 сказал: Так задача стоит увеличить цены на определённый процент в нужной категории или бренде. А тут я понимаю скидка, то есть цену можно понизить, а не поднять. Или я не так понял.. В обоих решениях можно прибавлять и уменьшать цены. только во втором решении запоминается старая цена и возващается обратно по истечению даты если указана Edited November 20, 2022 by shooroop Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.