

Kitson
Newbie-
Posts
26 -
Joined
-
Last visited
Content Type
Profiles
Forums
Marketplace
Articles
FAQ
Our New
Store
Blogs
module__dplus_manager
Everything posted by Kitson
-
а)Вариант доставки Набор полей покупателя - поля для всех покупателей б)Вариант доставки Набор полей организации - доп поля для юридических лиц в)Вариант доставки Набор полей адреса доставки - эти поля появляются если снять галочку "Адрес доставки совпадает с адресом плательщика" скачать архив и посмотреть changelog
-
А изменения, которые я описал в начале темы вы сделали?Правильно устанавливать так: Открываем /catalog/view/theme/default/template/product/category.tpl Найти: <input type="button" value="<?php echo $button_cart; ?>" onclick="addToCart('<?php echo $product['product_id']; ?>');" /> Заменить на: <input type="text" value="1" class="item-<?php echo $product['product_id']; ?>" /> <input type="button" value="<?php echo $button_cart; ?>" onclick="addQtyToCart('<?php echo $product['product_id']; ?>');" class="button" /> Найти ниже: <script type="text/javascript"><!-- Вставить после: function addQtyToCart(product_id) { var qty = $('.item-' + product_id).val(); if ((parseFloat(qty) != parseInt(qty)) || isNaN(qty)) { qty = 1; } addToCart(product_id, qty); } Меняем в catalog/view/javascript/common.js function addToCart(product_id) { $.ajax({ url: 'index.php?route=checkout/cart/update', type: 'post', data: 'product_id=' + product_id, на function addToCart(product_id, quantity) { quantity = typeof(quantity) != 'undefined' ? quantity : 1; $.ajax({ url: 'index.php?route=checkout/cart/update', type: 'post', data: 'product_id=' + product_id + '&quantity=' + quantity,
-
Имеется кривой модуль для версии 1.5.1.3, который должен переносить покупателя в другую группу по достижению определенной суммы заказов. Например: 1 группа - стартовая, дается при регистрации, если сумма покупок наберется больше 5000р, то покупатель должен автоматически перенестись во 2 группу 2 группа - если сумма покупок наберется больше 15000р, то покупатель должен автоматически перенестись в 3 группу 3 группа Данный модуль может перенести покупателя, но только при статусе "Ожидание". Если выставить, чтобы перенос совершался при статусе "Сделка завершена" (что логично), то перенос состоится только после ещё одного заказа. А нужно чтобы это происходило сразу автоматически при изменении администратором статуса заказа. Может быть у кого-то получится поправить? Скачать. Для версий старше 1.5.1.3 можете попробовать этот архив. Для установки загрузите файлы из upload в корень магазина (требуется vqmod). При установке может возникнуть проблема (ошибка вроде такой): Notice: Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'order WHERE customer_id = '14' AND order_status_id = '2'' at line 1 Error No: 1064 Решить можно так: в файле catalog/model/sale/account/success.php замените $query = $this->db->query("SELECT total FROM " . DB_PREFIX . "order WHERE customer_id = '" . (int)$this->customer->getId() . "' AND order_status_id = '" . (int)$order_status_id . "'"); на $query = $this->db->query("SELECT total FROM " . DB_PREFIX . " `order` WHERE customer_id = '" . (int)$this->customer->getId() . "' AND order_status_id = '" . (int)$order_status_id . "'");
-
Notice: Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''order' WHERE customer_id = '7' AND order_status_id = '5'' at line 1 Error No: 1064 SELECT total FROM 'order' WHERE customer_id = '7' AND order_status_id = '5' in /home/s/snabvlzru/public_html/system/database/mysql.php on line 49
-
Попробовал убрать префикс отовсюду из модуля где только можно - та же самая ошибка. Разработчик говорит, что его модуль работает у 50 человек, а так же заверяет, что модуль должен работать и с префиксом и без. Я же взял для теста чистый опенкарт в установке вбил префикс и затем закатал его модуль - работает. Потом сделал всё тоже самое только поле префикса, во время установки опенкарт оставил пустым - результат эта же ошибка. Что вы думаете после этого? Где-то в коде модуля синтаксическая ошибка (и нужно копать в направлении отсутствующих кавычек), либо это ещё что-то может быть?
-
Если я правильно понял, то ошибка: Notice: Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'order WHERE 'customer_id' = '6' AND order_status_id = '0'' at line 1 Error No: 1064 SELECT total FROM order WHERE 'customer_id' = '6' AND order_status_id = '0' in /home/s/snabvlzru/public_html/system/database/mysql.php on line 49 возникает из-за этого: public function getOrderTotalValue($order_status_id) { $query = $this->db->query("SELECT total FROM " . DB_PREFIX . "order WHERE customer_id = '" . (int)$this->customer->getId() . "' AND order_status_id = '" . (int)$order_status_id . "'"); return $query->rows; } Подскажите, пожалуйста, что там не так? Если при установке движка вписать префикс для базы данных, то модуль работает, но мне нужно прикрутить к уже действующему магазину без префикса.
-
Пытаюсь подружить два модуля Customer Group Discounts и Customer Group Auto Switcher with email alert Версия Opencart 1.5.1.3 Изначально возникли следующие ошибки (настройки модуля Customer Group Auto Switcher with email alert вообще не отображались): 2012-07-11 11:00:08 - PHP Notice: Undefined index: reach_customer_group_id in /home/s/snabvlzru/public_html/vqmod/vqcache/vq2-admin_controller_sale_customer_group.php on line 198 2012-07-11 11:00:08 - PHP Notice: Undefined index: reach_value in /home/s/snabvlzru/public_html/vqmod/vqcache/vq2-admin_controller_sale_customer_group.php on line 210 2012-07-11 11:00:08 - PHP Notice: Undefined index: reach_value in /home/s/snabvlzru/public_html/vqmod/vqcache/vq2-admin_controller_sale_customer_group.php on line 211 2012-07-11 11:00:08 - PHP Notice: Undefined index: reach_customer_group_id in /home/s/snabvlzru/public_html/vqmod/vqcache/vq2-admin_controller_sale_customer_group.php on line 198 2012-07-11 11:00:08 - PHP Notice: Undefined index: reach_value in /home/s/snabvlzru/public_html/vqmod/vqcache/vq2-admin_controller_sale_customer_group.php on line 210 2012-07-11 11:00:08 - PHP Notice: Undefined index: reach_value in /home/s/snabvlzru/public_html/vqmod/vqcache/vq2-admin_controller_sale_customer_group.php on line 211 2012-07-11 11:00:08 - PHP Notice: Undefined index: reach_customer_group_id in /home/s/snabvlzru/public_html/vqmod/vqcache/vq2-admin_controller_sale_customer_group.php on line 198 2012-07-11 11:00:08 - PHP Notice: Undefined index: reach_value in /home/s/snabvlzru/public_html/vqmod/vqcache/vq2-admin_controller_sale_customer_group.php on line 210 2012-07-11 11:00:08 - PHP Notice: Undefined index: reach_value in /home/s/snabvlzru/public_html/vqmod/vqcache/vq2-admin_controller_sale_customer_group.php on line 211 Покопавшись в xml файлах модулей увидел, что оба модуля меняют одни и те же строки в admin/model/sale/customer_group.php: в xml файле Customer Group Discounts: <operation> <search position="replace"><![CDATA[customer_group SET]]></search> <add><![CDATA[customer_group SET discount = '" . (($data['discount'] != '') ? (float)$data['discount'] : '') . "',]]></add> </operation> в xml файле Customer Group Auto Switcher: <operation> <search position="replace"><![CDATA[$this->db->query("INSERT INTO " . DB_PREFIX . "customer_group SET name = '" . $this->db->escape($data['name']) . "'");]]></search> <add><![CDATA[$this->db->query("INSERT INTO " . DB_PREFIX . "customer_group SET name = '" . $this->db->escape($data['name']) . "', reach_value = '" . (float)($data['reach_value']) . "', reach_customer_group_id = '" . (int)($data['reach_customer_group_id']) . "', reach_order_status_id = '" . (int)($data['reach_order_status_id']) . "', admin_notify = '" . (isset($data['admin_notify']) ? (int)$data['admin_notify'] : 0) . "', customer_notify = '" . (isset($data['customer_notify']) ? (int)$data['customer_notify'] : 0) . "'");]]></add> </operation> <operation> <search position="replace"><![CDATA[$this->db->query("UPDATE " . DB_PREFIX . "customer_group SET name = '" . $this->db->escape($data['name']) . "' WHERE customer_group_id = '" . (int)$customer_group_id . "'");]]></search> <add><![CDATA[$this->db->query("UPDATE " . DB_PREFIX . "customer_group SET name = '" . $this->db->escape($data['name']) . "', reach_value = '" . (float)($data['reach_value']) . "', reach_customer_group_id = '" . (int)($data['reach_customer_group_id']) . "', reach_order_status_id = '" . (int)($data['reach_order_status_id']) . "', admin_notify = '" . (isset($data['admin_notify']) ? (int)$data['admin_notify'] : 0) . "', customer_notify = '" . (isset($data['customer_notify']) ? (int)$data['customer_notify'] : 0) . "' WHERE customer_group_id = '" . (int)$customer_group_id . "'");]]></add> </operation> Я удалил коды из обоих файлов, а вместо этого изменил вручну стандартный код движка (файл admin/model/sale/customer_group.php) на: public function addCustomerGroup($data) { $this->db->query("INSERT INTO " . DB_PREFIX . "customer_group SET name = '" . $this->db->escape($data['name']) . "', discount = '" . (($data['discount'] != '') ? (float)$data['discount'] : '') . "' , reach_value = '" . (float)($data['reach_value']) . "', reach_customer_group_id = '" . (int)($data['reach_customer_group_id']) . "', reach_order_status_id = '" . (int)($data['reach_order_status_id']) . "', admin_notify = '" . (isset($data['admin_notify']) ? (int)$data['admin_notify'] : 0) . "', customer_notify = '" . (isset($data['customer_notify']) ? (int)$data['customer_notify'] : 0) . "'"); $this->cache->delete('product'); } public function editCustomerGroup($customer_group_id, $data) { $this->db->query("UPDATE " . DB_PREFIX . "customer_group SET name = '" . $this->db->escape($data['name']) . "', discount = '" . (($data['discount'] != '') ? (float)$data['discount'] : '') . "', reach_value = '" . (float)($data['reach_value']) . "', reach_customer_group_id = '" . (int)($data['reach_customer_group_id']) . "', reach_order_status_id = '" . (int)($data['reach_order_status_id']) . "', admin_notify = '" . (isset($data['admin_notify']) ? (int)$data['admin_notify'] : 0) . "', customer_notify = '" . (isset($data['customer_notify']) ? (int)$data['customer_notify'] : 0) . "' WHERE customer_group_id = '" . (int)$customer_group_id . "'"); $this->cache->delete('product'); } На всякий случай вот стандартный код: public function addCustomerGroup($data) { $this->db->query("INSERT INTO " . DB_PREFIX . "customer_group SET name = '" . $this->db->escape($data['name']) . "'"); } public function editCustomerGroup($customer_group_id, $data) { $this->db->query("UPDATE " . DB_PREFIX . "customer_group SET name = '" . $this->db->escape($data['name']) . "' WHERE customer_group_id = '" . (int)$customer_group_id . "'"); } Выше описанные ошибки исчезли. В группах покупателей могу задать скидки/наценки и порог после которого следует переводить покупателя в другую группу. Пробую сделать заказ - всё до последнего этапа работает нормально. При нажатии кнопки "Оформить заказ" появляется ошибка: 2012-07-11 13:12:34 - PHP Notice: Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'order WHERE customer_id = '2' AND order_status_id = '5'' at line 1<br />Error No: 1064<br />SELECT total FROM order WHERE customer_id = '2' AND order_status_id = '5' in /home/s/snabvlzru/public_html/system/database/mysql.php on line 49 При этом заказ магазин принимает, но покупателя в другую группу не переводит. О чём говорит ошибка и как можно это исправить? Может быть где-то попутал с точками, запятыми, кавычками?
-
[Решено] Создание второй цены для оптовиков
Kitson replied to dmonco's topic in Допомога програмістам та розробникам
Вопрос как сделать так чтобы после накопления определенной суммы заказов человека перекидовало в группу оптовиков? -
Модуль обмена с 1C v8.x для ocStore1.5.x
Kitson replied to wolfovich's topic in Модули обмена данными
Тщательно проверь чтобы: 2. В файле admin/model/catalog/product.php ищем в районе 126 строке код $this->cache->delete('product'); } и делаем чтоб стало вот так $this->cache->delete('product'); return $product_id; } 3. В файле admin/model/catalog/category.php ищем в районе 34 строке код $this->cache->delete('category'); } и делаем чтоб стало вот так $this->cache->delete('category'); return $category_id; } 4. В файле admin/model/catalog/manufacturer.php ищем в районе 26 строке код $this->cache->delete('manufacturer'); } и делаем чтоб стало вот так $this->cache->delete('manufacturer'); return $manufacturer_id; } Если ставил другие модули, то всё это смещается на другие строчки. Скорее всего в каком-то из этих файлов затерлось, либо вообще не было сделано замены. -
Благодаря brk был найден модуль наценок/скидок для групп покупателей (http://opencartforum...BB%D0%B5%D0%B9/). Теперь понял, что к этому модулю будет очень кстати автоматический перенос покупателя в другую группу по достижению им определенной суммы денег (учитывая все заказы покупателя). Где-то видел раньше теперь не могу найти.
-
Спасибо, то что надо! Можно делать наценку задавая значение с минусом.
-
Есть ли модуль который позволяет задать наценку или скидку в процентах на все товары для определенных групп пользователей. Нужно чтобы модуль менял цены у всех товаров, а не просто давал скидку в корзине. Например, в базе данных компьютер стоит 500$, а телефон 200$. Но для определенной группы пользователей мне нужна наценка в 15% для всех товаров. То есть если на сайт зайдёт пользователь из этой группы, то он увидит цену компьютера 575$ и телефона 230$. Есть что-нибудь такое?
-
Теперь хочу сделать выбор количества из всплывающего окна. Можно ли это сделать? <div class="cart"> <script type="text/javascript"><!-- $('.cart div:nth-child(3) a').click(function(){ $('#popup-options').slideUp(); $('#modal-overlay').fadeOut(); }); --></script> <div id="modal-overlay" onclick="$('#modal-overlay').fadeOut(); $('#popup-options').slideUp()"></div> <a class="button" style="margin-bottom: 10px" onclick="$('#modal-overlay').fadeIn(); $('#popup-options').slideDown();"> <span>Выбор количества</span> </a> <div id="popup-options"> <input type="text" value="1" SIZE="2" class="item-<?php echo $product['product_id']; ?>" /> <a class="button" style="margin-bottom: 10px" onclick="addQtyToCart('<?php echo $product['product_id']; ?>');"> <span>Купить</span> </a> </div> </div> При таком коде, нажимая на кнопку купить во всплывающем окне в корзину всегда добавляется первый в списке товар (не важно рядом с каким товаром нажмешь на выбор количества). Как сделать так, чтобы добавлялся тот товар рядом с которым нажимаешь на выбор количества? Код стилей не стал сюда копировать - не принципиально.
-
Всё разобрался. Спасибо ravilr за наводку. Меняем в catalog/view/javascript/common.js function addToCart(product_id) { $.ajax({ url: 'index.php?route=checkout/cart/update', type: 'post', data: 'product_id=' + product_id, на function addToCart(product_id, quantity) { quantity = typeof(quantity) != 'undefined' ? quantity : 1; $.ajax({ url: 'index.php?route=checkout/cart/update', type: 'post', data: 'product_id=' + product_id + '&quantity=' + quantity,
-
Разработчик: http://darrennolan.c...-category-page/ Работает на версии: 1.5.3.1 Как перенести данный модуль на 1.5.1.3 ? Сейчас данный модуль на версии 1.5.1.3 добавляет товары в корзину, но не берёт во внимание указанное количество, то есть если ввести количество пять он всё равно добавляет в корзину только одну штуку. Как поправить код? Установка на русском: Открываем /catalog/view/theme/default/template/product/category.tpl Найти: <input type="button" value="<?php echo $button_cart; ?>" onclick="addToCart('<?php echo $product['product_id']; ?>');" /> Заменить на: <input type="text" value="1" class="item-<?php echo $product['product_id']; ?>" /> <input type="button" value="<?php echo $button_cart; ?>" onclick="addQtyToCart('<?php echo $product['product_id']; ?>');" class="button" /> Найти ниже: <script type="text/javascript"><!-- Вставить после: function addQtyToCart(product_id) { var qty = $('.item-' + product_id).val(); if ((parseFloat(qty) != parseInt(qty)) || isNaN(qty)) { qty = 1; } addToCart(product_id, qty); }
-
Убрал - всё заработало со стандартной корзиной. Выбираю количество со страницы категории и нажимаю кнопку купить - идёт редирект на checkout/cart - товар добавился в корзину с правильным количеством.Попробовал изменить в category.php $this->data['action'] = $this->url->link('checkout/cart'); >>> $this->data['action'] = $this->url->link('checkout/simplecheckout'); После нажатия купить в категории идёт редирект на вашу корзину - товар не добавляется в неё. Я плохо в этом разбираюсь, но не может ли быть причиной, что в стандартной корзине присутствуют checkout/cart и checkout/checkout, а в вашем модуле только checkout/simplecheckout При включенном вашем модуле я могу увидеть стандартную корзину по ссылке /index.php?route=checkout/cart, то есть она продолжает работать. Но допустим если я меняю количество товара отложенного в checkout/cart то нажав оформить заказ идёт редирект на вашу корзину checkout/simplecheckout и количество которое я задал в checkout/cart в вашу корзнину не передается. По поводу $action. Вы предлагаете $this->data['action'] = $this->url->link('cart/update'); или тоже самое но с cart/add? На оба эти изменения сайт отвечает "ЗАПРАШИВАЕМАЯ СТРАНИЦА НЕ НАЙДЕНА!" В адресной строке index.php?route=cart/add либо index.php?route=cart/update Почему таким способом не удаётся передать данные в корзину вашего модуля?
-
Мне нужно чтобы выбрать количества товара можно было прямо из списка в категории. Для этого я сделал следующее: catalog/controller/product/category.php перед if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/category.tpl')) { вставил $this->data['action'] = $this->url->link('checkout/cart'); if (isset($this->request->get['page'])) { $url .= '&page=' . $this->request->get['page']; } $this->data['redirect'] = HTTP_SERVER . 'index.php?route=product/category&path=' . $this->request->get['path'] . $url; catalog/view/theme/default/product/category.tpl заменил <div class="cart"><a onclick="addToCart('<?php echo $product['product_id']; ?>');" class="button"><span><?php echo $button_cart; ?></span></a></div> на <div class="cart"> <form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data" id="product_<?php echo $product['product_id']; ?>"> <div style="display: inline; text-align: center;"> <?php echo $text_quantity; ?> <input type="text" name="quantity" size="3" value="1" /> <a onclick="$('#product_<?php echo $product['product_id']; ?>').submit();" class="button"><span><?php echo $button_cart; ?></span></a> <input type="hidden" name="product_id" value="<?php echo $product['product_id']; ?>" /> <input type="hidden" name="redirect" value="<?php echo str_replace('&', '&', $redirect); ?>" /> </div> </form> </div> Без вашего модуля всё работает. С ним при нажатии на кнопку купить переводит на страницу базовой корзины ничего не добавил. Пробовал менять link('checkout/cart'); на link('checkout/simplecheckout'); Не помогло - редеректит на корзину вашего модуля, но ничего не добавляет. Подскажите, пожалуйста, в чём может быть дело?
-
Модуль обмена с 1C v8.x для ocStore1.5.x
Kitson replied to wolfovich's topic in Модули обмена данными
здравствуйте! всё настроил как положено - ошибка PHP Warning: Invalid argument supplied for foreach() in admin/model/tool/exchange1c.php on line 16При этом товары и категории выгружаются отдельно, а не товары внутри категорий как размещено в номенклатуре 1с.Картинки к товарам выгружаются, но цен нет. В чём может быть дело, подскажите, пожалуйста? ______________________________________________________________________ Установил с нуля на другом хостинге только чистый opencart 1.5.1.3 + этот модуль. Версия УТ 11.0.7.13 (предприятие 8.2.15.289) Возникла следующая ошибка в отчетах УТ: 1.06.2012 16:01:16 Выгрузка на сайт завершилась с ошибками. offers.xml: Произошла ошибка на стороне сервера. Получен неизвестный статус импорта. Ответ сервера: <b>Notice</b>: Undefined variable: data in <b>/home/heartman/public_html/admin/model/tool/exchange1c.php</b> on line <b>327</b><b>Notice</b>: Undefined offset: 0 in <b>/home/heartman/public_html/admin/model/catalog/product.php</b> on line <b>229</b>success При этом товар выгружается без цены. В журнале ошибок: 2012-06-01 12:15:13 - PHP Notice: Undefined variable: data in /home/heartman/public_html/admin/model/tool/exchange1c.php on line 327 2012-06-01 12:15:13 - PHP Notice: Undefined offset: 0 in /home/heartman/public_html/admin/model/catalog/product.php on line 229 -
А как можно сделать чтобы не происходила разавторизация при выходе из браузера? То есть чтобы залогинился, закрыл браузер, потом запускаешь и ты остался авторизированным.