Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Cosmonaut777

Newbie
  
  • Posts

    1
  • Joined

  • Last visited

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

Cosmonaut777's Achievements

Newbie

Newbie (1/14)

  • First Post
  • Week One Done
  • One Month Later
  • One Year In
  • Conversation Starter

Recent Badges

0

Reputation

  1. Ситуэшн следующая. Запилил формулы просчета скидок к опциям в процентах, но вывод суммы скидок не запилил. catalog/controller/product/product.php if ($option_value['price_prefix']=="u") { $price = '+' . (float)$option_value['price'].'%'; } elseif ($option_value['price_prefix']=="d") { $price = '-' . (float)$option_value['price'].'%'; } elseif ($option_value['price_prefix']=="*") { $price = '*' . (float)$option_value['price']; } elseif ($option_value['price_prefix']=="/") { $price = '/' . (float)$option_value['price']; } else{ $price = $option_value['price_prefix'].$this->currency->format($this->tax->calculate($option_value['price'], $product_info['tax_class_id'], $this->config->get('config_tax') ? 'P' : false), $this->session->data['currency']); } system/library/cart/cart.php if ($option_value_query->row['price_prefix'] == '=') { $sort_key=count($option_price) + 1; } else { $sort_key=count($option_price)+10; } $option_price[$sort_key] = array( $option_value_query->row['price_prefix']=>$option_value_query->row['price'], ); Далее в этом же файле $newprice = $price; $defprice = $price; ksort($option_price); foreach($option_price as $operations){ foreach($operations as $operation=>$value){ if ($operation == '=') { if ($price!=0 ){ $newprice = $value; $price=0; } else{ $newprice += $value; } } elseif ($operation == '+') { $newprice += $value; } elseif ($operation == '-') { $newprice -= $value; } elseif ($operation == '*') { $newprice = $newprice * $value; } elseif ($operation == '/') { $newprice = $newprice / $value; } elseif ($operation == 'u') { $newprice = $newprice + (( $defprice * $value ) / 100); } elseif ($operation == 'd') { $newprice = $newprice - (( $defprice * $value ) / 100); } } } Далее в этом же файле $price + $option_price заменено на $newprice admin/view/template/catalog/product_form.twig {% if product_option_value.price_prefix == '=' %} <option value="=" selected="selected">=</option> {% else %} <option value="=">=</option> {% endif %} {% if product_option_value.price_prefix == '*' %} <option value="*" selected="selected">*</option> {% else %} <option value="*">*</option> {% endif %} {% if product_option_value.price_prefix == '/' %} <option value="/" selected="selected">/</option> {% else %} <option value="/">/</option> {% endif %} {% if product_option_value.price_prefix == 'u' %} <option value="u" selected="selected">+%</option> {% else %} <option value="u">+%</option> {% endif %} {% if product_option_value.price_prefix == 'd' %} <option value="d" selected="selected">-%</option> {% else %} <option value="d">-%</option> {% endif %} в этом же файле html += ' <option value="=">=</option>'; html += ' <option value="*">*</option>'; html += ' <option value="/">/</option>'; html += ' <option value="u">+%</option>'; html += ' <option value="d">-%</option>'; Всё гуд, всё работает, но есть одно но, раньше выводилось значение "-10%", т.е. то значение, которое задал в админке, начал пилить что бы он выводил сумму высчитываемую, вообще всё пропало, бэкапнул, теперь не отображаются даже эти "-10%", надо что бы во вьюшку приходила сумма вычитаемая с прайса, т.е. не -10%, а к примеру -280руб, если цена товара была 2800р. Благодарю за внимание!
×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.