Пакетное изменение цен в Simpla

Пакетное изменение цен в Simpla

Открываем simpla/design/html/products.tpl и ищем


после добавляем


далее ищем


перед кодом добавляем


ищем, перед

// Если есть варианты, отображать ссылку на их разворачивание

добавим

// Изменение цены
        $("#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.
Вот и все.

				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;
                        $base_price = $variant->base_price;
                        $stock = $variant->stock;
                        $old_price = ($save_old == 1) ? $variant->base_price : $variant->base_compare_price;
                        if($operation == 0){
							$new_base_price = $base_price + $value;
							$price = $new_base_price*($price/$base_price);
						}elseif($operation == 1 && $value != 0){
						$price = $price * $value;
						$new_base_price = $base_price * $value;
						}
						$this->variants->update_variant($variant->id, array('price'=>$price, 'base_price'=>$new_base_price, 'base_compare_price'=>$old_price, 'stock'=>$stock));
                    }
                    break;
                }
Simpla валюта через select {if $currencies|count>1} {foreach from=$currencies item=c} {if $c->enabled} id==$currency->id} selected="selected"{/if}>{$c->name|esca...
Скидка всем зарегистрированным пользователям... При регистрации в магазине пользователь получает скидку установленную вами. Создайте группу для зарегистрированных пользователей. П...
Показываем цену товара в другой валюте Simpla... Иногда необходимо вывести цену товара в другой валюте по текущему курсу. Приступим. Открываем файл product.tpl вашего шаблона, ищем и...
Экспорт товаров в Google Merchant В виду начинающей популярности сервиса Google Merchant сделаем выгрузку (экспорт) прайс листа нашего интернет-магазина для Simpla. ...
Читайте также  Скидка всем зарегистрированным пользователям

Сохрани, чтобы не потерять