Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Alan8

Користувачі
  
  • Публікації

    92
  • З нами

  • Відвідування

Усі публікації користувача Alan8

  1. buslikdrev, данной строчки нет. Это значит я скачал битый opencart или тема голимая?
  2. buslikdrev, не совсем понимаю, что и где нужно править? Можете более детально объяснить, с данной версией opencart работаю впервые. До этого на 1.5 натягивал шаблон никаких проблем не было
  3. Добрый день, я использую opencart 2.2. После обновления кэша модификаторов обнаружил таки ошибки, как их исправить и почему они возникли? 2017-06-27 0:34:46 - MOD: Modification Default FILE: system/engine/action.php REGEX: ~(require|include)(_once)?\(([^)]+)~ LINE: 34 FILE: system/engine/loader.php REGEX: ~(require|include)(_once)?\(([^)]+)~ LINE: 41 LINE: 92 LINE: 104 LINE: 142 FILE: system/library/config.php REGEX: ~(require|include)(_once)?\(([^)]+)~ LINE: 23 FILE: system/library/language.php REGEX: ~(require|include)(_once)?\(([^)]+)~ LINE: 35 LINE: 41 LINE: 47 FILE: system/library/template/basic.php REGEX: ~(require|include)(_once)?\(([^)]+)~ LINE: 18 ---------------------------------------------------------------- MOD: AveThemes Framework FILE: system/library/response.php CODE: $this->output = $output; LINE: 24 FILE: system/library/db.php CODE: class DB { LINE: 1 CODE: return $this->adaptor->query($sql, $params); LINE: 16 CODE: return $this->db->query($sql); NOT FOUND! FILE: catalog/controller/information/sitemap.php CODE: $this->load->language('information/sitemap'); LINE: 3 FILE: admin/controller/common/login.php CODE: if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) { LINE: 13 FILE: admin/view/template/tool/backup.tpl CODE: <div class="well well-sm" style="height: 150px; overflow: auto;"> LINE: 44 FILE: admin/controller/extension/modification.php CODE: $this->response->redirect($this->url->link('extension/modification', 'token=' . $this->session->data['token'] . $url, 'SSL')); NOT FOUND! FILE: admin/controller/extension/module.php CODE: $data['breadcrumbs'] = array(); LINE: 90 CODE: $this->response->setOutput($this->load->view('extension/module', $data)); LINE: 196 CODE: $this->response->setOutput($this->load->view('extension/module.tpl', $data)); NOT FOUND! FILE: admin/controller/common/menu.php CODE: public function index() { LINE: 2 FILE: admin/view/template/common/menu.tpl CODE: <li id="reports"><a class="parent"><i class="fa fa-bar-chart-o fa-fw"></i> <span><?php echo $text_reports; ?></span></a> LINE: 167 FILE: admin/model/localisation/language.php CODE: $language_id = $this->db->getLastId(); LINE: 7 CODE: public function deleteLanguage($language_id) { LINE: 209 FILE: admin/model/catalog/product.php CODE: $this->cache->delete('product'); LINE: 153 LINE: 322 LINE: 378 FILE: admin/controller/catalog/category.php CODE: $data['categories'] = array(); LINE: 179 CODE: $data['categories'][] = array( LINE: 195 CODE: 'sort_order' => $result['sort_order'], LINE: 209 FILE: admin/view/template/catalog/category_list.tpl CODE: <td style="width: 1px;" class="text-center"><input type="checkbox" onclick="$('input[name*=\'selected\']').prop('checked', this.checked);" /></td> LINE: 36 CODE: <td class="text-left"><?php echo $category['name']; ?></td> LINE: 59 CODE: <td class="text-center" colspan="4"><?php echo $text_no_results; ?></td> LINE: 67 FILE: admin/model/catalog/category.php CODE: $this->cache->delete('category'); LINE: 51 LINE: 150 LINE: 171 FILE: admin/model/catalog/manufacturer.php CODE: $this->cache->delete('manufacturer'); LINE: 21 LINE: 47 LINE: 55 FILE: admin/model/catalog/information.php CODE: $this->cache->delete('information'); LINE: 27 LINE: 63 LINE: 73 FILE: admin/controller/module/bestseller.php CODE: $data['header'] = $this->load->controller('common/header'); LINE: 140 FILE: admin/controller/module/featured.php CODE: $data['header'] = $this->load->controller('common/header'); LINE: 166 FILE: admin/controller/module/latest.php CODE: $data['header'] = $this->load->controller('common/header'); LINE: 140 FILE: admin/controller/module/special.php CODE: $data['header'] = $this->load->controller('common/header'); LINE: 141 FILE: admin/view/template/module/bestseller.tpl CODE: <label class="col-sm-2 control-label" for="input-status"><?php echo $entry_status; ?></label> LINE: 61 FILE: admin/view/template/module/featured.tpl CODE: <label class="col-sm-2 control-label" for="input-status"><?php echo $entry_status; ?></label> LINE: 74 FILE: admin/view/template/module/latest.tpl CODE: <label class="col-sm-2 control-label" for="input-status"><?php echo $entry_status; ?></label> LINE: 61 FILE: admin/view/template/module/special.tpl CODE: <label class="col-sm-2 control-label" for="input-status"><?php echo $entry_status; ?></label> LINE: 61 FILE: catalog/controller/common/header.php CODE: public function index() { LINE: 2 CODE: $data['cart'] = $this->load->controller('common/cart'); LINE: 135 FILE: catalog/controller/common/column_left.php CODE: $layout_id = 0; LINE: 11 FILE: catalog/controller/common/column_right.php CODE: $layout_id = 0; LINE: 11 FILE: catalog/controller/common/content_top.php CODE: $layout_id = 0; LINE: 11 FILE: catalog/controller/common/content_bottom.php CODE: $layout_id = 0; LINE: 11 FILE: catalog/controller/common/footer.php CODE: // Whos Online LINE: 49 CODE: 'title' => $result['title'], LINE: 29 FILE: catalog/controller/product/product.php CODE: $data['images'] = array(); LINE: 309 CODE: $data['images'][] = array( LINE: 333 CODE: $data['rating'] = (int)$product_info['rating']; LINE: 426 CODE: $this->document->setTitle($product_info['meta_title']); LINE: 216 FILE: catalog/controller/product/category.php CODE: $this->document->setTitle($category_info['meta_title']); LINE: 93 FILE: catalog/controller/startup/seo_url.php CODE: $url = explode('=', $query->row['query']); LINE: 21 CODE: if ($query->row['query'] && $url[0] != 'information_id' && $url[0] != 'manufacturer_id' && $url[0] != 'category_id' && $url[0] != 'product_id') { LINE: 58 CODE: $this->request->get['route'] = 'information/information'; LINE: 76 CODE: if (isset($this->request->get['route'])) { LINE: 86 CODE: parse_str($url_info['query'], $data); LINE: 108 CODE: } elseif ($key == 'path') { LINE: 121 FILE: admin/controller/marketing/contact.php CODE: case 'newsletter': LINE: 120 FILE: catalog/controller/common/cart.php CODE: $data['text_loading'] = $this->language->get('text_loading'); LINE: 54 FILE: catalog/controller/checkout/cart.php CODE: $json['total'] = sprintf($this->language->get('text_items'), $this->cart->countProducts() + (isset($this->session->data['vouchers']) ? count($this->session->data['vouchers']) : 0), $this->currency->format($total)); NOT FOUND! FILE: catalog/controller/module/bestseller.php CODE: public function index($setting) { LINE: 2 FILE: catalog/controller/module/featured.php CODE: public function index($setting) { LINE: 2 FILE: catalog/controller/module/latest.php CODE: public function index($setting) { LINE: 2 FILE: catalog/controller/module/special.php CODE: public function index($setting) { LINE: 2 CODE: if ((float)$result['special']) { LINE: 203 CODE: $special = false; LINE: 207 CODE: 'special' => $special, LINE: 302 FILE: catalog/controller/product/manufacturer.php CODE: if ((float)$result['special']) { LINE: 191 CODE: $special = false; LINE: 195 CODE: 'special' => $special, LINE: 217 FILE: catalog/controller/product/search.php CODE: if ((float)$result['special']) { LINE: 228 CODE: $special = false; LINE: 232 CODE: 'special' => $special, LINE: 254 FILE: catalog/controller/product/special.php CODE: if ((float)$result['special']) { LINE: 113 CODE: $special = false; LINE: 117 CODE: 'special' => $special, LINE: 139 FILE: catalog/controller/module/carousel.php CODE: $this->document->addStyle('catalog/view/javascript/jquery/owl-carousel/owl.carousel.css'); LINE: 8 FILE: catalog/controller/module/slideshow.php CODE: $this->document->addStyle('catalog/view/javascript/jquery/owl-carousel/owl.carousel.css'); LINE: 8 FILE: catalog/controller/module/banner.php CODE: $this->document->addStyle('catalog/view/javascript/jquery/owl-carousel/owl.carousel.css'); LINE: 8 ---------------------------------------------------------------- MOD: Export/Import Tool (V3.11) for OpenCart 2.x CODE: $data['text_backup'] = $this->language->get('text_backup'); LINE: 14 CODE: $data['backup'] = $this->url->link('tool/backup', 'token=' . $this->session->data['token'], LINE: 123 FILE: admin/language/en-gb/common/menu.php CODE: $_['text_backup'] LINE: 10 FILE: admin/language/ru-ru/common/menu.php CODE: $_['text_backup'] LINE: 10 CODE: <li><a href="<?php echo $backup; ?>"><?php echo $text_backup; ?></a></li> LINE: 161 FILE: admin/controller/common/column_left.php CODE: if ($this->user->hasPermission('access', 'tool/log')) { NOT FOUND! ---------------------------------------------------------------- MOD: Image Manager ++ FILE: admin/controller/common/header.php CODE: $data['styles'] = $this->document->getStyles(); LINE: 14 FILE: admin/controller/common/filemanager.php CODE: $this->response->setOutput($this->load->view('common/filemanager', $data)); LINE: 197 CODE: $this->response->setOutput($this->load->view('common/filemanager.tpl', $data)); NOT FOUND! FILE: admin/controller/catalog/product.php CODE: $this->load->model('design/layout'); LINE: 1334 FILE: admin/view/template/catalog/product_form.tpl CODE: <div class="tab-pane" id="tab-image"> LINE: 834 CODE: <tr id="image-row<?php echo $image_row; ?>"> LINE: 868 CODE: var image_row = <?php echo $image_row; ?>; LINE: 1383 CODE: function addImage() { LINE: 1389 CODE: html = '<tr id="image-row' + image_row + '">'; LINE: 1400 CODE: $('#images tbody').append(html); LINE: 1406 CODE: <?php echo $footer; ?> LINE: 1465 FILE: admin/controller/design/banner.php CODE: $data['header'] = $this->load->controller('common/header'); LINE: 254 LINE: 391 FILE: admin/view/template/design/banner_form.tpl CODE: <table id="images" class="table table-striped table-bordered table-hover"> LINE: 50 CODE: <td class="text-left"><?php echo $entry_title; ?></td> LINE: 58 CODE: <tr id="image-row<?php echo $image_row; ?>"> LINE: 68 CODE: var image_row = <?php echo $image_row; ?>; LINE: 98 CODE: function addImage() { LINE: 104 CODE: <td class="text-right" style="width: 10%;"><input type="text" name="banner_image[<?php echo $image_row; ?>][sort_order]" value="<?php echo $banner_image['sort_order']; ?>" placeholder="<?php echo $entry_sort_order; ?>" class="form-control" /></td> LINE: 80 CODE: html += ' <td class="text-right" style="width: 10%;"><input type="text" name="banner_image[' + image_row + '][sort_order]" value="" placeholder="<?php echo $entry_sort_order; ?>" class="form-control" /></td>'; LINE: 124 CODE: $('#images tbody').append(html); LINE: 128 CODE: <?php echo $footer; ?> LINE: 139 ---------------------------------------------------------------- MOD: Local copy OCMOD by iSenseLabs FILE: admin/controller/extension/installer.php CODE: 'url' => str_replace('&amp;', '&', $this->url->link('extension/installer/ftp', 'token=' . $this->session->data['token'], LINE: 132 CODE: public function unzip() { LINE: 293 ----------------------------------------------------------------
  4. 4ipshop, AlexDW такая же ошибка в логах, но при этом все работает вроде нормально. В чем причина данной ошибки, и как исправить?
  5. Tom, да делал, в контроллер фильтра добавлял. Поле (sku, model) и др встроенные выводятся! А созданное мной нет
  6. Добрый вечер, у меня такая проблема, я создал дополнительное поле в админке (в котором есть краткое описание для товара), на странице продукта это поле вывел работает нормально. Но на странице категорий не могу вывести, нечего нет даже ошибки в консоли. Причем если я вывожу к примеру параметр (sku, model) то-есть любое встроенное поле то она выводится, а созданное мной поле нет. Причем на странице категорий используется фильтр (FilterPro), и при попытке вывести мое поле он ломается, но ошибки при этом нет. Кто знает подскажите
  7. Добрый день друзья, не могу установить модуль SeoPro на opencart 2.2. В туторила написано сделать так: Скачайте и установите через стандартную установку дополнений файл Автор - freelancer. После установки OCMOD файла, через ваш FTP клиент в файле index.php измените на
  8. mazein, понял спасибо. А как к примеру можно приципить стиль к выбранному цвету (тоесть если я выбираю черный цвет, чтобы на страничке отборажался черный кружок. Как подцепить класс или id?
  9. Добрый день друзья, подскажите как лучше реализовать такой замысел. На странице продукта нужно вывести, доступные цвета данного продукта(к примеру черный квадратик, синий, красный и т.д.), при клики на соответствующий блок(цвет) мы переходим на в карточку товара выбронного цвета?
  10. Добрый день друзья, у меня такая проблема неработает пагинация на страницы категорий, точнее вот такая проблемка, не правильно формируется строка при переходе на (2,3,4... страницы). Строка имеет такой вид: http://club-vld.tw1.ru/index.phproute=product/category&path=75#pmin=0&pmax=91990&pid=75&path=75&page=2&sort=p.sort_order&order=ASC&limit=15 Если перед "pmin" ставлю вместо "#" "$", то все работает. Как исправить формирование этой строки, как я понимаю там что то связано с json
  11. В этой папке все удалил, но все равно изменения не применяются
  12. В этой папке все удалил, но все равно изменения не применяются
  13. Добрый день, у меня проблема с opencart 2. При внесении каких либо провак в файлы, product.php - изменения не применяются. Обновлял и чистил кэш модификаторов. Vqmod не стоит. Также не всегжа применяются изменения и к другим файлам с расширениями .tpl, php, .css. Что делать подскажите, никак не могу разобраться, думаю нужно очисттить кэш страницы вручную, а где лежать файлы не знаю.
  14. Добрый день друзья, кто сталкивался с вызрузкой и загрузкой прайс листов в opencart? Из всего что нашел вот такой модуль (https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=17). Экспорт работает нормально, но иморт нет. Существуют ли нормальные бесплатные модули?
  15. вот код фильтра: <?php /****************************************************** * @package AveThemes Framework Opencart 2.x * @version 1.0 * @author http://www.avethemes.com * @copyright Copyright (C) January 2015 www.avethemes.com <@emai:[email protected]@gmail.com>.All rights reserved. * @license GNU General Public License version 2 *******************************************************/ class ControllerAvethemesAveProductFilter extends Controller { public function index($setting=array()) { if(defined('ave_check')){ $language_data = $this->load->language('avethemes/shortcode_product_filter'); foreach($language_data as $key=>$value){ $data[$key] = $value; } $data['ave'] = $this->ave; $data['currency_code'] = $this->session->data['currency']; $data['setting'] = $setting; $ave_shortcodes_filter_setting = $this->config->get('ave_shortcodes_filter_setting'); if(isset($this->request->get['path'])) { $parts = explode('_', (string)$this->request->get['path']); $category_id = array_pop($parts); $this->load->model('avethemes/filter_product'); $data['manufacturers'] = false; if(isset($ave_shortcodes_filter_setting['display_manufacturer'])){ if($ave_shortcodes_filter_setting['display_manufacturer'] != 'none') { $data['manufacturers'] = $this->model_avethemes_filter_product->getManufacturersByCategoryId($category_id); $data['display_manufacturer'] = $ave_shortcodes_filter_setting['display_manufacturer']; } } $data['options'] = $this->model_avethemes_filter_product->getOptionsByCategoryId($category_id); foreach($data['options'] as $i => $option) { if(isset($ave_shortcodes_filter_setting['display_option_' . $option['option_id']])){ $display_option = $ave_shortcodes_filter_setting['display_option_' . $option['option_id']]; if($display_option != 'none') { $data['options'][$i]['display'] = $display_option; }else{ $data['options'][$i]['display'] = 'none'; } } else { unset($data['options'][$i]); } } $data['attributes'] = $this->model_avethemes_filter_product->getAttributesByCategoryId($category_id); foreach($data['attributes'] as $j => $attribute_group) { foreach($attribute_group['attribute_values'] as $attribute_id => $attribute) { if(isset($ave_shortcodes_filter_setting['display_attribute_' . $attribute_id])){ $display_attribute = $ave_shortcodes_filter_setting['display_attribute_' . $attribute_id]; if($display_attribute != 'none') { $data['attributes'][$j]['attribute_values'][$attribute_id]['display'] = $display_attribute; }else{ unset($data['attributes'][$j]['attribute_values'][$attribute_id]); if(!$data['attributes'][$j]['attribute_values']) { unset($data['attributes'][$j]); } } } else { unset($data['attributes'][$j]['attribute_values'][$attribute_id]); if(!$data['attributes'][$j]['attribute_values']) { unset($data['attributes'][$j]); } } } } $data['category_id'] = $category_id; $data['path'] = $this->request->get['path']; $this->document->addStyle('assets/editor/shortcode/filter/filter.css'); if (isset($this->request->get['sort'])) { $data['sort'] = $this->request->get['sort']; } else { $data['sort'] = 'p.sort_order'; } if (isset($this->request->get['order'])) { $data['order'] = $this->request->get['order']; } else { $data['order'] = 'ASC'; } if (isset($this->request->get['page'])) { $data['page'] = $this->request->get['page']; } else { $data['page'] = 1; } if (isset($this->request->get['limit'])) { $data['limit'] = $this->request->get['limit']; } else { if((int)substr((string)str_replace('.','',VERSION),0,3) > 210) { $data['limit'] = $this->config->get($this->config->get('config_theme') . '_product_limit'); }else{ $data['limit'] = $this->config->get('config_product_limit'); } } $priceLimits = $this->model_avethemes_filter_product->getPriceLimits(array('category_id' => $category_id)); $data['pmin'] = $this->currency->convert($priceLimits['pmin'], $this->config->get('config_currency'), $this->session->data['currency']); $data['pmax'] = $this->currency->convert($priceLimits['pmax'], $this->config->get('config_currency'), $this->session->data['currency']); if((int)substr((string)str_replace('.','',VERSION),0,3) > 210) { $this_template = 'avethemes/required/shortcode_product_filter'; }elseif(file_exists(DIR_TEMPLATE.$this->config->get('config_template').'/template/avethemes/required/shortcode_product_filter.tpl')) { $this_template = $this->config->get('config_template') . '/template/avethemes/required/shortcode_product_filter.tpl'; } else { $this_template = 'default/template/avethemes/required/shortcode_product_filter.tpl'; } return $this->load->view($this_template, $data); } } } private function array_clean(array $haystack) { foreach($haystack as $key => $value) { if(is_array($value)) { $haystack[$key] = $this->array_clean($value); if(!count($haystack[$key])) { unset($haystack[$key]); } } elseif(is_string($value)) { $value = trim($value); if(!$value) { unset($haystack[$key]); } } } return $haystack; } public function parse_filter_data() { $language_data = $this->load->language('avethemes/shortcode_product_filter'); $ave_shortcodes_filter_setting = $this->config->get('ave_shortcodes_filter_setting'); $page = 1; if(isset($this->request->post['page'])) { $page = (int)$this->request->post['page']; } if (isset($this->request->get['sort'])) { $sort = $this->request->get['sort']; }elseif(isset($this->request->post['sort'])) { $sort = $this->request->post['sort']; }else{ $sort = 'p.sort_order'; } if (isset($this->request->get['order'])) { $sort = $this->request->get['order']; }elseif(isset($this->request->post['order'])) { $order = $this->request->post['order']; }else{ $order = 'ASC'; } if (isset($this->request->get['limit'])) { $sort = $this->request->get['limit']; }elseif(isset($this->request->post['limit'])) { $limit = $this->request->post['limit']; }else{ if((int)substr((string)str_replace('.','',VERSION),0,3) > 210) { $limit = $this->config->get($this->config->get('config_theme') . '_product_limit'); }else{ $limit = $this->config->get('config_product_limit'); } } $this->load->model('avethemes/filter_product'); $this->load->model('catalog/product'); $this->load->model('tool/image'); $manufacturer = false; if(isset($this->request->post['manufacturer'])) { $manufacturer = $this->array_clean($this->request->post['manufacturer']); if(!count($manufacturer)) { $manufacturer = false; } } $option_value = false; if(isset($this->request->post['option_value'])) { $option_value = $this->array_clean($this->request->post['option_value']); if(!count($option_value)) { $option_value = false; } } $attribute_value = false; if(isset($this->request->post['attribute_value'])) { $attribute_value = $this->array_clean($this->request->post['attribute_value']); if(!count($attribute_value)) { $attribute_value = false; } } $pid = isset($this->request->post['pid'])?$this->request->post['pid']:false; $pmin = isset($this->request->post['pmin'])?$this->request->post['pmin']:false; $pmax = isset($this->request->post['pmax'])?$this->request->post['pmax']:false; $filter_data = array( 'option_value' => $option_value, 'manufacturer' => $manufacturer, 'attribute_value' => $attribute_value, 'category_id' => $pid, 'pmin' => $pmin, 'pmax' => $pmax, 'start' => ($page - 1) * $limit, 'limit' => $limit, 'sort' => $sort, 'order' => $order ); $product_total = $this->model_avethemes_filter_product->getTotalProducts($filter_data); $totals_manufacturers = $this->model_avethemes_filter_product->getTotalManufacturers($filter_data); $totals_options = $this->model_avethemes_filter_product->getTotalOptions($filter_data); $totals_attributes = $this->model_avethemes_filter_product->getTotalAttributes($filter_data); $products = $this->model_avethemes_filter_product->getProducts($filter_data); $result = array(); $fmin = $fmax = false; if(isset($this->request->post['getPriceLimits']) && $this->request->post['getPriceLimits']) { $priceLimits = $this->model_avethemes_filter_product->getPriceLimits(array('category_id' => $this->request->post['pid'])); $fmin = $priceLimits['pmin']; $fmax = $priceLimits['pmax']; } if((int)substr((string)str_replace('.','',VERSION),0,3) > 210) { $prefix = $this->config->get('config_theme'); }else{ $prefix = 'config'; } $image_product_width = $this->config->get($prefix.'_image_product_width'); $image_product_height = $this->config->get($prefix.'_image_product_height'); $product_description_length = $this->config->get($prefix.'_product_description_length'); $special_label = $this->ave->get('category_special_label'); $no_image = $this->model_tool_image->resize('placeholder.png', $image_product_width, $image_product_height); foreach($products as $product) { if ($product['image']&&file_exists(DIR_IMAGE.$product['image'])) { $image = $this->model_tool_image->resize($product['image'], $image_product_width, $image_product_height); } else { $image = $no_image; } if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { $price = $this->currency->format($this->tax->calculate($product['price'], $product['tax_class_id'], $this->config->get('config_tax')), $this->session->data['currency']); } else { $price = false; } if ((float)$product['special']&&$special_label==1) { $special = $this->currency->format($this->tax->calculate($product['special'], $product['tax_class_id'], $this->config->get('config_tax')), $this->session->data['currency']); $sales_percent = str_replace('.00','',number_format((100-(($product['special']*100)/$product['price'])),0)); } else { $special = false; $sales_percent =false; } if ($this->config->get('config_tax')) { $tax = $this->currency->format(((float)$product['special'] ? $product['special'] : $product['price']), $this->session->data['currency']); } else { $tax = false; } if ($this->config->get('config_review_status')) { $rating = (int)$product['rating']; } else { $rating = false; } if($product['quantity'] <= 0) { $rstock = $product['stock_status']; } elseif($this->config->get('config_stock_display')) { $rstock = $product['quantity']; } else { $rstock = $this->language->get('text_instock'); } $result[] = array( 'product_id' => $product['product_id'], 'sku' => $ave_shortcodes_filter_setting['sku_display'] ? $product['sku'] : false, 'model' => $ave_shortcodes_filter_setting['model_display'] ? $product['model'] : false, 'brand' => $ave_shortcodes_filter_setting['brand_display'] ? $product['manufacturer'] : false, 'location' => $ave_shortcodes_filter_setting['location_display'] ? $product['location'] : false, 'upc' => $ave_shortcodes_filter_setting['upc_display'] ? $product['upc'] : false, 'stock' => $ave_shortcodes_filter_setting['stock_display'] ? $rstock : false, 'image' => $image, 'thumb' => $image, 'special' => $special, 'sales_percent' => $sales_percent, 'tax' => $tax, 'rating' => $rating, 'reviews' => sprintf($this->language->get('text_reviews'), (int)$product['reviews']), 'name' => $product['name'], 'description' => utf8_substr(strip_tags(html_entity_decode($product['description'], ENT_QUOTES, 'UTF-8')), 0, $product_description_length) . '..', 'price' => $price, 'href' => $this->url->link('product/product', 'path=' . $this->request->post['path'] . '&product_id=' . $product['product_id']) ); } $pagination = new Pagination(); $pagination->total = $product_total; $pagination->page = $page; $pagination->limit = $limit; $pagination->url = 'page={page}'; $json['pagination'] = $pagination->render(); $json['pagination_results'] = sprintf($this->language->get('text_pagination'), ($product_total) ? ((int)($page - 1) * $limit) + 1 : 0, (((int)($page - 1) * $limit) > (int)($product_total - $limit)) ? $product_total : (((int)($page - 1) * $limit) + $limit), (int)$product_total, (int)ceil($product_total / $limit)); $pmin = $this->currency->convert($pmin, $this->config->get('config_currency'), $this->session->data['currency']); $pmax = $this->currency->convert($pmax, $this->config->get('config_currency'), $this->session->data['currency']); $fmin = $this->currency->convert($fmin, $this->config->get('config_currency'), $this->session->data['currency']); $fmax = $this->currency->convert($fmax, $this->config->get('config_currency'), $this->session->data['currency']); $json['code'] = $this->session->data['currency']; $json['pmin'] = $pmin; $json['pmax'] = $pmax; $json['fmin'] = $fmin; $json['fmax'] = $fmax; $json['products'] = $result; $json['btn_cart'] = $this->ave->get('category_btn_cart'); $json['btn_whistlist'] = $this->ave->get('category_btn_whistlist'); $json['btn_compare'] = $this->ave->get('category_btn_compare'); foreach($language_data as $key=>$value){ $json[$key] = $value; } $json['totals_data'] = array( 'manufacturers' => $totals_manufacturers, 'options' => $totals_options, 'attributes' => $totals_attributes ); if((int)substr((string)str_replace('.','',VERSION),0,3) > 210) { $this_template = 'avethemes/required/shortcode_product_filter_results'; }elseif(file_exists(DIR_TEMPLATE.$this->config->get('config_template').'/template/avethemes/required/shortcode_product_filter_results.tpl')) { $this_template = $this->config->get('config_template') . '/template/avethemes/required/shortcode_product_filter_results.tpl'; } else { $this_template = 'default/template/avethemes/required/shortcode_product_filter_results.tpl'; } $json['products_data'] = $this->load->view($this_template, $json); $json_encode = json_encode($json); $this->response->addHeader('Content-Type: application/json'); $this->response->setOutput($json_encode); } } ?>
  16. Добрый день друзья подскажите кто знает, у меня такая проблема, на странице категорий вывожу опции, вывожу их таким образм. В контроллер добаляю следующие: 1. После: $this->load->language('product/category');Добавить: $this->load->language('product/product');2. После: $data['button_grid'] = $this->language->get('button_grid');Добавить:$data['text_select'] = $this->language->get('text_select'); 3. Перед $data['products'][] = array('product_id' => $result['product_id'], $json = 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) { $options = array(); foreach ($this->model_catalog_product->getProductOptions($product_info['product_id']) as $option) { $product_option_value_data = array(); foreach ($option['product_option_value'] as $option_value) { 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->currency->format($this->tax->calculate($option_value['price'], $product_info['tax_class_id'], $this->config->get('config_tax') ? 'P' : false)); } else { $price = false; }$product_option_value_data[] = array('product_option_value_id' => $option_value['product_option_value_id'],'option_value_id' => $option_value['option_value_id'],'name' => $option_value['name'],'image' => $this->model_tool_image->resize($option_value['image'], 50, 50),'price' => $price,'price_prefix' => $option_value['price_prefix'] ); }}$options[] = array('product_option_id' => $option['product_option_id'],'option_value' => $product_option_value_data,'option_id' => $option['option_id'],'name' => $option['name'],'type' => $option['type'],'value' => $option['value'],'required' => $option['required']);$options['product_id'] = $product_info['product_id'];$options['name'] = $product_info['name'];} if (!$json) {$json = $options;}} и в масив $data['products'][] = array(Добавить 'options' => $this->model_catalog_product->getProductOptions($result['product_id']), Короче разобрался как выводить, делаю вот так, в контроллере добавляю следующие: 1. После: $this->load->language('product/category');Добавить: $this->load->language('product/product');2. После: $data['button_grid'] = $this->language->get('button_grid');Добавить:$data['text_select'] = $this->language->get('text_select'); 3. Перед $data['products'][] = array('product_id' => $result['product_id'], $json = 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) { $options = array(); foreach ($this->model_catalog_product->getProductOptions($product_info['product_id']) as $option) { $product_option_value_data = array(); foreach ($option['product_option_value'] as $option_value) { 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->currency->format($this->tax->calculate($option_value['price'], $product_info['tax_class_id'], $this->config->get('config_tax') ? 'P' : false)); } else { $price = false; }$product_option_value_data[] = array('product_option_value_id' => $option_value['product_option_value_id'],'option_value_id' => $option_value['option_value_id'],'name' => $option_value['name'],'image' => $this->model_tool_image->resize($option_value['image'], 50, 50),'price' => $price,'price_prefix' => $option_value['price_prefix']);}}$options[] = array('product_option_id' => $option['product_option_id'],'option_value' => $product_option_value_data,'option_id' => $option['option_id'],'name' => $option['name'],'type' => $option['type'],'value' => $option['value'],'required' => $option['required']);$options['product_id'] = $product_info['product_id'];$options['name'] = $product_info['name'];} if (!$json) {$json = $options;}} и в масив $data['products'][] = array(Добавить 'options' => $this->model_catalog_product->getProductOptions($result['product_id']), Далее в categoty.tpl добавляю следующие: В цикле <?php foreach ($products as $product) { ?> <?php if ($product['options']) { ?> <?php foreach ($product['options'] as $option) { ?> <!-- Код опции, можно взять из product.tpl. Например для Select --> <?php if ($option['type'] == 'checkbox') { ?> <div class="form-group<?php echo ($option['required'] ? ' required' : ''); ?>"> <!-- <label class="control-label"><?php echo $option['name']; ?></label> --> <div id="input-option<?php echo $option['product_option_id']; ?>"> <?php foreach ($option['product_option_value'] as $option_value) { ?> <div class="checkbox"> <label> <input type="checkbox" name="option[<?php echo $option['product_option_id']; ?>][]" value="<?php echo $option_value['product_option_value_id']; ?>" /> <?php if ($option_value['image']) { ?> <img src="<?php echo $option_value['image']; ?>" alt="<?php echo $option_value['name'] . ($option_value['price'] ? ' ' . $option_value['price_prefix'] . $option_value['price'] : ''); ?>" class="img-thumbnail" /> <?php } ?> <?php echo $option_value['name']; ?> <!-- <?php if ($option_value['price']) { ?> --> <!-- (<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>) --> <?php } ?> </label> </div> <?php } ?> </div> </div> <?php } ?> <?php } ?> <?php } ?> При выключенном фильтре опции отображаются все норм, но если включаю его то пишет Undefined variable: options. Кто знает как решить данную проблему подскажите, буду очень признателен!
  17. Короче разобрался как выводить, делаю вот так, в контроллере добавляю следующие: 1. После: $this->load->language('product/category'); Добавить: $this->load->language('product/product'); 2. После: $data['button_grid'] = $this->language->get('button_grid'); Добавить: $data['text_select'] = $this->language->get('text_select'); 3. Перед $data['products'][] = array( 'product_id' => $result['product_id'], $json = 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) { $options = array(); foreach ($this->model_catalog_product->getProductOptions($product_info['product_id']) as $option) { $product_option_value_data = array(); foreach ($option['product_option_value'] as $option_value) { 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->currency->format($this->tax->calculate($option_value['price'], $product_info['tax_class_id'], $this->config->get('config_tax') ? 'P' : false)); } else { $price = false; } $product_option_value_data[] = array( 'product_option_value_id' => $option_value['product_option_value_id'], 'option_value_id' => $option_value['option_value_id'], 'name' => $option_value['name'], 'image' => $this->model_tool_image->resize($option_value['image'], 50, 50), 'price' => $price, 'price_prefix' => $option_value['price_prefix'] ); } } $options[] = array( 'product_option_id' => $option['product_option_id'], 'option_value' => $product_option_value_data, 'option_id' => $option['option_id'], 'name' => $option['name'], 'type' => $option['type'], 'value' => $option['value'], 'required' => $option['required'] ); $options['product_id'] = $product_info['product_id']; $options['name'] = $product_info['name']; } if (!$json) { $json = $options; } } и в масив $data['products'][] = array( Добавить 'options' => $this->model_catalog_product->getProductOptions($result['product_id']), Далее в categoty.tpl добавляю следующие: В цикле <?php foreach ($products as $product) { ?> <?php if ($product['options']) { ?> <?php foreach ($product['options'] as $option) { ?> <!-- Код опции, можно взять из product.tpl. Например для Select --> <?php if ($option['type'] == 'checkbox') { ?> <div class="form-group<?php echo ($option['required'] ? ' required' : ''); ?>"> <!-- <label class="control-label"><?php echo $option['name']; ?></label> --> <div id="input-option<?php echo $option['product_option_id']; ?>"> <?php foreach ($option['product_option_value'] as $option_value) { ?> <div class="checkbox"> <label> <input type="checkbox" name="option[<?php echo $option['product_option_id']; ?>][]" value="<?php echo $option_value['product_option_value_id']; ?>" /> <?php if ($option_value['image']) { ?> <img src="<?php echo $option_value['image']; ?>" alt="<?php echo $option_value['name'] . ($option_value['price'] ? ' ' . $option_value['price_prefix'] . $option_value['price'] : ''); ?>" class="img-thumbnail" /> <?php } ?> <?php echo $option_value['name']; ?> <!-- <?php if ($option_value['price']) { ?> --> <!-- (<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>) --> <?php } ?> </label> </div> <?php } ?> </div> </div> <?php } ?> <?php } ?> <?php } ?> И все работает нормально! Но есть один минус, это работает при выключенном фильтре. Если же включаю фильтр то сново пишет Undefined variable: options
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.