Jump to content

Поднять скопом цены на нужный процент


Recommended Posts

Парни, кто подскажет, какие варианты есть в Симпле, чтобы можно было поднимать цены на все товары скопом, например на выбранную категорию на 10%
Нужен модуль, добработка?
Я так понял по умолчанию в системе такого  функционала не предусмотрено?

Link to post
Share on other sites
Открываем 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 by Alex000
Link to post
Share on other sites
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/пакетное-изменение-цен/ но сейчас к сожалению этот сайт недоступен.

 

Я правильно понимаю, что можно из админки менять цены к нужной категории именно на нужное количество процентов?

Link to post
Share on other sites
43 минуты назад, madison21 сказал:

Я правильно понимаю, что можно из админки менять цены к нужной категории именно на нужное количество процентов?

Да этот способ что указан выше требует изменение в бекэнде и управление тоже из бекэнда, так же можно и Sql запросом сделать

Link to post
Share on other sites

а можно сделать и вот так

- добавление скидки на какой то товар отдельно

-добавление на бренды

-добавление скидки на категорию

- указывать период когда будет действовать скидка и до какого времени

2022-11-20-2-00-32.png

Edited by shooroop
Link to post
Share on other sites
59 минут назад, shooroop сказал:

авление

 

59 минут назад, shooroop сказал:

а можно сделать и вот так

- добавление скидки на какой то товар отдельно

-добавление на бренды

-добавление скидки на категорию

- указывать период когда будет действовать скидка и до какого времени

2022-11-20-2-00-32.png

Так задача стоит увеличить цены на определённый процент в нужной категории или бренде.
А тут я понимаю скидка, то есть цену можно понизить, а не поднять.
Или я не так понял..

Link to post
Share on other sites
7 часов назад, madison21 сказал:

Я правильно понимаю, что можно из админки менять цены к нужной категории именно на нужное количество процентов?

Да, правильно. Причём можно как прибавлять так и уменьшать.

Link to post
Share on other sites
16 часов назад, madison21 сказал:

 

Так задача стоит увеличить цены на определённый процент в нужной категории или бренде.
А тут я понимаю скидка, то есть цену можно понизить, а не поднять.
Или я не так понял..

В обоих решениях можно прибавлять и уменьшать цены. только во втором решении запоминается старая цена и возващается обратно по истечению даты если указана

Edited by shooroop
Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...