Jump to content

Evgenka

Пользователи
  • Content Count

    138
  • Joined

  • Last visited

Community Reputation

2 Обычный

About Evgenka

  • Rank
    Продвинутый пользователь

Recent Profile Visitors

2,001 profile views
  1. Спасибо за помощь, задача решена!
  2. К сожалению, такой запрос так же не дал результата. Появляется ошибка: Ответ MySQL: Документация #1142 - Команда SELECT запрещена пользователю для таблицы 'oc_order_product' Модели создания заказов уже поправил, sku заказанных товаров добавляются (как и при создании из админки, так и при создании покупателем). Сейчас стоит только вопрос по присвоению всем товарам из предыдущих заказов sku
  3. Добрый день. Прошу помощи правильно сформировать запрос к БД. В таблицу oc_order_product добавил столбец SKU В таблице oc_product у каждого товара есть свой SKU Необходимо заполнить значения SKU у товаров в таблице oc_order_product В части запросов к БД совсем не силен, пытался сделать так UPDATE `oc_order_product` SET `sku` = (SELECT c.`sku` FROM `oc_product` c WHERE c.`product_id` = `oc_order_product`.`product_id`) и вот так UPDATE `oc_order_product` SET `oc_order_product`.`sku`=`oc_product`.`sku` WHERE `oc_order_product`.`product_id`=`oc_product`.`product_id` но, к сожалению, необходимого результата не получил. Как правильно сформировать запрос, кто подскажет?
  4. Ocstore 1.5.5.1 Спарсил цены на товар у конкурентов и хочу их вывести в списке товаров product_list.tpl Создал новый столбец и вывел в нем необходимые мне данные вот так <?php if(!empty($product['product_prices_cena_concurs'])){ for ($i = 0; $i < count($product['product_prices_cena_concurs']); $i++){ echo" <span style=\"border-bottom: 1px solid #ccc;display: block;\">"; echo" <span style='float:left;'>"; echo $product['product_prices_cena_concurs'][$i]['storename'] ; echo" </span>"; if($product['product_prices_cena_concurs'][$i]['cena'] > 0) { if($product['product_prices_cena_concurs'][$i]['cena'] >= $prices_parser){ echo '<b>'.$product['product_prices_cena_concurs'][$i]['cena'] . "</b><br/>"; } else { echo" <b><span style='color:#C50908;font-weight: bold;'>"; echo $product['product_prices_cena_concurs'][$i]['cena'] . "<br/><br/>"; echo" </b><</span>"; } } else { echo" ---". "<br/>"; } echo" </span>"; } } else { echo "Нет данных"; } ?> Но собственно при пагинациии и переходе на следующую страницу все пропадает, т.к. тут уже используется ajax, если я правильно понял. Как вышеуказанный код правильно отобразить в <script id="productTemplate" type="text/x-jquery-tmpl"> что бы при пагинации страниц и использовании фильтров данные так же отображались? Буду благодарен за помощь.
  5. Пошел другим путем. Сравнил два массива и удалил все совпадения по attribute_id. Ну и далее перебирается уже массив, в котором только уникальные attribute_id
  6. Добрый день. Извиняюсь, если создал тему не в том разделе, но, к сожалению, для ocstore 1.5.5.1 нет уже раздела. Очень надеюсь на помощь, или совет. Проблема в следующем: установил дополнение, которое позволяет добавлять каждой категории шаблонный набор атрибутов и в последующем, в карточке товара загружать необходимый шаблон. Но у некоторых товаров уже присутствуют атрибуты и вот тут заключается сама проблема. По возможностям данного дополнения, оно все равно при выборе нужного шаблона атрибутов загружает их все, не смотря на то, что некоторые из данных атрибутов уже имеются у данного товара. Вот собственно и бьюсь за то, что бы сравнить уже имеющиеся у товара атрибуты и загрузить из шаблона только недостающие. Что сделал: при нажатии кнопки "Загрузить" передаю в функцию loadatts() product_id редактируемого товара. Далее в этой же функции получаем уже имеющиеся у товара атрибуты $this->load->model('catalog/product'); $product_attributes = $this->model_catalog_product->getProductAttributes($this->request->get['product_id']); Атрибуты шаблона, которые необходимо загрузить, получаются следующим образом: $query = $this->db->query("SELECT atts FROM " . DB_PREFIX . "category WHERE category_id = '" . (int)$this->request->get['catid'] . "'"); $atts = unserialize($query->row['atts']); И далее идет перебор массива атрибутов с добавлением их в карточке товара: $attribute_row = 0; foreach ($atts as $product_attribute) { echo '<tbody id="attribute-row' . $attribute_row. '" style="background:turquoise;"><tr> <td class="left"> <input type="text" name="product_attribute[' . $attribute_row. '][name]" value="' . $product_attribute['name']. '" /> <input type="hidden" name="product_attribute[' . $attribute_row. '][attribute_id]" value="' . $product_attribute['attribute_id']. '" /> </td> <td class="left"> <br />'; foreach ($languages as $language) { echo ' <textarea name="product_attribute[' . $attribute_row. '][product_attribute_description][' . $language['language_id']. '][text]" cols="40" rows="5">' ; if ( isset($product_attribute['product_attribute_description'][$language['language_id']]) ) echo $product_attribute['product_attribute_description'][$language['language_id']]['text']; else echo ''; echo '</textarea> <img src="view/image/flags/' . $language['image']. '" title="' . $language['name']. '" align="top" /><br /> '; } echo '</td> <td class="left"> <a onclick="$(\'#attribute-row' . $attribute_row. '\').remove()" class="button">' . $this->data['button_remove'] . '</a></td> </tr> </tbody>'; $attribute_row++; } Собственно что имеем: два массива атрибутов $atts (атрибуты из шаблона для данной категории товаров) и $product_attributes (атрибуты, которые уже присутствуют у данного товара). Никак не могу дописать условие, что бы в цикле при переборе атрибутов $atts сравнивалось значение attribute_id с уже имеющимся attribute_id у массива $product_attributes и соответственно при их совпадении атрибут не добавлялся, не создавая дубль. Буду благодарен за любой совет. Спасибо.
  7. Добрый вечер. Выявился следующий баг: в закрепленном меню, при прокрутке страницы вниз, если в настройках включено отображение поиска и выпадающего списка контактов, невозможно воспользоваться ни тем ни другим, т.к. их видимая часть выходит за пределы экрана. На скрине видно.
  8. Всем спасибо, решение найдено.
  9. Привожу часть контроллера оформления заказа: Я дилетант в этом совсем, поэтому заранее извиняюсь, за возможно написанные глупости. Исходя из данного кода, мне не совсем понятно как формируется $total и как сформировать допустим $total_profit в котором нужно исключить доставку. На сколько я понимаю, сразу собирается массив дополнений с типом 'total' и сортируются по порядку. Далее обрабатываются все модели по собранным 'code' и на выходе (вот тут мне не совсем понятно как) получается тот самый $total. Вот как собрать $total_profit по тем же условиям за исключением 'code' - shipping?
  10. Это я понимаю, но вот с реализацией немного хромает ...
  11. Доброго дня всем. Opencart 1.5.5.1 Пытаюсь реализовать возможность расчета прибыли с каждого заказа и в последующем формирование отчетов по этим данным. Что уже сделано: у каждого товара есть закупочная цена; внесены правки в system/library/cart для расчета оптовой стоимости каждого товара и заказа в целом при оформлении заказа; при оформлении заказа в таблицу order_product аналогично стоимости товара так же вносится и закупочная стоимость (order_product.price_opt и order_product.total_opt); рассчитывается общая закупочная стоимость всего заказа и вносится в таблицу order.total_opt Столкнулся с проблемой правильного внесения в БД профита с этого заказа. А проблема следующая: можно отнять закупочную стоимость всего заказа от sub_total заказа, но это будет не совсем верно, т.к. в заказе могут быть использованы купоны либо бонусные баллы. Отнимать закупочную стоимость заказа от total заказа так же будет не правильно, т.к. в total учитывается и платная доставка, с которой я не зарабатываю. И вот тут у меня произошел ступор, как правильно написать расчет прибыли, т.е. учесть промежуточную стоимость заказа (sub_total), учесть купон (если он применялся) и учесть бонусные баллы (если применялись), отнять от них закупочную стоимость и все это внести в таблицу order.profit Буду признателен за любую помощь, спасибо.
  12. Всем доброго дня. Столкнулся с тем, что после редактирования заказа (например просто изменили букву в адресе), покупателю и администратору отправляются сообщения на почту. Покупателю в таком же виде, как буд-то он сделал заказ, а администратору о том, что заказ обновлен. Прошу помощи, подскажите пожалуйста, как убрать этот функционал? Нет необходимости после редактирования и сохранения заказа рассылать всем письма. К сожалению, поиском не нашел решения данного вопроса. Спасибо.
×

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.