Помощь Помогите передать значение опции товара из корзины в базу

george_vin

Постоялец
Регистрация
23 Дек 2012
Сообщения
90
Реакции
18
Доброго времени суток всем.
Установил модуль "Автоматическая обработка прайс-листов (Поставщики v8.2a)" - появилась возможность добавить SKU каждой опции, в базе появился столбец optsku....
Набросал XML что бы вывести этот SKU напротив каждой опции в карточке товара.

Теперь собственно вопрос. - Как это SKU передать в корзину, а потом еще и прикрутить в письма (админу и покупателю)

Нарыл что за передачу инфы о товаре в корзину отвечает скрипт в product.tpl

А эта строка, вродибы конкретно передает тип и значения опций.
Скрытое содержимое доступно для зарегистрированных пользователей!


Подскажите знающие люди, как передать еще и optsku опции?
версия ОС - 2.0.3.1

столбец optsku в базе в order_option создал.

Спасибо всем неравнодушным.
 
Немного поразмыслив. пришел к выводу, что скрипт в product.tpl все-же передает информацию об опции продукта, и ее id....
А вот контролер корзины решает, какую информацию тянуть из базы данных, если не прав - подправьте пожалуйста.
Так вот... Порывшись в коде контролера, нашел строки отвечающие за вывод значения опции
Скрытое содержимое доступно для зарегистрированных пользователей!

Так вот... Как подправить этот скрипт, чтоб он кроме типа опции и ее значения, выводил значение еще из одной ячейки в таблице опций базы данных.
Спасибо.
 
кажись в system\library\cart.php надо копать
 
После проделанной работы по правке кода, спасибо подсказке "unfume", получил желаемый результат - значение определенной ячейки базы, выводится в корзине как дополнительное значение опции.

Теперь стоит задача №2..... при оформлении заказа отправить и записать это значение в базу, в таблицу `oc_order_option` в созданную мной optsku.

Установлена корзина "simple"
Подскажите где править, в контроллере simple, или в стандартном checkout.php, или это вообще в моделе order.php ??
Спасибо всем неравнодушным.
 
catalog\model\checkout\order.php
и вообще покопай в файлах order.*
у тебя потом возникнет вопрос с выводом в личный кабинет и отправкой на почту + в админке захочется видеть
 
catalog\model\checkout\order.php
и вообще покопай в файлах order.*
у тебя потом возникнет вопрос с выводом в личный кабинет и отправкой на почту + в админке захочется видеть
Спасибо попробую найти, в админку уже вывел :), правда при условии что в ячейку значение вношу через PhpMyAdmin :).
теперь копаюсь как туда записывать не через PhpMyAdmin :D
 
тебе нужно еще опции через админку чтоли добавить?
 
На код vqmod чтобы в админке добавлять артикул в опциях к товару, код вроде рабочий, но поправь под себя его
Код:
<?xml version="1.0" encoding="UTF-8"?>
<modification>
   
    <file name="admin/language/*/catalog/product.php">
   
        <operation error="log">
            <search position="before"><![CDATA[// Error]]></search>
            <add><![CDATA[$_['entry_sku_option_value']           = 'SKU:';
        ]]></add>
        </operation>
       
    </file>
   
    <file name="admin/controller/catalog/product.php">
   
        <operation error="log">
            <search position="after"><![CDATA[$this->data['entry_option_value'] = $this->language->get('entry_option_value');]]></search>
            <add><![CDATA[$this->data['entry_sku_option_value'] = $this->language->get('entry_sku_option_value');
        ]]></add>
        </operation>
       
        <operation error="log">
            <search position="after" offset="5" index="2"><![CDATA[$product_total = $this->model_catalog_product->getTotalProducts($data);]]></search>
            <add><![CDATA[
        $product_sku_options = array();
        $product_sku_options = $this->model_catalog_product->getProductOpt1Option($result['product_id']);
       
            ]]></add>
        </operation>
       
        <operation error="log">
            <search position="after"><![CDATA['selected'   => isset($this->request->post['selected']) && in_array($result['product_id'], $this->request->post['selected']),]]></search>
            <add><![CDATA[
        'sku_option'      => $product_sku_options,
            ]]></add>
        </operation>
       
        <operation error="log">
            <search position="after"><![CDATA['points_prefix'           => $product_option_value['points_prefix'],]]></search>
            <add><![CDATA[
        'sku_option'           => $product_option_value['sku_option'],
            ]]></add>
        </operation>
       
    </file>
   
   
    <file name="admin/model/catalog/product.php">
        <operation error="log">
            <search position="iafter" index="1"><![CDATA["', weight_prefix = '" . $this->db->escape($product_option_value['weight_prefix']) .]]></search>
            <add><![CDATA[ "', sku_option = '" . $product_option_value['sku_option'] . ]]></add>
        </operation>
       
        <operation error="log">
            <search position="iafter" index="2"><![CDATA["', weight_prefix = '" . $this->db->escape($product_option_value['weight_prefix']) .]]></search>
            <add><![CDATA[ "', sku_option = '" . $product_option_value['sku_option'] . ]]></add>
        </operation>
       
        <operation error="log">
            <search position="after"><![CDATA['weight'                  => $product_option_value['weight'],]]></search>
            <add><![CDATA['sku_option'           => $product_option_value['sku_option'],
]]></add>
        </operation>
       
        <operation error="log">
            <search position="before"><![CDATA[public function getProductRewards($product_id) {]]></search>
            <add><![CDATA[
        public function getProductOpt1Option($product_id) {
            $query = $this->db->query("SELECT product_id, sku_option FROM " . DB_PREFIX . "product_option_value WHERE product_id = '" . (int)$product_id . "'");
       
            return $query->rows;
        }

            ]]></add>
        </operation>
    </file>
   
    <file name="admin/view/template/catalog/product_form.tpl">
        <operation error="log">
            <search position="after" index="1"><![CDATA[<td class="left"><?php echo $entry_option_value; ?></td>]]></search>
            <add><![CDATA[<td class="left"><?php echo $entry_sku_option_value; ?></td>
]]></add>
        </operation>
       
        <operation error="log">
            <search position="after"><![CDATA[<input type="hidden" name="product_option[<?php echo $option_row; ?>][product_option_value][<?php echo $option_value_row; ?>][product_option_value_id]" value="<?php echo $product_option_value['product_option_value_id']; ?>" /></td>]]></search>
            <add><![CDATA[
            <td class="right"><input type="date" name="product_option[<?php echo $option_row; ?>][product_option_value][<?php echo $option_value_row; ?>][opt4_option]" value="<?php echo $product_option_value['sku_option']; ?>" size="5" /></td>
            ]]></add>
        </operation>
       
        <operation error="log">
            <search position="after"><![CDATA[html += '    </select><input type="hidden" name="product_option[' + option_row + '][product_option_value][' + option_value_row + '][product_option_value_id]" value="" /></td>';]]></search>
            <add><![CDATA[
            html += '    <td class="right"><input type="date" name="product_option[' + option_row + '][product_option_value][' + option_value_row + '][sku_option]" value="" size="3" /></td>';]]></add>
        </operation>
    </file>
   
   
   
</modification>
 
соот-но sku_option на название своей таблицы меняй
 
Назад
Сверху