Jump to content

kokhonov

Новичок
  • Content Count

    11
  • Joined

  • Last visited

Community Reputation

0 Обычный

About kokhonov

  • Rank
    Пользователь

Recent Profile Visitors

477 profile views
  1. Сам же разобрался, если кому надо то вот: Добавить строку if ((float)$offer->Цены->Цена->ЦенаЗаЕдиницу < $data['price']) {$data['price'] = (float)$offer->Цены->Цена->ЦенаЗаЕдиницу;} if (!$ro_found) { $data['relatedoptions'][] = array( 'char_id' => $char_id, 'quantity' => (isset($offer->Количество) ? (int)$offer->Количество : 0) , 'options' => array($option_id => $option_value_id) , 'price' => (isset($offer->Цены->Цена->ЦенаЗаЕдиницу) ? (float)$offer->Цены->Цена->ЦенаЗаЕдиницу : 0)); if ((float)$offer->Цены->Цена->ЦенаЗаЕдиницу < $data['price']) {$data['price'] = (float)$offer->Цены->Цена->ЦенаЗаЕдиницу;} }
  2. Как дописать в коде, чтобы цена в карточку товара заносилась как минимальная из связанных опций? //Цена за единицу if ($offer->Цены) { // Первая цена по умолчанию - $config_price_type_main if (!$config_price_type_main['keyword']) { $data['price'] = (float)$offer->Цены->Цена->ЦенаЗаЕдиницу; } else { if ($offer->Цены->Цена->ИдТипаЦены) { foreach ($offer->Цены->Цена as $price) { if ($price_types[(string)$price->ИдТипаЦены] == $config_price_type_main['keyword']) { $data['price'] = (float)$price->ЦенаЗаЕдиницу; if ($enable_log) $this->log->write(" найдена цена > " . $data['price']); } } } } if (!$ro_found) { $data['relatedoptions'][] = array( 'char_id' => $char_id, 'quantity' => (isset($offer->Количество) ? (int)$offer->Количество : 0) , 'options' => array($option_id => $option_value_id) , 'price' => (isset($offer->Цены->Цена->ЦенаЗаЕдиницу) ? (float)$offer->Цены->Цена->ЦенаЗаЕдиницу : 0)); } Во втором куске кода за цены связанных опций отвечает $data['relatedoptions']['price'], и видимо эти цены надо сравнить с $data['price'] из первого куска. С php не особо силен, поэтому может кто помочь?
  3. Разобрался, через ips manager вставил этот кусочек в файл, и всё заработало, видимо при редактировании блокнота с кодировкой или структурой что то не так стало.
  4. Нашёл такую связь: при добавлении в admin/model/tool/exchange1c.php в $data['relatedoptions'][] 'price' => (isset($offer->Цены->Цена->ЦенаЗаЕдиницу) ? (float)$offer->Цены->Цена->ЦенаЗаЕдиницу : 0) , чтобы выгружались цены в связанные опции, перестает работать выгрузка заказов сайта. Если удалить это, то выгрузка заказов работает. Как это связанно?
  5. Проверил, заказ в ожидании есть, в настройках модуля также: выгружать ожидание, ошибка таже.
  6. Интерактивный обмен 12.08.2015 15:28:38 Запуск загрузки заказов Обработано: 0 Загружено: 0 Пропущено: 0 Обновлено: 0 Создано: 0 12.08.2015 15:28:38 Завершена загрузка заказов Дополнительная информация:Не удалось прочитать узел XML Произошла ошибка: Не удалось обработать документы, загруженные с сервера.
  7. Настроил выгрузку из 1с, всё работает как надо, а заказы с сайта не грузит. В чем может быть проблема? УТ 11.1 ocStore 1.5.5.1
  8. Требуется сделать, чтобы цена на сайте отображалась от минимальной цены из связанных опций. Понимаю что можно сделать и вручную, но менять цены у 300 товаров каждый раз после выгрузки из 1с не хочется(подхватывается первая попавшаяся цена на товар и устанавливается как основная для отображения в каталоге) С предложениями сюда или в личку.
  9. Перезалил с 1с цены, всё плохо, этот код ничего не изменил... При выгрузке из 1с сайт цепляет первую цену для товара в файле offers, но она не та что нужна, так как пользуюсь связанными опциями с разными ценами(без + и -, а фиксированной). Хотелось бы просто узнать, возможно отображать минимальную цену из опций для товара в каталоге, т.к. хочу сделать цены в виде: 'от 777 р'.
  10. Приветствую. Столкнулся с проблемой вывода цен. Мне нужно чтобы выводилась минимальная цена из опций вместо обычной. Нашел на забугорном форуме файлец для 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
×

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.