Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

cha0s

Users
  
  • Posts

    176
  • Joined

  • Last visited

Everything posted by cha0s

  1. Задача такая, админка вся на русском языке, но печать накладной должна быть на другом языке(не тот который установлен в админ как по дефу), каким образом задать для такого конкретный язык а не текущий? Замена языкового файла не подходит, она конечно переводит часть, но например названия продуктов в накладной, методы выбранные оплат/доставок, останется на прежнем языке, а мне надо чтоб все было на одном языке, как такое реализовать?
  2. Делается свой модуль которого нету нигде, он связан через API при выборе пункта в Shippinge открывается модальное окно с картой, где клиент отмечает где он хотел-бы забрать товар(разные сервисы почтовые), он отмечает срабатывает функция callback, с параметрами, места, улица и т.д, их я беру без проблем и заполняю поля Shippinga при помощи js, но еще есть один параметр это цена, которая формируется от того что выбрал пользователь, мне надо каким-то образом передать цену эту понимаешь? из модели shippinga этого цена на шаблон приходит 0, каким образом мне от выбора сделать так чтоб цена уже была не 0, понимаешь о чем я?
  3. Имеется такой вопрос можно ли из шаблона(*.tpl) задать цену Shippingu? Делается новый Shipping модуль, изначально цена нам неизвестна(и из контроллера она равна 0), при выборе пользователем данного Shipping'a открывается окно с картой где он может забрать свой товар, и у каждой точке на карте есть цена, цену мы получаем при помощи callback функции все ок, но вопрос как эту цену сунуть в Shipping(Не просто javascriptom поменять цену ;D) а именно чтоб нормальная цена была, которая так-же включиться и в ордер и тому подобное, это реально?
  4. в opencart есть модуль типа featured, где можно на home page разместить рекомендуемые товары, но можно ли как-то отобразить просто все категории? то есть название и картинка категории чтоб было, по дефу такого нету в opencart?
  5. Имеется допустим форма там Это все передается POST у каждого есть value=contry_id все просто и понятно, объясните как это преобразовать в вид JSON, а потом обратно из него достать и расставить все галочки которые установлены(нужен пример именно работы с JSON при post Взяли положили в базу, а потом в обратном порядке взяли снова расставили).
  6. Не думал что есть те кто не знает :oops: практически самый лучший(и дорогой) extension для работы с xml/cvs файлами для importa http://www.opencart.com/index.php?route=extension/extension/info&extension_id=4286
  7. Скажите данный модуль может работать с подгруппами тэгов? например с таким?? он может разобрать то что в Qty, Price? или он только без групп читает? <CatalogItem> <Product> <ProductID>1009417</ProductID> <PartNumber>51640AE</PartNumber> <EANCode>88698200186</EANCode> <Grouping> <GroupBy GroupID="VendorID" Value="80000590"/> <GroupBy GroupID="ClassID" Value="L13003001"/> </Grouping> </Product> <Qty WarehouseID="1"> <QtyAvailable>0</QtyAvailable> <DeliveryDate>2014-09-02T00:00:00</DeliveryDate> </Qty> <Qty WarehouseID="2"> <QtyAvailable>35</QtyAvailable> </Qty> <Qty WarehouseID="FI" DeliveryType="Indirect"> <QtyAvailable>32</QtyAvailable> <UnitPrice>24.360000000</UnitPrice> </Qty> <Qty WarehouseID="LT" DeliveryType="Indirect"> <QtyAvailable>3</QtyAvailable> <UnitPrice>23.840000000</UnitPrice> </Qty> <Price> <UnitPrice Type="C0">23.70</UnitPrice> <PromoFlag>0</PromoFlag> </Price> </CatalogItem>
  8. Уже все настроено, везде все включено, если по сайту перемещаться то бросает на https, но на сайт можно так-же зайти если заменить https на http(страницу откроет - ну само собой если дальше куда-то кликнуть будет https снова), НО как сделать так чтоб все время перебрасывало на https? что нужно указать в .htaccess?
  9. работает на ура! спасибо! :) не понятно почему не ставиться лайк тебе( или из-за того что мог недавно ставить уже, еще раз спасибо! :) +++++
  10. ок сделаем так как надо знач :) собственно шаблон header.tpl не знает что такое $metas, так как в контроллере header.php этого нету. <?php foreach ($metas as $meta) { ?> <meta name="<?php echo $meta['name']; ?>" content="<?php echo $meta['content']; ?>" /> <?php } ?>
  11. спасиб за ответ, я совсем забыл что можно заюзать $('head').prepend('<meta name="robots" content="noindex">') :) тогда когда if выполняет условия в category.tpl. $this->document->addMeta('robots', 'noindex'); <?php foreach ($metas as $meta) { ?> <meta name="<?php echo $meta['name']; ?>" content="<?php echo $meta['content']; ?>" /> <?php } ?> первое понял что в саму document.php а остальное?:) foreach в header.tpl, а вызов ->addMeta делать в контроллере category.php?
  12. Почему нужен такой заплёт, дело в том что для robots.txt файла(а точнее мета <meta name="robots" content="noindex">) должен добавляться выборочно в отмеченные для этого категории, и я не могу сделать в header.php запрет, так как не знаю в какой категории будет находится пользователь. Задача в нужные категории добавить в шапку <meta name="robots" content="noindex"> в контроллере у меня уже определяются такие категории, и в шаблоне тоже, но черт побери а как это залепить в <head>? если шаблон(category.tpl) начинается <?php echo $header; ?> ................... ??????
  13. Скажите там можно при импорте увеличить цены на %? не могу разобраться он даёт только добавить к цене fixed сумму, и умножить на какое-то число, а как добавить например 7% к сумме от стоимости продукта? он такое позволяет?
  14. все уже сам разобрался;)) в system/startup.php надо было ее прописать :ugeek:
  15. нужно переделать библиотеку library/pagination.php для одной страницы(на остальных всех будет default pagination), делаю копирую pagination.php переименовываю в mypagination, открываю ее, меняю начало <?php class Mypagination { ....... } ?> дальше в контроллере пытаюсь ее вызвать $pagination = new mypagination(); и соответственно результат Fatal error: Class 'mypagination' not found in /home/...... on line 566 что я упустил? где еще нужно прописать эту библиотеку? чтоб она находилась
  16. Подскажите как вывести все категории и подкатегории $this->load->model('catalog/category'); $this->data['categories'] = array(); foreach ($this->model_catalog_category->getCategories(array()) as $category) { $this->data['categories'][] = array( 'category_id' => $category['category_id'], 'name' => $category['name'] ); } есть такой код, но он только выводит главные категории, как сделать чтоб вывел сразу все? надо только имя категории и ее id, и для текущего языка который установлен как default в магазине(ну это вроде он уже и так делает).
  17. Ну понятно что в backend может быть настройка не одного магазина, собственно вопрос как получить массив всех этих магазинов(stores)?
  18. Извиняюсь не могу разобраться каким образом сортирует он товары.... по алфавиту что-ль? почему-то Sort Order продукта не влияет на расположения товаров в "Related Products"
  19. Нужно переделать работу default wishlist, нужно чтоб не просто добавлялся продукт туда а так-же в ссылке были все опции который пользователь выбрал у этого продукта тобишь будет ссылка с параметрами всех выбранных опций route=product/product&product_id=31&270=365&511=1565 типа такой какая-то опция с 270 номером и выбранным value 365 (ну к примеру) не важно, вроде-бы ничего сложного, самое интересное дальше стал смотреть функцию контроллера на добавление в wishlist продукта public function add() { $this->language->load('account/wishlist'); $json = array(); if (!isset($this->session->data['wishlist'])) { $this->session->data['wishlist'] = array(); } if (isset($this->request->post['product_id'])) { $product_id = $this->request->post['product_id']; } else { $product_id = 0; } $this->load->model('catalog/product'); $product_info = $this->model_catalog_product->getProduct($product_id); if ($product_info) { if (!in_array($this->request->post['product_id'], $this->session->data['wishlist'])) { $this->session->data['wishlist'][] = $this->request->post['product_id']; } if ($this->customer->isLogged()) { $json['success'] = sprintf($this->language->get('text_success'), $this->url->link('product/product', 'product_id=' . $this->request->post['product_id']), $product_info['name'], $this->url->link('account/wishlist')); } else { $json['success'] = sprintf($this->language->get('text_login'), $this->url->link('account/login', '', 'SSL'), $this->url->link('account/register', '', 'SSL'), $this->url->link('product/product', 'product_id=' . $this->request->post['product_id']), $product_info['name'], $this->url->link('account/wishlist')); } $json['total'] = sprintf($this->language->get('text_wishlist'), (isset($this->session->data['wishlist']) ? count($this->session->data['wishlist']) : 0)); } $this->response->setOutput(json_encode($json)); } } Объясните мне дураку, где тут добавляется json образный код в базу???? в таблице customers в поле wishlist появляются мои сохранения "a:2:{i:0;s:2:"31";i:1;s:2:"31";}" ВОПРОС, где это он успел их добавить в базу? я вижу только $this->load->model('catalog/product'); $product_info = $this->model_catalog_product->getProduct($product_id); НО не вижу где он успел уже засунуть в базу json, мне надо своё туда засунуть как-бы=) не понимаю где он производит эту запись. Спасибо. Ну и сам ajax выглядит схоже с cart все параметры всех опций если что у меня успешно передаются на этот контроллер =)
  20. Добрый день, ищу модуль который бы при покупке товара в backend'e показывал с какого сайта пришел клиент, просто есть 2 сайта, 2-ой сайт партнеров, там будет у них баннер, при клике по которому клиент переходит на 1-вый сайт, и если он что-то покупает, чтоб это было видно... типа referal'a или как правильнее не знаю, есть ли что-то готовое? подскажите.
  21. Наткнулся в интернете на один хороший бесплатный модуль ( http://www.opencart.com/index.php?route=extension/extension/info&extension_id=14760&filter_search=Live%20price&filter_license=0 ), разработчик забил..., с автоматической обновлением цены при выборе каких либо опций, или количества продукта, все хорошо но в нём есть бага не работают Checkbox почему-то, пытаюсь разобраться что к чему, код подверг уже модернизации со стороны php, то есть Checkbox отмеченный и его цены в php он видит, объясните почему ajax не срабатывает при этом.... с radio/select все супер работает, а вот с checkbox фэйл какой-то=(, я так полагаю что php и вовсе можно не смотреть, а только скорей сам низ где идет javascript, есть идеи вообще почему, не обновляется цена? ведь с Radio/select все отлично работает.... <?php class ControllerProductAjaxoptions5 extends Controller { public $options_container = '.results5'; // in default them it is ".product-info" public $special_price_container = '.price-new'; // in default them it is ".price-new" public $old_price_container = '.price-old'; // in default them it is ".price-old" public $tax_price_container = '.price-tax'; // in default them it is ".price-tax'" public $price_container = '#price_container5'; // by default this module sets "#price_container" public $use_cache = true; // set FALSE to disable caching (TRUE - enable) public $calculate_quantity = true; // calculate price with quantity private $error = array(); public function index() { $json = array(); $update_cache = false; $options_makeup = 0; if (isset($this->request->get['product_id'])) { $product_id = (int)$this->request->get['product_id']; } else { $product_id = 0; } if ($this->calculate_quantity && isset($this->request->post['quantity'])) { $quantity = (int)$this->request->post['quantity']; } else { $quantity = 1; } $this->language->load('product/product'); $this->load->model('catalog/product'); // Cache name if (isset($this->request->post['option']) && is_array($this->request->post['option'])) { $options_hash = serialize($this->request->post['option']); } else { $options_hash = ''; } $cache_key = 'ajax_options5_'. md5($product_id . $quantity. $options_hash . $this->currency->getCode() . $this->session->data['language']); if (!$this->use_cache || (!$json = $this->cache->get($cache_key))) { $product_info = $this->model_catalog_product->getProduct($product_id); // Prepare data if ($product_info) { $update_cache = true; if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { $this->data['price'] = $this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax')); } else { $this->data['price'] = false; } if ((float)$product_info['special']) { $this->data['special'] = $this->tax->calculate($product_info['special'], $product_info['tax_class_id'], $this->config->get('config_tax')); } else { $this->data['special'] = false; } $i=0; // If some options are selected if (isset($this->request->post['option']) && $this->request->post['option']) { foreach ($this->model_catalog_product->getProductOptions($this->request->get['product_id']) as $option) { foreach ($option['option_value'] as $option_value) { if (isset($this->request->post['option'][$option['product_option_id']]) && $this->request->post['option'][$option['product_option_id']] == $option_value['product_option_value_id']) { if (!$option_value['subtract'] || ($option_value['quantity'] > 0)) { if ((($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) && (float)$option_value['price']) { $price = $this->tax->calculate($option_value['price'], $product_info['tax_class_id'], $this->config->get('config_tax')); } else { $price = false; } if ($price) { if ($option_value['price_prefix'] === '+') { $options_makeup = $options_makeup + (float)$price; } else { $options_makeup = $options_makeup - (float)$price; } } } } if (isset($this->request->post['option'][$option['product_option_id']][$i]) && $this->request->post['option'][$option['product_option_id']][$i] == $option_value['product_option_value_id']) { $i++; if (!$option_value['subtract'] || ($option_value['quantity'] > 0)) { if ((($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) && (float)$option_value['price']) { $price = $this->tax->calculate($option_value['price'], $product_info['tax_class_id'], $this->config->get('config_tax')); } else { $price = false; } if ($price) { if ($option_value['price_prefix'][$i] === '+') { $options_makeup = $options_makeup + (float)$price; } else { $options_makeup = $options_makeup - (float)$price; } } } } } } } if ($this->data['price']) { $this->data['price'] = 0; $json['new_price']['price'] = $this->currency->format(($this->data['price'] + $options_makeup) * $quantity); } else { $json['new_price']['price'] = false; } if ($this->data['special']) { $json['new_price']['special'] = $this->currency->format(($this->data['special'] + $options_makeup) * $quantity); } else { $json['new_price']['special'] = false; } if ($this->config->get('config_tax')) { $json['new_price']['tax'] = $this->language->get('text_tax').' '.$this->currency->format(((float)$product_info['special'] ? ($product_info['special'] + $options_makeup) : ($product_info['price'] + $options_makeup)) * $quantity ); } else { $json['new_price']['tax'] = false; } $json['success'] = true; } else { $json['success'] = false; } } if ($update_cache && $this->use_cache) { $this->cache->set($cache_key, $json); } echo json_encode($json); exit; } function js5() { header('Content-Type: application/javascript'); if (isset($this->request->get['product_id'])) { $product_id = (int)$this->request->get['product_id']; } else { $product_id = 0; } if ($product_id == 0) { exit; } $js5 = <<<HTML var price_with_options_ajax_call5 = function() { $.ajax({ type: 'POST', url: 'index.php?route=product/ajaxoptions5/index&product_id=$product_id', data: $('{$this->options_container} input[type=\'text\'], {$this->options_container} input[type=\'hidden\'], {$this->options_container} input[type=\'radio\']:checked, {$this->options_container} input[type=\'checkbox\']:checked, {$this->options_container} select, {$this->options_container} textarea'), dataType: 'json', beforeSend: function() { // you can add smth useful here }, complete: function() { // you can add smth useful here }, success: function(json) { if (json.success) { if ($('{$this->options_container} {$this->tax_price_container}').length > 0 && json.new_price.tax) { animation_on_change_price_with_options5('{$this->options_container} {$this->tax_price_container}', json.new_price.tax); } if ($('{$this->options_container} {$this->old_price_container}').length > 0 && json.new_price.price) { animation_on_change_price_with_options5('{$this->options_container} {$this->old_price_container}', json.new_price.price); } if ($('{$this->options_container} {$this->special_price_container}').length > 0 && json.new_price.special) { animation_on_change_price_with_options5('{$this->options_container} {$this->special_price_container}', json.new_price.special); } if ($('{$this->options_container} {$this->price_container}').length > 0 && json.new_price.price) { animation_on_change_price_with_options5('{$this->options_container} {$this->price_container}', json.new_price.price); } } }, error: function(error) { console.log(error); } }); } var animation_on_change_price_with_options5 = function(selector_class_or_id, new_html_content) { $(selector_class_or_id).fadeOut(150, function() { $(this).html(new_html_content).fadeIn(50); }); } if ( jQuery.isFunction(jQuery.fn.on) ) { $('{$this->options_container} input[type=\'text\'], {$this->options_container} input[type=\'hidden\'], {$this->options_container} input[type=\'radio\']:checked, {$this->options_container} input[type=\'checkbox\'], {$this->options_container} select, {$this->options_container} textarea, .product-info input[name=\'quantity\']').live('change', function() { price_with_options_ajax_call5(); }); } else { $('{$this->options_container} input[type=\'text\'], {$this->options_container} input[type=\'hidden\'], {$this->options_container} input[type=\'radio\']:checked, {$this->options_container} input[type=\'checkbox\'], {$this->options_container} select, {$this->options_container} textarea, .product-info input[name=\'quantity\']').live('change', function() { price_with_options_ajax_call5(); }); } HTML; echo $js5; exit; } } ?>
  22. Это все нужно для того чтоб http://sait.com не отображал когда такой URL содержимое common/home??? больше мне ничего не нужно. Сам URL когда жмешь на лого или на home уже работает так как надо.
  23. нашел тут такой пост https://opencartforum.com/topic/5634-%D0%B3%D0%B4%D0%B5-%D1%81%D0%BC%D0%B5%D0%BD%D0%B8%D1%82%D1%8C-%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D1%83-%D0%BD%D0%B0-%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D1%83%D1%8E-%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%BE/ как-бы да он заменяет common/home начальную страницу на нужную мне.... но если человек заходит на сайта например http://sait.com/ то он видит снова эту common/home страницу.... скажите как поставить чтоб начальная страница был не путь common/home?
×
×
  • Create New...

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.