[РЕШЕНО] Значение опции (не наценка, а полная цена)

Статус
В этой теме нельзя размещать новые ответы.

Moonwalker

Постоялец
Регистрация
21 Ноя 2013
Сообщения
282
Реакции
104
В общем, ситуация следующая:

По умолчанию опции выводятся с наценкой к базовой стоимости (+100, +200 и т.п.). Как сделать, чтобы рядом с опцией выводилась не наценка, а уже полная цена с учетом наценки опции к базовой стоимости? Т.е., чтобы у товара с базовой 1000 рублей и опцией с наценкой в 200 рублей рядом с этой опцией стояло не +200 руб., а 1200 руб.

Скорее всего, решение простое и знающий человек сделает все за пару минут. Мне, к сожалению, не хватает для этого навыков ))
Честно искал решение, но найти пока не удается.
 
Это модуль, который пересчитывает окончательную цену. Он стоит.
Меня же интересует изменение именно вида выбора опции. Сейчас в выпадающем списке так:

Название опции 0
Название опции 1 (+100 рублей)
Название опции 2 (+200 рублей)
Название опции 3 (+300 рублей)

Мне же надо, чтобы в этом же списке просто выводилось (при базовой цене, допустим, в 1000 рублей) вот так:

Название опции 0 (1000 рублей)
Название опции 1 (1100 рублей)
Название опции 2 (1200 рублей)
Название опции 3 (1300 рублей)


По сути, в шаблон должна выводиться не конструкция
Код:
            (<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>)

как сейчас, а сумма базовой стоимости и стоимости наценки опции ))
 
Хм, спасибо за наводку, не попадался мне этот модуль. По крайней мере, на будущее буду иметь его ввиду.
Закинул, в принципе, делает то, что нужно, но по ряду причин, использовать не получится ((
К сожалению, как раз модуль обновления цены не пересчитывает конечную стоимость с ним.
Кроме того, боюсь, мы тут повесимся, не только переделывая все карточки товара, но и перенастраивая абсолютно все парсеры и экспортеры/импортеры, отвечающие за цены и остатки ))
Все-таки пока буду курить в сторону изменения строки вывода и замены ее на сумму двух значений.
Но в любом случае спасибо. Буду знать про такую штуку ))
 
Во, оно...
Осталось еще допилить, чтобы рядом с опцией, у которой нет наценки (которая типа базовая) тоже выводилась цена. Но по крайней мере, уже близко к тому, что надо ))
Останется только разобраться, чтобы определенной опции цена выводилась, а другим - нет. Но те, в принципе, которым и собираюсь выводить, можно в отдельные вынести. Например, в image.

апдейт. Проблема с выводом цены к опции без наценки решается заменой наценки с 0,0000 на 0,0001
 
Посмотрим. Магазин эту наценку не видит, это факт.
Не думаю, что системы увидят.

Эх, со скидками неверно работает (( Блин, а счастье было так близко ))
 
Последнее редактирование модератором:
Проще найти решение, чем все парсеры переписывать ))) Скидка на на конкретные товары в карточке имеется ввиду ))

Сейчас есть конструкция:
Код:
                  (<?php echo $option_value['price_full']; ?>)

мне надо, чтобы в случае, если у товара есть special, то она бы менялась на

Код:
                  (<?php echo $option_value['price_full_special']; ?>)
а если скидки на товар нет, то оставалось бы таким ))

В контроллере я все создал, но в шаблоне заменить не могу, не хватает знаний )))
Либо надо в контроллере копать, чтобы он в случае скидки на товар, подставлял значения не старой цены, а цены со скидкой =/

зы. И нафига я на журналиста учился? )))

Либо даже скорее все иначе в контроллере.
В общем, есть такой кусок:

Код:
                            if( $product_info['price'] )
                            {
                                $option_value['price_full'] = $product_info['price'];
                                if( $option_value['price_prefix'] == "+" )
                                    $option_value['price_full'] = $product_info['price'] + $option_value['price'];
                                if( $option_value['price_prefix'] == "-" )
                                    $option_value['price_full'] = $product_info['price'] - $option_value['price'];

                                $option_value['price_full'] = $this->currency->format(
                                    $this->tax->calculate(
                                        $option_value['price_full'],
                                        $product_info['tax_class_id'],
                                        $this->config->get('config_tax')
                                        ));
                            }

Нужно ему поставить условие, что если спеццены нет, то он такой и остается, а если if( $product_info['special'] )
То в прайс подставляется $product_info['special']

Сейчас у меня либо везде выводится цена от базовой без скидки, либо на странице со скидкой выводится правильно, но на других она не выводится в принципе =/
 
Последнее редактирование модератором:
Так, разобрались с этим. Умные люди подсказали.
К сожалению, вариант решения подсказать не получится, ибо он изначально кривой, и решали уже по кривому коду )) А так решение, на которое кидали ссылку, рабочее!
Спасибо за наводку.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху