Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

kokhonov

Новичок
  
  • Публикаций

    11
  • Зарегистрирован

  • Посещение

Посетители профиля

542 просмотра профиля

Достижения kokhonov

Newbie

Newbie (1/14)

  • First Post
  • Collaborator
  • Conversation Starter
  • Week One Done
  • One Month Later

Последние медали

0

Репутация

  1. Требуется сделать, чтобы цена на сайте отображалась от минимальной цены из связанных опций. Понимаю что можно сделать и вручную, но менять цены у 300 товаров каждый раз после выгрузки из 1с не хочется(подхватывается первая попавшаяся цена на товар и устанавливается как основная для отображения в каталоге) С предложениями сюда или в личку.
  2. Перезалил с 1с цены, всё плохо, этот код ничего не изменил... При выгрузке из 1с сайт цепляет первую цену для товара в файле offers, но она не та что нужна, так как пользуюсь связанными опциями с разными ценами(без + и -, а фиксированной). Хотелось бы просто узнать, возможно отображать минимальную цену из опций для товара в каталоге, т.к. хочу сделать цены в виде: 'от 777 р'.
  3. Приветствую. Столкнулся с проблемой вывода цен. Мне нужно чтобы выводилась минимальная цена из опций вместо обычной. Нашел на забугорном форуме файлец для vqmod, который вроде для версии 1.5.3. Сам использую ocStore 1.5.5.1, и некоторым товарам он и вправду изменил цену на минимальную из опций, но не всем(как мне показалось изменил только первым нескольким позициям). В чем может быть проблема? <modification> <id>Starting At Option Price</id> <version>1.5.x</version> <vqmver>2.1.5</vqmver> <author>qphoria</author> <file name="catalog/model/catalog/product.php"> <operation info="Move price manipulation up so it can be managed"> <search position="before"><![CDATA[ return array( ]]></search> <add><![CDATA[ $query->row['price'] = ($query->row['discount'] ? $query->row['discount'] : $query->row['price']); // Show first (lowest) option price as "Starting at" price // But for product page, to avoid issues with option price update, use a different method if ($query->row['price'] == 0) { $options = $this->getProductOptions($product_id); $option_prices = array(); if ($options) { foreach ($options as $j => $option) { if (!$option['option_value']) { continue; } foreach ($option['option_value'] as $l => $option_value) { if (!(float)$option_value['price']) { continue; } if ($option_value['price_prefix'] == '-') { $option_prices[] = -$option_value['price']; } else { $option_prices[] = $option_value['price']; } $options[$j]['option_value'][$l]['price_prefix'] = ''; } } } if ($option_prices) { sort($option_prices); //if (!isset($this->request->get['product_id']) && !isset($this->request->post['product_id'])) { //if (!isset($_SERVER['HTTP_X_REQUESTED_WITH']) || $_SERVER['HTTP_X_REQUESTED_WITH']!='XMLHttpRequest' && !isset($this->request->get['product_id']) && !isset($this->request->post['product_id'])) { //if (isset($this->request->get['route']) && $this->request->get['route'] != 'product/product') { if ((!isset($_SERVER['HTTP_X_REQUESTED_WITH']) || $_SERVER['HTTP_X_REQUESTED_WITH']!='XMLHttpRequest') && ((isset($this->request->get['route']) && $this->request->get['route'] != 'product/product') || !isset($this->request->get['route']))) { $query->row['price'] = reset($option_prices); } else { $this->session->data['start_at_price'] = $this->tax->calculate($option_prices[0], $query->row['tax_class_id']); $this->session->data['start_at_price_ex_tax'] = $option_prices[0]; } } } ]]></add> </operation> <operation info="replace the original with the new variable"> <search position="replace"><![CDATA[ ($query->row['discount'] ? $query->row['discount'] : $query->row['price']), ]]></search> <add><![CDATA[ $query->row['price'], ]]></add> </operation> </file> <file name="system/library/currency.php"> <operation> <search position="after"><![CDATA[ public function format($number, ]]></search> <add><![CDATA[ $trace = debug_backtrace(); if (isset($trace[1]['class']) && $trace[1]['class'] == 'ControllerProductProduct') { if ($number == 0 && !empty($this->session->data['start_at_price'])) { $number = $this->session->data['start_at_price']; $starting = true; unset($this->session->data['start_at_price']); } if ($number == 0 && !empty($this->session->data['start_at_price_ex_tax'])) { $number = $this->session->data['start_at_price_ex_tax']; $starting = true; unset($this->session->data['start_at_price_ex_tax']); } } ]]></add> </operation> <operation> <search position="before"><![CDATA[ return $string; ]]></search> <add><![CDATA[ if (isset($starting) && $starting) { $starting = false; $string = "Starting at $string"; } ]]></add> </operation> </file> </modification> price_by_options_153x.xml
×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.