Перейти к содержанию

voron121

Пользователи
  • Публикаций

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

  • Посещение

Репутация

0 Обычный

Информация о voron121

  • Звание
    Пользователь

Информация

  • Пол
    Мужчина

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

1 525 просмотров профиля
  1. Подскажите плз а как вывести информацию о заказе в корзине ? Имеется в виду total и сумма с учетом скидки + поле для ввода купона на скидку . Есть ли эти фичи в модуле или нужно пилить ?
  2. 300.00 руб Скачать/Купить дополнение Доставка популярными курьерскими службами Данный модуль является клоном модуля доставки Opencart 2.0 с не большими но полезными изменениями. В архиве находится несколько методов доставки товара популярными курьерскими службами: Доставка Новой Почтой Доставка Автолюкс Доставка Ин-Тайм Доставка Мист Экспресс Доставка УкрПочта Доставка Ночной Экспресс Доставка курьером по городу Все методы доставки реализованы в трех языковых локализациях: русский, украинский и английский языки. Для удобства использования модуля в административном разделе, возле наименования каждого модуля выведено лого перевозчика. На каждый способ доставки можно установить свою фиксированную стоимость доставки. Не заменяет системных файлов Не требует Vqmod Все клоны разделены на папки + есть папка со всеми модулями для пакетной установки Работает с модулем simple и подобными модулями упрощенной страницы оформления заказа Работоспособность модуля проверена на opencart версии 2,0,3,1 ----- P.S: по вопросам пишите в личку на форуме Добавил voron121 Добавлено 29.09.2015 Категория Доставки  
  3. Доброго времени суток. Решил реализовать опции в категории opencart 2,0,3,1. Пробовал готовый модуль - но с ним есть не большие траблы. Собственно что я предпринял: В контроллере category.php добавил сл строки : перед $data['products'][] = array( $var_currency = array(); $var_currency['value'] = $this->currency->getValue(); $var_currency['symbol_left'] = $this->currency->getSymbolLeft(); $var_currency['symbol_right'] = $this->currency->getSymbolRight(); $var_currency['decimals'] = $this->currency->getDecimalPlace(); $var_currency['decimal_point'] = $this->language->get('decimal_point'); $var_currency['thousand_point'] = $this->language->get('thousand_point'); $data['currency'] = $var_currency; $options = $this->model_catalog_product->getProductOptions($result['product_id']); в самом массиве добавил сл: 'options' => $options, 'price_no_format' => $result['price'], 'special_no_format' => $result['special'], Далее во вьюхе вывел сами опции <div class="options"> <?php if ($product['options']) { ?> <div id="option_<?php echo $product['product_id']; ?>"> <?php foreach ($product['options'] as $option) { ?> <?php if ($option['type'] == 'select') { ?> <div id="option-<?php echo $option['product_option_id']; ?>" class="option"> <?php if ($option['required']) { ?>*<?php } ?> <label><?php echo $option['name']; ?>:</label><br /> <select name="option[<?php echo $option['product_option_id']; ?>]" onchange="recalc(<?php echo $product['product_id']; ?>);" id="<?php echo $product['product_id']; ?>"> <option value="" price_prefix="" price=""><?php echo $text_select; ?></option> <?php foreach ($option['product_option_value'] as $option_value) { ?> <option value="<?php echo $option_value['product_option_value_id']; ?>" price_prefix="<?php echo $option_value['price_prefix']; ?>" price="<?php echo $option_value['price']; ?>"><?php echo $option_value['name']; ?> <?php if ($option_value['price']) { ?>(<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>)<?php } ?></option> <?php } ?> </select> </div> <?php } ?> <?php if ($option['type'] == 'radio') { ?> <div id="option-<?php echo $option['product_option_id']; ?>" class="option"> <?php if ($option['required']) { ?>*<?php } ?> <label><?php echo $option['name']; ?>:</label><br /> <?php foreach ($option['product_option_value'] as $option_value) { ?> <input type="radio" price_prefix="<?php echo $option_value['price_prefix']; ?>" price="<?php echo $option_value['price']; ?>" onchange="recalc(<?php echo $product['product_id']; ?>);" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option_value['product_option_value_id']; ?>" id="option-value-<?php echo $option_value['product_option_value_id']; ?>" /> <label for="option-value-<?php echo $option_value['product_option_value_id']; ?>"><?php echo $option_value['name']; ?> <?php if ($option_value['price']) { ?>(<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>)<?php } ?></label><br /> <?php } ?> </div> <?php } ?> <?php if ($option['type'] == 'checkbox') { ?> <div id="option-<?php echo $option['product_option_id']; ?>" class="option"> <?php if ($option['required']) { ?>*<?php } ?> <label><?php echo $option['name']; ?>:</label><br /> <?php foreach ($option['product_option_value'] as $option_value) { ?> <input type="checkbox" price_prefix="<?php echo $option_value['price_prefix']; ?>" price="<?php echo $option_value['price']; ?>" onchange="recalc(<?php echo $product['product_id']; ?>);" name="option[<?php echo $option['product_option_id']; ?>][]" value="<?php echo $option_value['product_option_value_id']; ?>" id="option-value-<?php echo $option_value['product_option_value_id']; ?>" /> <label for="option-value-<?php echo $option_value['product_option_value_id']; ?>"><?php echo $option_value['name']; ?> <?php if ($option_value['price']) { ?>(<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>)<?php } ?></label><br /> <?php } ?> </div> <?php } ?> <?php } ?> </div> <?php } ?> </div> Для того, что бы менялось значении цены взял код с модуля обновления цены для карточки товара <script type="text/javascript"><!-- function price_format(n) { c = 2; d = '.'; // decimal separator t = ','; // thousands separator s_left = ''; s_right = ' грн.'; n = n * 1.00000000; //sign = (n < 0) ? '-' : ''; //extracting the absolute value of the integer part of the number and converting to string i = parseInt(n = Math.abs(n).toFixed(c)) + ''; j = ((j = i.length) > 3) ? j % 3 : 0; return s_left + (j ? i.substr(0, j) + t : '') + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : '') + s_right; } function calculate_tax(price) { return price; } function process_discounts(price, quantity) { return price; } animate_delay = 20; main_price_final = calculate_tax(Number($('.price').attr('price'))); main_price_start = calculate_tax(Number($('.price').attr('price'))); main_step = 0; main_timeout_id = 0; function animateMainPrice_callback() { main_price_start += main_step; if ((main_step > 0) && (main_price_start > main_price_final)){ main_price_start = main_price_final; } else if ((main_step < 0) && (main_price_start < main_price_final)) { main_price_start = main_price_final; } else if (main_step == 0) { main_price_start = main_price_final; } $('.price').html( price_format(main_price_start) ); if (main_price_start != main_price_final) { main_timeout_id = setTimeout(animateMainPrice_callback, animate_delay); } } function animateMainPrice(price) { main_price_start = main_price_final; main_price_final = price; main_step = (main_price_final - main_price_start) / 10; clearTimeout(main_timeout_id); main_timeout_id = setTimeout(animateMainPrice_callback, animate_delay); } function recalculateprice() { var main_price = Number($('.price').attr('price')); var input_quantity = Number($('input[name="quantity"]').val()); var special = Number($('#formated_special').attr('price')); var tax = 0; if (isNaN(input_quantity)) input_quantity = 0; // Process Discounts. main_price = process_discounts(main_price, input_quantity); tax = process_discounts(tax, input_quantity); var option_price = 0; $('input:checked,option:selected').each(function() { if ($(this).attr('price_prefix') == '=') { option_price += Number($(this).attr('price')); main_price = 0; special = 0; } }); $('input:checked,option:selected').each(function() { if ($(this).attr('price_prefix') == '+') { option_price += Number($(this).attr('price')); } if ($(this).attr('price_prefix') == '-') { option_price -= Number($(this).attr('price')); } if ($(this).attr('price_prefix') == 'u') { pcnt = 1.0 + (Number($(this).attr('price')) / 100.0); option_price *= pcnt; main_price *= pcnt; special *= pcnt; } if ($(this).attr('price_prefix') == '*') { option_price *= Number($(this).attr('price')); main_price *= Number($(this).attr('price')); special *= Number($(this).attr('price')); } }); special += option_price; main_price += option_price; tax = main_price; // Process TAX. main_price = calculate_tax(main_price); special = calculate_tax(special); // Раскомментировать, если нужен вывод цены с умножением на количество //main_price *= input_quantity; //special *= input_quantity; //tax *= input_quantity; // Display Main Price //$('.price').html( price_format(main_price) ); animateMainPrice(main_price); } $(document).ready(function() { $('input[type="checkbox"]').bind('change', function() { recalculateprice(); }); $('input[type="radio"]').bind('change', function() { recalculateprice(); }); $('select').bind('change', function() { recalculateprice(); }); $quantity = $('input[name="quantity"]'); $quantity.data('val', $quantity.val()); (function() { if ($quantity.val() != $quantity.data('val')){ $quantity.data('val',$quantity.val()); recalculateprice(); } setTimeout(arguments.callee, 250); })(); recalculateprice(); }); //--></script> Цена обновляется при выборе опции. Но вот в чем трабла - какую бы опцию не выбрали товар в корзину уходит со старой ценой (та цена, которую опенкарт выводит по умолчанию). Прошу помощи - сломал голову что исправить что бы в корзину товар уходил с адекватной ценой
  4. модуль норм но не работает обновление самой цены. Подскажите как исправить ? На что реагирует модуль что бы после выбора опции цена так же обновилась в снипете товара в категории ? В корзину товар уходит норм а вот цена визуально старая
  5. Пробую этим модулем портировать товары в prom ua - все идет нормально НО некоторые категории просто отсутсвуют в XML rt (( Может кто то сталкивался ?
  6. Доброго времени суток. Прошу помощи, возможно кто то сталкивался. При оформлении мини корзины на сайте под управлением Opencart 2.0 (стандартной) вывел в теге span картинку. НО при обновлении (при добавлении товара) в мини корзину пропадает тег span и заменяется на тег <i class="fa fa-shopping-cart"></i> с выводом совсем иного изображения. Прошерстил все файлы поиском по названию или по строке - нет упоминания в скриптах или дополнительных вьюшках с тегом <i class="fa fa-shopping-cart"></i> . Не могу убрать поршивца ((( Подскажите как исправить и где искать
  7. не мешало бы откоментировать с какой именно строки вносить правку в контроллер
  8. Доброго времени суток уважаемые форумчане. Появилась у меня трабла с , казалось бы, стандартной задачей в opencart - вывод категорий. Используется платный шаблон (переделываю за предыдущим разработчиком его косяки) . После переноса сайта на другой хостинг перестали выводиться категории в шапке сайта. Делаю var_dump в руфвукюезд - пишет NULL . В то же время делаю var_dump в контроллере - выводит массив с данными. Шаблон в контролере видится и подключается. Где ошибка - не могу понять . Возможно кто подскажет. Вот код вьюхи с категориями <?php if ($categories) { ?> <div id="menu"> <ul> <?php foreach ($categories as $category) { ?> <li><?php if ($category['active']) { ?> <a href="<?php echo $category['href']; ?>" class="active"><?php echo $category['name']; ?></a> <?php } else { ?> <a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a> <?php } ?> <?php if ($category['children']) { ?> <div> <?php for ($i = 0; $i < count($category['children']);) { ?> <ul> <?php $j = $i + ceil(count($category['children']) / $category['column']); ?> <?php for (; $i < $j; $i++) { ?> <?php if (isset($category['children'][$i])) { ?> <li><a href="<?php echo $category['children'][$i]['href']; ?>"><?php echo $category['children'][$i]['name']; ?></a></li> <?php } ?> <?php } ?> </ul> <?php } ?> </div> <?php } ?> </li> <?php } ?> </ul> </div> <?php } ?> <div id="menu"> Вот это в контроллере // Menu if (isset($this->request->get['path'])) { $parts = explode('_', (string)$this->request->get['path']); } else { $parts = array(); } $this->load->model('catalog/category'); $this->load->model('catalog/product'); $this->load->model('tool/image'); $this->data['categories'] = array(); $categories = $this->model_catalog_category->getCategories(0); foreach ($categories as $category) { if ($category['top']) { // Level 2 $children_data = array(); $children = $this->model_catalog_category->getCategories($category['category_id']); foreach ($children as $child) { if($child['image']) { $cat_image = $this->model_tool_image->resize($child['image'],30,30); }else{ $cat_image = $this->model_tool_image->resize('no_image_white.jpg',1,1); } //Будем вычислять кол-во товаров в категориях только если это кол-во надо показывать if ($this->config->get('config_product_count')) { $data = array( 'filter_category_id' => $child['category_id'], 'filter_sub_category' => true ); $product_total = $this->model_catalog_product->getTotalProducts($data); } $children_data[] = array( 'name' => $child['name'] . ($this->config->get('config_product_count') ? ' <span class="kolvo">' . $product_total . '</span>' : ''), 'thumb' => $cat_image, 'href' => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id']) ); } // Level 1 $this->data['categories'][] = array( 'name' => $category['name'], 'children' => $children_data, 'active' => in_array($category['category_id'], $parts), 'column' => $category['column'] ? $category['column'] : 1, 'href' => $this->url->link('product/category', 'path=' . $category['category_id']) ); } } $this->children = array( 'module/language', 'module/currency', 'module/cart' ); /*****************************************/ $this->load->model('catalog/information'); $this->data['top_info'] = array(); foreach ($this->model_catalog_information->getInformations() as $result) { if ($result['top']) { $this->data['top_info'][] = array( 'title' => $result['title'], 'href' => $this->url->link('information/information', 'information_id=' . $result['information_id']) ); } } /****************************************/ if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/common/header.tpl')) { $this->template = $this->config->get('config_template') . '/template/common/header.tpl'; } else { $this->template = 'ava/template/common/header.tpl'; } $this->render(); } } ?>
  9. у меня та же проблема - опции стираются при редактировании товара, пишет ошибки Notice: Undefined index: type in /home/lawdy/***.com.ua/www/vqmod/vqcache/vq2-admin_model_catalog_product.php on line 220Notice: Undefined index: type in/home/lawdy/***.com.ua/www/vqmod/vqcache/vq2-admin_model_catalog_product.php on line 220Notice: Undefined index: type in /home/lawdy/***.com.ua/www/vqmod/vqcache/vq2-admin_model_catalog_product.php on line 220Notice: Undefined index: type in /home/lawdy/***.com.ua/www/vqmod/vqcache/vq2-admin_model_catalog_product.php on line220Notice: Undefined index: product_option_id in /home/lawdy/***.com.ua/www/vqmod/vqcache/vq2-admin_model_catalog_product.php on line 231Notice: Undefined index: option_id in/home/lawdy/***.com.ua/www/vqmod/vqcache/vq2-admin_model_catalog_product.php on line 231Notice: Undefined index: option_value in/home/lawdy/***.com.ua/www/vqmod/vqcache/vq2-admin_model_catalog_product.php on line 231Notice: Undefined index: required in/home/lawdy/***.com.ua/www/vqmod/vqcache/vq2-admin_model_catalog_product.php on line 231Notice: Undefined index: optsku in/home/lawdy/***.com.ua/www/vqmod/vqcache/vq2-admin_model_catalog_product.php on line 227Notice: Undefined index: optsku in/home/lawdy/***.com.ua/www/vqmod/vqcache/vq2-admin_model_catalog_product.php on line 227Notice: Error: Column 'optsku' specified twice Error No: 1110 INSERT INTO oc_product_option_value SET product_option_value_id = '0', product_option_id = '114', product_id = '16232', option_id = '1', option_value_id = '247', quantity = '0', subtract = '1', price = '0', price_prefix = '+', points = '0', points_prefix = '+', weight = '0', optsku = '', optsku= '', weight_prefix = '+' in /home/lawdy/***.com.ua/www/system/database/mysql.php on line 49
  10. Подскажите, а как эту же капчу добавить для авторизации и регистрации пользователя на фронтенде ?
  11. Доброго времени суток. Прошу помощи / совета. Задача такова - есть примерно сл структура меню : первый уровень: (выпадающий списк) : распродажа1, распродажа2 остальные пункты второго уровня дочерние пункты меню второго уровня В админке, для того, что бы выделить опционально пункты распродажа в выпадающем списке , я сделал выпадающий список с настройками. В бд пишет 0 или 1 в зависимости от выбранной настройки. Теперь парюсь с тем, что бы вывести в остальных пунктах меню все пункты меню у которых в настройках стоит 0. То есть смысл таков что если в админке для пункта меню второго уровня выбрать параметр распродажа "да", то он выводится в отдельном блоке над всем пунктами меню второго уровня. Прикрепил скрин для ясности.
  12. Версия 1,0

    Данный модуль является клоном модуля доставки Opencart 2.0 с не большими но полезными изменениями. В архиве находится несколько методов доставки товара популярными курьерскими службами: Доставка Новой Почтой Доставка Автолюкс Доставка Ин-Тайм Доставка Мист Экспресс Доставка УкрПочта Доставка Ночной Экспресс Доставка курьером по городу Все методы доставки реализованы в трех языковых локализациях: русский, украинский и английский языки. Для удобства использования модуля в административном разделе, возле наименования каждого модуля выведено лого перевозчика. На каждый способ доставки можно установить свою фиксированную стоимость доставки. Не заменяет системных файлов Не требует Vqmod Все клоны разделены на папки + есть папка со всеми модулями для пакетной установки Работает с модулем simple и подобными модулями упрощенной страницы оформления заказа Работоспособность модуля проверена на opencart версии 2,0,3,1 ----- P.S: по вопросам пишите в личку на форуме

    300.00 руб

×

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

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