pahanmcs Posted April 1, 2019 Share Posted April 1, 2019 2 часа назад, freelancer сказал: @pahanmcs как проверить? Вот настройки https://prnt.sc/n64w15 https://prnt.sc/n64w76 В этом случае не рилииет нижний фильтр Ингредиенты (хотя на метогде ИЛИ он рилииет): Пример https://prnt.sc/n64wml если на нижнем выбрать фильтр креветки, то ничего не происходит, хотя атрибуты заданы https://prnt.sc/n64ym0 или если же начать с нижнего фильтра Ингредиенты, то вообещё не фильтруется, но на метогде ИЛИ рилииет Заметил, что при сохранении настроек сил долго думать https://prnt.sc/n64wce Из последних изменений только усиновил сертификат https, вклюлил SSL и конфиги изменил только ггде протокол соответствующий define('HTTPS_SERVER'..) и define ('HTTPS_IMAGE), редирект не гделал. Сайт доступен по 2 протоколам. Link to comment Share on other sites More sharing options...
freelancer Posted April 2, 2019 Author Share Posted April 2, 2019 @pahanmcs мне нужно вклюлить И и посмотреть Link to comment Share on other sites More sharing options... pahanmcs Posted April 2, 2019 Share Posted April 2, 2019 3 часа назад, freelancer сказал: @pahanmcs мне нужно вклюлить И и посмотреть @freelancerможет ИЛИ? Сейчас же И включено, как на скриншоих. На 2-х вкладках? Link to comment Share on other sites More sharing options... freelancer Posted April 2, 2019 Author Share Posted April 2, 2019 @pahanmcs сейчас если выбрать два атрибуты, то сервер отдает 502, а должен 200 или текст ошибки Link to comment Share on other sites More sharing options... pahanmcs Posted April 3, 2019 Share Posted April 3, 2019 @freelancer Спасипотому что, хостер решил мою проблему с 502 ошибкой по фильтру Link to comment Share on other sites More sharing options... freelancer Posted April 3, 2019 Author Share Posted April 3, 2019 Link to comment Share on other sites More sharing options... 2 weeks later... tolkachev Posted April 16, 2019 Share Posted April 16, 2019 Здравствуйте! перенесли домен на https и пишет Домены не совпадают! пробывал удалить лиэтонзию и заного, ничего не помогает домен tutbag.ru Link to comment Share on other sites More sharing options... pahanmcs Posted April 16, 2019 Share Posted April 16, 2019 @freelancer, у меня видимо в вашем фильтре блокируется скрипт спойлера https://dostavkapicci.ru/zakaz-pizzy/ красная кнопка +, в других категориях без фильтра спойлер развораливается, в чем может быть гдело, в консоли нет ошипотому чток <script type="text/javascript"> $(document).ready(function(){ $('.opening2').click(function(){ $(this).parent().children('div.sp2').toggle('normal'); return false; }); }); </script> Link to comment Share on other sites More sharing options... pahanmcs Posted April 17, 2019 Share Posted April 17, 2019 на мобильной версии тоже рилииет без фильтра Link to comment Share on other sites More sharing options... pahanmcs Posted April 20, 2019 Share Posted April 20, 2019 (edited) @freelancer, скажите пжлси, в каком месте мне разместить этот скрипт вашего модуля, чтобы он выполнялся? шаблон <a class="opening2" href="javscript://">+</a> если в контроллер модуля в php всивить, то скрипт спойлера рилииет, но слеиет кодировка подключение скрипи в шапке или подвно сайи не рилииет возможно надо добавить через $this->document->addScript в контроллере, но не знаю место Edited April 21, 2019 by pahanmcs Link to comment Share on other sites More sharing options... freelancer Posted April 22, 2019 Author Share Posted April 22, 2019 @pahanmcs всивьте в сам шаблон filterpro_products.tpl Link to comment Share on other sites More sharing options... pahanmcs Posted April 22, 2019 Share Posted April 22, 2019 1 час назад, freelancer сказал: @pahanmcs всивьте в сам шаблон filterpro_products.tpl @freelancer, всивлял конечно, в когде появляется скрипт, но не в этом гдело, почему-то именно с вашим фильтром не хочет рилиить в паре. при замене замене конструкции <a class="opening2" href="javscript://">+</a> на <span class="opening2">+</span> все равно в категории с фильтром не рилииет, в осильных рилииет может ли быть конфликт подключаемых библиотек? Link to comment Share on other sites More sharing options... Ohrikon Posted April 23, 2019 Share Posted April 23, 2019 Добрый гдень Freelancer. Я оплатил за модуль filter pro случайно ошибся с версией мне нужно для Ocstore 2.3 Пожалуйси дайте релиз для версии 2.3 . На какой домен он бугдет усиновлен я писал вам в ЛС . Пожалуйси помогите с нужной версией. Link to comment Share on other sites More sharing options... freelancer Posted April 25, 2019 Author Share Posted April 25, 2019 @pahanmcs ггде можно увигдеть то, что вы гделаете? Link to comment Share on other sites More sharing options... pahanmcs Posted April 25, 2019 Share Posted April 25, 2019 5 часов назад, freelancer сказал: @pahanmcs ггде можно увигдеть то, что вы гделаете? я уже решил проблему: изменил скрипт, ик как фильтр перерисовывает согдержимое и теряются обрилитлики событий. Link to comment Share on other sites More sharing options... serg34 Posted April 26, 2019 Share Posted April 26, 2019 Здравствуйте! Подскажите в чем может быть проблема. На версии 2.4 сео настройка рилииет нормально, сивлю версию v2.5.17.6_beta (speed), корректно не рилииет. Переходит только на сам атрибут, а меи-теги не отображает. Link to comment Share on other sites More sharing options... 2 weeks later... qweezz Posted May 5, 2019 Share Posted May 5, 2019 Здравствуйте В фильтре можно сортировать порядок вывода атрибутов? У нас все атрибуты в одной группе атрибутов: 1 2 3 4 Надо чтобы на страниэто сайи в фильтре порядок был другой, например 2 4 3 Link to comment Share on other sites More sharing options... freelancer Posted May 8, 2019 Author Share Posted May 8, 2019 @qweezz тут есть про сортировки для разных версий Link to comment Share on other sites More sharing options... promikes Posted May 13, 2019 Share Posted May 13, 2019 Добрый гдень! Столкнулся с проблемой, покупал лиэтонзию Вашего фильтра еещё лет 5 назад. Вот сейчас гделаем переход на https, т.к. уже требуют все рекламные площадки, и после перехода у нас ion_cube соответственно не пропускает наш сайт, т.к. слииет, что мы пыиемся дублировать лиэтонзию. Написал в ЛС, сюда дублирую, т.к. кейс может быть интересен другим пользователям, полагаю. Link to comment Share on other sites More sharing options... 2 weeks later... thecatus Posted May 27, 2019 Share Posted May 27, 2019 @freelancer, здравствуйте, прошу ответить на личное сообещёние от 21.05. по вопросу подгдержки модуля Link to comment Share on other sites More sharing options... 4 weeks later... Zapuzin Posted June 19, 2019 Share Posted June 19, 2019 (edited) В 13.05.2019 в 13:23, promikes сказал: Вот сейчас гделаем переход на https, т.к. уже требуют все рекламные площадки... Тоже в проэтоссе перехода на https. Вопрос о лиэтонзии данного модуля "filterpro v2.4.4(seo)" и "SeoGen 4.1" очень актунон! Без ясности данного вопроса переходить не хочется ) С осильными авторами модулей в проэтоссе выяснения. freelancer, написАл в ЛС Edited June 19, 2019 by Zapuzin Link to comment Share on other sites More sharing options... Zapuzin Posted June 20, 2019 Share Posted June 20, 2019 (edited) Не дождался отвеи и перешёл на https. Все лиэтонзионные модули, в том лисле и данные, рилииют как и рилиили. Проблем не обнаружил ) По осильным модулям был спокоен, ик как разрилитлики вышли на связь и подтвердили, что от перехода с http на https лиэтонзия сохраняется. freelancer, уже не актуально. Edited June 20, 2019 by Zapuzin Link to comment Share on other sites More sharing options... 4 weeks later... Zapuzin Posted July 14, 2019 Share Posted July 14, 2019 (edited) filterpro_v2.4.4(seo) (29.02.2016, #433262) ocStore-1.5.5.1.2 Усиновлен Product Display Settings vqmod В этолом этот модуль с фильтром подружил, осилась только одна проблемка. Вот её никак не могу самостоятельно попотому чтороть ) Если товара нет в налилии, то "Налилие" отображается правильно, на том языке, который выбран на сайте. Если товар есть в налилии, то "Налилие" отображается неправильно - "pds_instock". Вот скрины для наглядности: Налилие без фильтра: Налилие с фильтром: "catalog/controller/product/category.php" из файла "product-display-settings.xml": Спойлер <file name="catalog/controller/product/category.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }}]]></add> </operation> <operation> <search position="after"><![CDATA['name' => $result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->data['text_grid'] = $this->language->get('text_grid');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> "catalog/controller/module/filterpro.php" из файла "product-display-settings.xml": Спойлер <file name="catalog/controller/module/filterpro.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }}]]></add> </operation> <operation> <search position="after"><![CDATA['name' => $result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->data['text_grid'] = $this->language->get('text_grid');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> Вот языковой файл "catalog/language/russian/product/pds.php": Спойлер <?php $_['pds_model'] = 'Код товара:'; $_['pds_sku'] = 'Страна производитель:'; $_['pds_brand'] = 'Бренд:'; $_['pds_upc'] = 'UPC:'; $_['pds_location'] = 'Гарантия:'; $_['pds_stock'] = 'Налилие:'; $_['pds_instock'] = 'В налилии:'; $_['pds_weight'] = 'Вес:'; ?> " vq2-catalog_controller_module_filterpro.php" Спойлер <?php class ControllerModuleFilterPro extends Controller { protected function index($setting) { if($setting['type'] == 1) { $this->language->load('product/filter'); $this->data['text_display'] = $this->language->get('text_display'); $this->data['text_list'] = $this->language->get('text_list'); $this->data['text_grid'] = $this->language->get('text_grid'); $this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock'); $this->data['text_sort'] = $this->language->get('text_sort'); $this->data['text_limit'] = $this->language->get('text_limit'); $sort = 'p.sort_order'; $order = 'ASC'; $limit = $this->config->get('config_catalog_limit'); $url = ''; if(isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['sorts'] = array(); $this->data['sorts'][] = array( 'text' => $this->language->get('text_default'), 'value' => 'p.sort_order-ASC', 'href' => $this->url->link('product/filter', 'sort=p.sort_order&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_name_asc'), 'value' => 'pd.name-ASC', 'href' => $this->url->link('product/filter', 'sort=pd.name&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_name_desc'), 'value' => 'pd.name-DESC', 'href' => $this->url->link('product/filter', 'sort=pd.name&order=DESC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_price_asc'), 'value' => 'p.price-ASC', 'href' => $this->url->link('product/filter', 'sort=p.price&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_price_desc'), 'value' => 'p.price-DESC', 'href' => $this->url->link('product/filter', 'sort=p.price&order=DESC' . $url) ); if($this->config->get('config_review_status')) { $this->data['sorts'][] = array( 'text' => $this->language->get('text_rating_desc'), 'value' => 'rating-DESC', 'href' => $this->url->link('product/filter', 'sort=rating&order=DESC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_rating_asc'), 'value' => 'rating-ASC', 'href' => $this->url->link('product/filter', 'sort=rating&order=ASC' . $url) ); } $this->data['sorts'][] = array( 'text' => $this->language->get('text_model_asc'), 'value' => 'p.model-ASC', 'href' => $this->url->link('product/filter', 'sort=p.model&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_model_desc'), 'value' => 'p.model-DESC', 'href' => $this->url->link('product/filter', 'sort=p.model&order=DESC' . $url) ); $url = ''; if(isset($this->request->get['sort'])) { $url .= 'sort=' . $this->request->get['sort']; } if(isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } $this->data['limits'] = array(); $this->data['limits'][] = array( 'text' => $this->config->get('config_catalog_limit'), 'value' => $this->config->get('config_catalog_limit'), 'href' => $this->url->link('product/filter', $url . '&limit=' . $this->config->get('config_catalog_limit')) ); $this->data['limits'][] = array( 'text' => 25, 'value' => 25, 'href' => $this->url->link('product/filter', $url . '&limit=25') ); $this->data['limits'][] = array( 'text' => 50, 'value' => 50, 'href' => $this->url->link('product/filter', $url . '&limit=50') ); $this->data['limits'][] = array( 'text' => 75, 'value' => 75, 'href' => $this->url->link('product/filter', $url . '&limit=75') ); $this->data['limits'][] = array( 'text' => 100, 'value' => 100, 'href' => $this->url->link('product/filter', $url . '&limit=100') ); $this->data['sort'] = $sort; $this->data['order'] = $order; $this->data['limit'] = $limit; $this->document->addScript('catalog/view/javascript/jquery/jquery.total-storage.min.js'); $this->data += $this->language->load('product/category'); $this->data['text_compare'] = sprintf($this->language->get('text_compare'), (isset($this->session->data['compare']) ? count($this->session->data['compare']) : 0)); if(file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/filterpro_container.tpl')) { $this->template = $this->config->get('config_template') . '/template/module/filterpro_container.tpl'; } else { $this->template = 'default/template/module/filterpro_container.tpl'; } } else { $this->language->load('module/filterpro'); if (isset($this->request->get['sort'])) { $sort = $this->request->get['sort']; } else { $sort = 'p.sort_order'; } if (isset($this->request->get['order'])) { $order = $this->request->get['order']; } else { $order = 'ASC'; } if (isset($this->request->get['page'])) { $page = $this->request->get['page']; } else { $page = 1; } if (isset($this->request->get['limit'])) { $limit = $this->request->get['limit']; } else { $limit = $this->config->get('config_catalog_limit'); } $this->data['sort'] = $sort; $this->data['order'] = $order; $this->data['page'] = $page; $this->data['limit'] = $limit; $this->data['text_tax'] = $this->language->get('text_tax'); $this->data['button_cart'] = $this->language->get('button_cart'); $this->data['button_out_of_stock'] = $this->language->get('button_out_of_stock'); $this->data['button_wishlist'] = $this->language->get('button_wishlist'); $this->data['button_compare'] = $this->language->get('button_compare'); $this->data['text_price_range'] = $this->language->get('text_price_range'); $this->data['text_manufacturers'] = $this->language->get('text_manufacturers'); $this->data['text_tags'] = $this->language->get('text_tags'); $this->data['text_categories'] = $this->language->get('text_categories'); $this->data['text_attributes'] = $this->language->get('text_attributes'); $this->data['text_all'] = $this->language->get('text_all'); $this->data['clear_filter'] = $this->language->get('clear_filter'); $this->data['text_instock'] = $this->language->get('text_instock'); $this->data['text_filer_special'] = $this->language->get('text_filer_special'); $this->data['text_filer_news'] = $this->language->get('text_filer_news'); $this->data['text_show_filer_special'] = $this->language->get('text_show_filer_special'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock'); $this->data['symbol_right'] = $this->currency->getSymbolRight(); $this->data['symbol_left'] = $this->currency->getSymbolLeft(); $this->data['setting'] = $setting; if(VERSION == '1.5.0') { $filterpro_setting = unserialize($this->config->get('filterpro_setting')); } else { $filterpro_setting = $this->config->get('filterpro_setting'); } $this->data['text_show_filer_news'] = sprintf($this->language->get('text_show_filer_news'), $filterpro_setting['news_days']); $this->data['heading_title'] = $filterpro_setting['filterpro_name']; $this->data['heading_title'] = $this->language->get('heading_title'); $is_special = isset($this->request->get['route']) && $this->request->get['route'] == "product/special"; $is_bydate = isset($this->request->get['route']) && $this->request->get['route'] == "product/productsbydate"; $category_id = false; $this->data['path'] = ""; if(isset($this->request->get['path'])) { $this->data['path'] = $this->request->get['path']; $parts = explode('_', (string)$this->request->get['path']); $category_id = array_pop($parts); } $manufacturer_id = false; if(isset($this->request->get['manufacturer_id'])) { $manufacturer_id = $this->request->get['manufacturer_id']; $data = array( 'filter_manufacturer_id' => $this->request->get['manufacturer_id'] ); } else { $data = array( 'filter_category_id' => $category_id, 'filter_sub_category' => isset($filterpro_setting['subcategories']) ); } $this->load->model('catalog/product'); $product_total = $this->model_catalog_product->getTotalProducts($data); if($product_total < 2) { return; } $this->data['category_id'] = $category_id; $data = array('category_id' => $category_id, 'manufacturer_id' => $manufacturer_id, 'special' => $is_special, 'by_date' => $is_bydate,); $this->load->model('module/filterpro'); $this->data['manufacturers'] = false; if(isset($this->request->get['manufacturer_id'])) { $this->data['manufacturer_id'] = $this->request->get['manufacturer_id']; } else { if($filterpro_setting['display_manufacturer'] != 'none') { $this->data['manufacturers'] = $this->model_module_filterpro->getManufacturers($data); $this->data['display_manufacturer'] = $filterpro_setting['display_manufacturer']; $this->data['expanded_manufacturer'] = isset($filterpro_setting['expanded_manufacturer']) ? 1 : 0; } } $this->data['options'] = $this->model_module_filterpro->getOptions($data); $this->load->model('tool/image'); foreach($this->data['options'] as $i => $option) { if(!isset($filterpro_setting['display_option_' . $option['option_id']])) { $filterpro_setting['display_option_' . $option['option_id']] = 'none'; } $display_option = $filterpro_setting['display_option_' . $option['option_id']]; if($display_option != 'none') { $this->data['options'][$i]['display'] = $display_option; $this->data['options'][$i]['expanded'] = isset($filterpro_setting['expanded_option_' . $option['option_id']]) ? 1 : 0; foreach($this->data['options'][$i]['option_values'] as $j => $option_value) { $this->data['options'][$i]['option_values'][$j]['thumb'] = $this->model_tool_image->resize($this->data['options'][$i]['option_values'][$j]['image'], (int)$filterpro_setting['option_images_w'], (int)$filterpro_setting['option_images_h']); } } else { unset($this->data['options'][$i]); } } $this->data['tags'] = array(); if(version_compare(VERSION, "1.5.4") <= 0 && $filterpro_setting['display_tags'] != 'none') { $this->data['tags'] = $this->model_module_filterpro->getTags($data); $this->data['expanded_tags'] = isset($filterpro_setting['expanded_tags']) ? 1 : 0; } $this->data['categories'] = false; if($filterpro_setting['display_categories'] != 'none') { $this->data['categories'] = $this->model_module_filterpro->getSubCategories($data); $this->data['expanded_categories'] = isset($filterpro_setting['expanded_categories']) ? 1 : 0; } $this->data['attributes'] = $this->model_module_filterpro->getAttributes($data); foreach($this->data['attributes'] as $j => $attribute_group) { foreach($attribute_group['attribute_values'] as $attribute_id => $attribute) { if(!isset($filterpro_setting['display_attribute_' . $attribute_id])) { $filterpro_setting['display_attribute_' . $attribute_id] = 'none'; } $display_attribute = $filterpro_setting['display_attribute_' . $attribute_id]; if($display_attribute != 'none') { if($display_attribute == 'slider') { $values = $this->data['attributes'][$j]['attribute_values'][$attribute_id]['values']; $first = $values[0]; $this->data['attributes'][$j]['attribute_values'][$attribute_id]['suffix'] = preg_replace("/^[0-9]*(\\.[0-9]*)?/", '', $first); $values = array_map('floatVal', $values); $values = array_unique($values); sort($values); $this->data['attributes'][$j]['attribute_values'][$attribute_id]['values'] = $values; } $this->data['attributes'][$j]['attribute_values'][$attribute_id]['display'] = $display_attribute; $this->data['attributes'][$j]['attribute_values'][$attribute_id]['expanded'] = isset($filterpro_setting['expanded_attribute_' . $attribute_id]) ? 1 : 0; } else { unset($this->data['attributes'][$j]['attribute_values'][$attribute_id]); if(!$this->data['attributes'][$j]['attribute_values']) { unset($this->data['attributes'][$j]); } } } } $this->data['filter_groups'] = array(); $this->load->model('catalog/category'); $this->data['option_main_checkbox'] = isset($filterpro_setting['option_main_checkbox']) ? 1 : 0; if(version_compare(VERSION, "1.5.5") >= 0 && $filterpro_setting['filters']==1) { $this->data['expanded_filters'] = isset($filterpro_setting['expanded_filters']) ? 1 : 0; $filter_groups = $this->model_catalog_category->getCategoryFilters($category_id); if ($filter_groups) { foreach ($filter_groups as $filter_group) { $filter_data = array(); foreach ($filter_group['filter'] as $filter) { $data = array( 'filter_category_id' => $category_id, 'filter_filter' => $filter['filter_id'] ); $filter_data[] = array( 'filter_id' => $filter['filter_id'], 'name' => $filter['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($data) . ')' : '') ); } $this->data['filter_groups'][] = array( 'filter_group_id' => $filter_group['filter_group_id'], 'name' => $filter_group['name'], 'filter' => $filter_data ); } } } $this->data['price_slider'] = $filterpro_setting['price_slider']; $this->data['attr_group'] = $filterpro_setting['attr_group']; $this->data['filer_special'] = isset($filterpro_setting['filer_special']); $this->data['filer_news'] = isset($filterpro_setting['filer_news']); $manufacturer = false; if(isset($this->request->get['manufacturer_id'])) { $manufacturer = array($this->request->get['manufacturer_id']); } $categories = false; if($category_id) { $categories = array($category_id); } $arr_data = array( 'instock' => isset($filterpro_setting['instock_checked']), 'option_value' => false, 'manufacturer' => $manufacturer, 'attribute_value' => false, 'tags' => false, 'categories' => $categories, 'attr_slider' => false, 'filter' => false, 'min_price' => 0, 'max_price' => 0, 'start' => 0, 'limit' => 1, 'sort' => false, 'order' => false ); if($this->data['filer_news']) { $product_total = $this->model_module_filterpro->getTotalProducts($arr_data + array('filer_news' => true)); $this->data['filer_news'] = $product_total > 0; // var_dump($product_total); } if($this->data['filer_special']) { $product_total = $this->model_module_filterpro->getTotalProducts($arr_data + array('special' => true, 'filer_news' => false)); $this->data['filer_special'] = $product_total > 0; // var_dump($product_total); } $this->data['instock_checked'] = isset($filterpro_setting['instock_checked']) ? 1 : 0; $this->data['instock_visible'] = isset($filterpro_setting['instock_visible']) ? 1 : 0; if($this->data['tags'] || $this->data['categories'] || $this->data['options'] || $this->data['manufacturers'] || $this->data['attributes'] || $this->data['price_slider']) { $this->document->addScript('catalog/view/javascript/jquery/jquery.tmpl.min.js'); $this->document->addScript('catalog/view/javascript/jquery/jquery.deserialize.min.js'); $this->document->addScript('catalog/view/javascript/jquery/jquery.loadmask.min.js'); $this->document->addScript('catalog/view/javascript/jquery/jquery.lazyload.min.js'); if(isset($filterpro_setting['enable_touch_screen'])) { $this->document->addScript('catalog/view/javascript/jquery/jquery.ui.touch-punch.min.js'); } $this->document->addScript('catalog/view/javascript/filterpro.min.js'); if(isset($filterpro_setting['jscrollpane'])) { $this->document->addScript('catalog/view/javascript/jquery/jscrollpane/jquery.mousewheel.js'); $this->document->addScript('catalog/view/javascript/jquery/jscrollpane/jquery.jscrollpane.min.js'); $this->document->addStyle('catalog/view/javascript/jquery/jscrollpane/jquery.jscrollpane.css'); } if(isset($filterpro_setting['enable_endless_scroller'])) { $this->document->addScript('catalog/view/javascript/jquery/jquery.endlessScroll.js'); } if (isset($filterpro_setting['theme_mega'])){ $this->document->addStyle('catalog/view/theme/default/stylesheet/filterpro-mega.css'); $this->document->addScript('catalog/view/javascript/jquery/qtip2/mega/jquery.qtip.min.js'); $this->document->addStyle('catalog/view/javascript/jquery/qtip2/mega/jquery.qtip.min.css'); } else{ $this->document->addStyle('catalog/view/theme/default/stylesheet/filterpro.css'); $this->document->addScript('catalog/view/javascript/jquery/qtip2/jquery.qtip.min.js'); $this->document->addStyle('catalog/view/javascript/jquery/qtip2/jquery.qtip.min.css'); } $this->document->addStyle('catalog/view/theme/default/stylesheet/jquery.loadmask.css'); if($this->config->get('config_template') == 'shoppica2') { $this->document->addStyle('catalog/view/javascript/jquery/ui/themes/ui-lightness/jquery-ui-1.8.16.custom.css'); } } $filter_hash = ""; if(isset($this->request->get['filter_id'])) { $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "filterpro_seo WHERE `url`='" . $this->db->escape("filter_id=" . $this->request->get['filter_id']) . "'"); if ($query->num_rows){ $filterpro_seo = unserialize($query->row['data']); $filter_hash = $filterpro_seo['url']; } } $this->data['filterpro_container'] = $filterpro_setting['filterpro_container']; $this->data['filterpro_afterload'] = html_entity_decode($filterpro_setting['filterpro_afterload'], ENT_QUOTES, 'UTF-8'); $this->data['filterOptions'] = json_encode(array( 'container' => $filterpro_setting['filterpro_container'], 'filter_redirect' => isset($this->request->get['filter_redirect'])?$this->request->get['filter_redirect']:null, 'filter_hash' => $filter_hash, 'window_hash' => !isset($filterpro_setting['hide_window_hash']), 'hide_count' => isset($filterpro_setting['hide_count']), 'hide_options' => isset($filterpro_setting['hide_options']), 'disable_mask' => isset($filterpro_setting['disable_mask']), 'endless_scroller' => isset($filterpro_setting['enable_endless_scroller']), )); if(file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/filterpro.tpl')) { $this->template = $this->config->get('config_template') . '/template/module/filterpro.tpl'; } else { $this->template = 'default/template/module/filterpro.tpl'; } } $this->render(); } public function getProducts() { if(!isset($this->request->post['min_price'])) { return; } $this->load->model('module/filterpro'); $this->load->model('catalog/product'); $this->load->model('tool/image'); $getTotals = false; if(isset($this->request->post['getTotals']) && $this->request->post['getTotals']) { $getTotals = true; } list($filterpro_setting, $page, $limit, $manufacturer_id, $attribute_value, $option_value, $category_id, $data) = $this->model_module_filterpro->getData(); $is_special = (isset($this->request->post['route']) && $this->request->post['route'] == "product/special") || isset($this->request->post['filer_special']); $is_bydate = isset($this->request->post['route']) && $this->request->post['route'] == "product/productsbydate"; $data['special'] = $is_special; $data['by_date'] = $is_bydate; $data['filer_news'] = isset($this->request->post['filer_news']); $totals_manufacturers = array(); if ($getTotals && $filterpro_setting['display_manufacturer'] != 'none' && !isset($this->request->post['manufacturer_id'])){ $totals_manufacturers = $this->model_module_filterpro->getTotalManufacturers($data); } $totals_options = array(); $totals_attributes = array(); $totals_categories = array(); $totals_tags = array(); if($getTotals) { $totals_options = $this->model_module_filterpro->getTotalOptions($data); if(!isset($this->filterpro_setting['option_total_simple'])) { if($option_value) { foreach($option_value as $option_id => $option_value_id) { foreach($totals_options as $i => $totals_option) { if($totals_option['o'] == $option_id) { unset($totals_options[$i]); } } $temp_data = $data; unset($temp_data['option_value'][$option_id]); foreach($this->model_module_filterpro->getTotalOptions($temp_data) as $option) { if($option['o'] == $option_id) { $totals_options[] = $option; } } } } } $totals_attributes = $this->model_module_filterpro->getTotalAttributes($data); if(!isset($filterpro_setting['attr_total_simple'])) { foreach($attribute_value as $attribute_id => $values) { foreach($totals_attributes as $i => $attribute) { if($attribute['id'] == $attribute_id) { unset($totals_attributes[$i]); } } $temp_data = $data; unset($temp_data['attribute_value'][$attribute_id]); foreach($this->model_module_filterpro->getTotalAttributes($temp_data) as $attribute) { if($attribute['id'] == $attribute_id) { $totals_attributes[] = $attribute; } } } } $totals_tags = array(); if(version_compare(VERSION, "1.5.4") <= 0) { $totals_tags = $this->model_module_filterpro->getTotalTags($data); } $totals_categories = $this->model_module_filterpro->getTotalCategories($data, $category_id); } $results = $this->model_module_filterpro->getProducts($data); $min_price = false; $max_price = false; if(isset($this->request->post['getPriceLimits']) && $this->request->post['getPriceLimits']) { $priceLimits = $this->model_module_filterpro->getPriceLimits(array('category_id' => $category_id, 'manufacturer_id' => $manufacturer_id, 'special' =>$is_special, 'by_date' =>$is_bydate)); $min_price = $priceLimits['min_price']; $max_price = $priceLimits['max_price']; } $this->request->get['path'] = isset($this->request->post['path']) ? $this->request->post['path'] : ''; $product_total = $this->model_module_filterpro->getTotalProducts($data); $result_html = $this->getHtmlProducts($results, $product_total); $pagination = new Pagination(); $pagination->total = $product_total; $pagination->page = $page; $pagination->limit = $limit; $pagination->text = $this->language->get('text_pagination'); if (isset($this->request->post['manufacturer_id'])) { $pagination->url = $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->post['manufacturer_id'] . '&page={page}'); } else { $pagination->url = $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&page={page}'); } $pagination = $pagination->render(); $k = 1; if((float)$filterpro_setting['tax'] > 0) { $k = 1 + (float)$filterpro_setting['tax'] / 100; } $min_price = $this->currency->convert($min_price * $k, $this->config->get('config_currency'), $this->currency->getCode()); $max_price = $this->currency->convert($max_price * $k, $this->config->get('config_currency'), $this->currency->getCode()); $json = json_encode(array('result_html' => $result_html, 'min_price' => $min_price, 'max_price' => $max_price, 'pagination' => $pagination, 'totals_data' => $getTotals ? array( 'product_total' => $product_total, 'manufacturers' => $totals_manufacturers, 'options' => $totals_options, 'attributes' => $totals_attributes, 'categories' => $totals_categories, 'tags' => $totals_tags) : false)); $this->response->setOutput($json); } private function getHtmlProducts($results, $product_total) { $this->data += $this->language->load('product/category'); $this->data['use_lazyload'] = isset($filterpro_setting['use_lazyload']) ? 1 : 0; $this->data['products'] = array(); $this->load->model('catalog/product_status'); $this->load->model('catalog/promotion'); foreach ($results as $result) { $promotions = $this->model_catalog_promotion->getHTMLProductPromotions($result['product_id']); if ($result['image']) { $image = $this->model_tool_image->resize($result['image'], $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')); } else { $image = $this->model_tool_image->resize('no_image.jpg', $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')); } if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { $price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax'))); } else { $price = false; } if ((float)$result['special']) { $special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax'))); } else { $special = false; } if ($this->config->get('config_tax')) { $tax = $this->currency->format((float)$result['special'] ? $result['special'] : $result['price']); } else { $tax = false; } if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }} if ($this->config->get('config_review_status')) { $rating = (int)$result['rating']; } else { $rating = false; } // module attribute to text $options = $this->config->get('attribute_to_text_options'); if (isset($options['show_catalog_attributes'])) { $this->load->model('catalog/attributes_to_text'); $description = $this->model_catalog_attributes_to_text->getText($result['product_id'], $options); if (empty($description) || $description == '<span class="attributes-text"></span>') { $description = utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 300) . '..'; } } else { $description = utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 300) . '..'; } $this->data['products'][] = array( 'promotion' => $result['promotions']['category'], 'statuses' => $result['statuses']['category'], 'stickers' => $result['statuses']['category_stickers'], 'product_id' => $result['product_id'], 'quantity' => $result['quantity'], 'stock' => $result['stock_status'], 'thumb' => $image, 'name' => $result['name'], //produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds 'description' => $description, 'price' => $price, 'special' => $special, 'tax' => $tax, 'rating' => $result['rating'], 'reviews' => sprintf($this->language->get('text_reviews'), (int)$result['reviews']), 'href' => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id']) ); } if(file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/filterpro_list.tpl') && file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/filterpro_grid.tpl') ) { $this->template = $this->config->get('config_template') . '/template/module/filterpro_list.tpl'; $return['list'] = $this->render(); $this->template = $this->config->get('config_template') . '/template/module/filterpro_grid.tpl'; $return['grid'] = $this->render(); return $return; } elseif(file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/filterpro_products.tpl')) { $this->template = $this->config->get('config_template') . '/template/module/filterpro_products.tpl'; } else { $this->template = 'default/template/module/filterpro_products.tpl'; } return $this->render(); } } ?> Может кто знает, как справиться с проблемой? Буду благодарен люпотому чтой помощи. Edited July 14, 2019 by Zapuzin Добавление файла Link to comment Share on other sites More sharing options... Zapuzin Posted July 14, 2019 Share Posted July 14, 2019 Забыл написать, что ошипотому чток в логах нет, как системных, ик и vqmod. Link to comment Share on other sites More sharing options... Zapuzin Posted July 15, 2019 Share Posted July 15, 2019 Странно. Появились ошибки, хотя на сайте модуль Product Display Settings отображает всё, что нужно правильно, только фильтр про не хочет значение "Налилие" товаров, которые есть в налилии, переводить ) Ошибки появились через некоторое время. Во время экспериментов с проблемным модулем кеш листился весь, и они не появлялись ) Спойлер 2019-07-15 0:59:07 - PHP Notice: Undefined variable: result in /home/teploplc/public_html/vqmod/vqcache/vq2-catalog_controller_product_manufacturer.php on line 386 2019-07-15 0:59:07 - PHP Notice: Undefined variable: result in /home/teploplc/public_html/vqmod/vqcache/vq2-catalog_controller_product_manufacturer.php on line 387 2019-07-15 10:57:34 - PHP Notice: Undefined variable: result in /home/teploplc/public_html/vqmod/vqcache/vq2-catalog_controller_product_category.php on line 404 2019-07-15 10:57:34 - PHP Notice: Undefined variable: result in /home/teploplc/public_html/vqmod/vqcache/vq2-catalog_controller_product_category.php on line 405 Весь "product-display-settings.xml" Спойлер <!-- Created using vQmod XML Generator by UKSB - http://www.opencart-extensions.co.uk //--> <modification> <id><![CDATA[Product Display Settings]]></id> <version><![CDATA[1.2]]></version> <vqmver><![CDATA[2.1.5]]></vqmver> <author><![CDATA[Flo from shopencart.com, edited by drbogger]]></author> <file name="admin/controller/setting/setting.php"> <operation> <search position="before" error="log"><![CDATA[if (isset($this->request->post['config_logo'])) {]]></search> <add><![CDATA[ //product display settings if (isset($this->request->post['config_display_sku'])) { $this->data['config_display_sku'] = $this->request->post['config_display_sku']; } else { $this->data['config_display_sku'] = $this->config->get('config_display_sku'); } if (isset($this->request->post['config_display_pweight'])) { $this->data['config_display_pweight'] = $this->request->post['config_display_pweight']; } else { $this->data['config_display_pweight'] = $this->config->get('config_display_pweight'); } if (isset($this->request->post['config_display_skup'])) { $this->data['config_display_skup'] = $this->request->post['config_display_skup']; } else { $this->data['config_display_skup'] = $this->config->get('config_display_skup'); } if (isset($this->request->post['config_display_model'])) { $this->data['config_display_model'] = $this->request->post['config_display_model']; } else { $this->data['config_display_model'] = $this->config->get('config_display_model'); } if (isset($this->request->post['config_display_modelp'])) { $this->data['config_display_modelp'] = $this->request->post['config_display_modelp']; } else { $this->data['config_display_modelp'] = $this->config->get('config_display_modelp'); } if (isset($this->request->post['config_display_brand'])) { $this->data['config_display_brand'] = $this->request->post['config_display_brand']; } else { $this->data['config_display_brand'] = $this->config->get('config_display_brand'); } if (isset($this->request->post['config_display_brandp'])) { $this->data['config_display_brandp'] = $this->request->post['config_display_brandp']; } else { $this->data['config_display_brandp'] = $this->config->get('config_display_brandp'); } if (isset($this->request->post['config_display_rewardsp'])) { $this->data['config_display_rewardsp'] = $this->request->post['config_display_rewardsp']; } else { $this->data['config_display_rewardsp'] = $this->config->get('config_display_rewardsp'); } if (isset($this->request->post['config_display_location'])) { $this->data['config_display_location'] = $this->request->post['config_display_location']; } else { $this->data['config_display_location'] = $this->config->get('config_display_location'); } if (isset($this->request->post['config_display_locationp'])) { $this->data['config_display_locationp'] = $this->request->post['config_display_locationp']; } else { $this->data['config_display_locationp'] = $this->config->get('config_display_locationp'); } if (isset($this->request->post['config_display_listock'])) { $this->data['config_display_listock'] = $this->request->post['config_display_listock']; } else { $this->data['config_display_listock'] = $this->config->get('config_display_listock'); } if (isset($this->request->post['config_display_upc'])) { $this->data['config_display_upc'] = $this->request->post['config_display_upc']; } else { $this->data['config_display_upc'] = $this->config->get('config_display_upc'); } if (isset($this->request->post['config_display_upcp'])) { $this->data['config_display_upcp'] = $this->request->post['config_display_upcp']; } else { $this->data['config_display_upcp'] = $this->config->get('config_display_upcp'); } //end of product display options]]></add> </operation> </file> <file name="admin/view/template/setting/setting.tpl"> <operation> <search position="after"><![CDATA[<div id="tab-option">]]></search> <add><![CDATA[<table class="form"> <tr> <td>Бонусные баллы на страниэто товара?</td> <td><?php if ($config_display_rewardsp) { ?> <input type="radio" name="config_display_rewardsp" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_rewardsp" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_rewardsp" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_rewardsp" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>Вес на страниэто товара?</td> <td><?php if ($config_display_pweight) { ?> <input type="radio" name="config_display_pweight" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_pweight" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_pweight" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_pweight" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>SKU на страниэто товара?</td> <td><?php if ($config_display_sku) { ?> <input type="radio" name="config_display_sku" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_sku" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_sku" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_sku" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>SKU на страниэто категории?</td> <td><?php if ($config_display_skup) { ?> <input type="radio" name="config_display_skup" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_skup" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_skup" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_skup" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>Код товара на страниэто категории?</td> <td><?php if ($config_display_model) { ?> <input type="radio" name="config_display_model" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_model" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_model" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_model" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>Код товара на страниэто товара?</td> <td><?php if ($config_display_modelp) { ?> <input type="radio" name="config_display_modelp" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_modelp" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_modelp" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_modelp" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>Бренд на страниэто категории?</td> <td><?php if ($config_display_brand) { ?> <input type="radio" name="config_display_brand" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_brand" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_brand" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_brand" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>Бренд на страниэто товара?</td> <td><?php if ($config_display_brandp) { ?> <input type="radio" name="config_display_brandp" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_brandp" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_brandp" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_brandp" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>Гарантия на страниэто категории?</td> <td><?php if ($config_display_location) { ?> <input type="radio" name="config_display_location" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_location" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_location" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_location" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr><tr> <td>Гарантия на страниэто товара?</td> <td><?php if ($config_display_locationp) { ?> <input type="radio" name="config_display_locationp" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_locationp" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_locationp" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_locationp" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>UPC на страниэто категории?</td> <td><?php if ($config_display_upc) { ?> <input type="radio" name="config_display_upc" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_upc" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_upc" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_upc" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr><tr> <td>UPC на страниэто товара?</td> <td><?php if ($config_display_upcp) { ?> <input type="radio" name="config_display_upcp" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_upcp" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_upcp" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_upcp" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>Налилие товара на страниэто категории?</td> <td><?php if ($config_display_listock) { ?> <input type="radio" name="config_display_listock" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_listock" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_listock" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_listock" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr></table>]]></add> </operation> </file> <file name="catalog/controller/product/product.php"> <operation> <search position="after"><![CDATA[$this->data['points'] = $product_info['points'];]]></search> <add><![CDATA[//product display options $this->language->load('product/pds'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_weight'] = $this->language->get('pds_weight'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['sku'] = $product_info['sku']; $this->data['upc'] = $product_info['upc']; $this->data['location'] = $product_info['location']; if ($product_info['weight']) { $this->data['weight'] = $this->weight->format($product_info['weight'], $product_info['weight_class_id'], $this->language->get('decimal_point'), $this->language->get('thousand_point')); } else { $this->data['weight'] = ''; } ]]></add> </operation> </file> <file name="catalog/view/theme/*/template/product/product.tpl"> <operation> <search position="after"><![CDATA[<span><?php echo $text_model; ?></span> <?php echo $model; ?><br />]]></search> <add><![CDATA[<?php if ($this->config->get('config_display_skup') && $sku) { ?> <span><?php echo $pds_sku; ?> </span> <?php echo $sku; ?><br /> <?php } ?> <?php if ($this->config->get('config_display_upcp') && $upc) { ?> <span><?php echo $pds_upc; ?> </span> <?php echo $upc; ?><br /> <?php } ?> <?php if ($this->config->get('config_display_locationp') && $location) { ?> <span><?php echo $pds_location; ?> </span> <?php echo $location; ?><br /> <?php } ?> <?php if ($this->config->get('config_display_pweight') && $weight) { ?> <span><?php echo $pds_weight; ?> </span> <?php echo $weight; ?><br /> <?php } ?> ]]></add> </operation> <operation> <search position="replace"><![CDATA[<?php if ($manufacturer) { ?>]]></search> <add><![CDATA[<?php if ($this->config->get('config_display_brandp') && $manufacturer) { ?>]]></add> </operation> <operation> <search position="replace"><![CDATA[<?php if ($reward) { ?>]]></search> <add><![CDATA[<?php if ($this->config->get('config_display_rewardsp') && $reward) { ?>]]></add> </operation> <operation> <search position="replace"><![CDATA[<span><?php echo $text_model; ?></span> <?php echo $model; ?><br />]]></search> <add><![CDATA[<?php if ($this->config->get('config_display_modelp')) { ?> <span><?php echo $pds_model; ?></span> <?php echo $model; ?><br /> <?php } ?>]]></add> </operation> </file> <file name="catalog/controller/product/category.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }}]]></add> </operation> <operation> <search position="after"><![CDATA['name' => $result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->data['text_grid'] = $this->language->get('text_grid');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/controller/product/search.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }}]]></add> </operation> <operation> <search position="after"><![CDATA['name' => $result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->data['text_grid'] = $this->language->get('text_grid');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/controller/product/manufacturer.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }}]]></add> </operation> <operation> <search position="after"><![CDATA['name' => $result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->data['text_grid'] = $this->language->get('text_grid');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/controller/product/special.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }}]]></add> </operation> <operation> <search position="after"><![CDATA['name' => $result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->data['text_grid'] = $this->language->get('text_grid');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/view/theme/*/template/product/search.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: inline-block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> <operation> <search position="before"><![CDATA[html += ' <div class="name">' + $(element).find('.name').html() + '</div>';]]></search> <add><![CDATA[html += '<div class="extra" style="display: inline-block; color: #444; position: absolute; transform: translate(-165px, 195px); -webkit-transform: translate(-165px, 195px); -o-transform: translate(-165px, 195px); -moz-transform: translate(-165px, 195px); font-size: 14px;">' + $(element).find('.extra').html() + '</div>';]]></add> </operation> <operation> <search position="after"><![CDATA[html += '<div class="name">' + $(element).find('.name').html() + '</div>';]]></search> <add><![CDATA[html += '<div class="extra" style="display: inline-block; color: #444;">' + $(element).find('.extra').html() + '</div>';]]></add> </operation> </file> <file name="catalog/view/theme/*/template/product/category.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: inline-block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> <operation> <search position="before"><![CDATA[html += ' <div class="name">' + $(element).find('.name').html() + '</div>';]]></search> <add><![CDATA[html += '<div class="extra" style="display: inline-block; color: #444; position: absolute; transform: translate(-165px, 195px); -webkit-transform: translate(-165px, 195px); -o-transform: translate(-165px, 195px); -moz-transform: translate(-165px, 195px); font-size: 14px;">' + $(element).find('.extra').html() + '</div>';]]></add> </operation> <operation> <search position="after"><![CDATA[html += '<div class="name">' + $(element).find('.name').html() + '</div>';]]></search> <add><![CDATA[html += '<div class="extra" style="display: inline-block; color: #444;">' + $(element).find('.extra').html() + '</div>';]]></add> </operation> </file> <file name="catalog/view/theme/*/template/product/special.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: inline-block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> <operation> <search position="before"><![CDATA[html += ' <div class="name">' + $(element).find('.name').html() + '</div>';]]></search> <add><![CDATA[html += '<div class="extra" style="display: inline-block; color: #444; position: absolute; transform: translate(-165px, 195px); -webkit-transform: translate(-165px, 195px); -o-transform: translate(-165px, 195px); -moz-transform: translate(-165px, 195px); font-size: 14px;">' + $(element).find('.extra').html() + '</div>';]]></add> </operation> <operation> <search position="after"><![CDATA[html += '<div class="name">' + $(element).find('.name').html() + '</div>';]]></search> <add><![CDATA[html += '<div class="extra" style="display: inline-block; color: #444;">' + $(element).find('.extra').html() + '</div>';]]></add> </operation> </file> <file name="catalog/view/theme/*/template/product/manufacturer_info.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: inline-block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> <operation> <search position="before"><![CDATA[html += ' <div class="name">' + $(element).find('.name').html() + '</div>';]]></search> <add><![CDATA[html += '<div class="extra" style="display: inline-block; color: #444; position: absolute; transform: translate(-165px, 195px); -webkit-transform: translate(-165px, 195px); -o-transform: translate(-165px, 195px); -moz-transform: translate(-165px, 195px); font-size: 14px;">' + $(element).find('.extra').html() + '</div>';]]></add> </operation> <operation> <search position="after"><![CDATA[html += '<div class="name">' + $(element).find('.name').html() + '</div>';]]></search> <add><![CDATA[html += '<div class="extra" style="display: inline-block; color: #444;">' + $(element).find('.extra').html() + '</div>';]]></add> </operation> </file> <file name="catalog/controller/module/latest.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = "Stock: " . $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }]]></add> </operation> <operation> <search position="after"><![CDATA[$result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->language->load('module/latest');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/view/theme/*/template/module/latest.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> </file> <file name="catalog/controller/module/bestseller.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = "Stock: " . $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }]]></add> </operation> <operation> <search position="after"><![CDATA[$result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->language->load('module/bestseller');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/view/theme/*/template/module/bestseller.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> </file> <file name="catalog/controller/module/special.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = "Stock: " . $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }]]></add> </operation> <operation> <search position="after"><![CDATA[$result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->language->load('module/special');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/view/theme/*/template/module/special.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> </file> <file name="catalog/controller/module/featured.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($product_info['quantity'] <= 0) { $rstock = $product_info['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = "Stock: " . $product_info['quantity']; } else { $rstock = $this->language->get('pds_instock'); }]]></add> </operation> <operation> <search position="after"><![CDATA[$product_info['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $product_info['sku'], 'model' => $product_info['model'], 'brand' => $product_info['manufacturer'], 'location' => $product_info['location'], 'upc' => $product_info['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $product_info['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->language->load('module/featured');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/view/theme/*/template/module/featured.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> </file> <file name="catalog/controller/module/viewed.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($product_info['quantity'] <= 0) { $rstock = $product_info['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = "Stock: " . $product_info['quantity']; } else { $rstock = $this->language->get('pds_instock'); }]]></add> </operation> <operation> <search position="after"><![CDATA[$product_info['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $product_info['sku'], 'model' => $product_info['model'], 'brand' => $product_info['manufacturer'], 'location' => $product_info['location'], 'upc' => $product_info['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $product_info['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->language->load('module/viewed');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/view/theme/*/template/module/viewed.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> </file> <file name="catalog/controller/module/filterpro.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }}]]></add> </operation> <operation> <search position="after"><![CDATA['name' => $result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->data['text_grid'] = $this->language->get('text_grid');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/view/theme/*/template/module/filterpro_products.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: inline-block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> </file> </modification> vq2-catalog_controller_product_manufacturer.php Спойлер <?php class ControllerProductManufacturer extends Controller { public function index() { $this->language->load('product/manufacturer'); $this->load->model('catalog/manufacturer'); $this->load->model('tool/image'); $this->document->setTitle($this->language->get('heading_title')); $this->data['heading_title'] = $this->language->get('heading_title'); $this->data['text_index'] = $this->language->get('text_index'); $this->data['text_empty'] = $this->language->get('text_empty'); $this->data['button_continue'] = $this->language->get('button_continue'); $this->data['breadcrumbs'] = array(); $this->data['breadcrumbs'][] = array( 'text' => $this->language->get('text_home'), 'href' => $this->url->link('common/home'), 'separator' => false ); $this->data['breadcrumbs'][] = array( 'text' => $this->language->get('text_brand'), 'href' => $this->url->link('product/manufacturer'), 'separator' => $this->language->get('text_separator') ); $this->data['categories'] = array(); $results = $this->model_catalog_manufacturer->getManufacturers(); foreach ($results as $result) { if (is_numeric(utf8_substr($result['name'], 0, 1))) { $key = '0 - 9'; } else { $key = utf8_substr(utf8_strtoupper($result['name']), 0, 1); } if (!isset($this->data['manufacturers'][$key])) { $this->data['categories'][$key]['name'] = $key; } $this->data['categories'][$key]['manufacturer'][] = array( 'name' => $result['name'], // ManufacturerLogo 'logo' => $this->model_tool_image->resize($result['image'], 100, 100), // ManufacturerLogo end 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $result['manufacturer_id']) ); } $this->data['continue'] = $this->url->link('common/home'); if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/manufacturer_list.tpl')) { $this->template = $this->config->get('config_template') . '/template/product/manufacturer_list.tpl'; } else { $this->template = 'default/template/product/manufacturer_list.tpl'; } $this->children = array( 'common/column_left', 'common/column_right', 'common/content_top', 'common/content_bottom', 'common/footer', 'common/header' ); $this->response->setOutput($this->render()); } public function info() { $this->language->load('product/manufacturer'); $this->load->model('catalog/manufacturer'); $this->load->model('catalog/product'); $this->load->model('tool/image'); if (isset($this->request->get['manufacturer_id'])) { $manufacturer_id = (int)$this->request->get['manufacturer_id']; } else { $manufacturer_id = 0; } $filterpro_seo = false; $url_data = false; if(isset($this->request->get['filter_id'])) { $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "filterpro_seo WHERE `url`='" . $this->db->escape("filter_id=" . $this->request->get['filter_id']) . "'"); if($query->num_rows) { $filterpro_data = unserialize($query->row['data']); $filterpro_seo = $filterpro_data['lang'][(int)$this->config->get('config_language_id')]; parse_str(str_replace("&", "&", $filterpro_data['url']), $url_data); $url_data['filer_news'] = false; if (!isset($url_data['manufacturer_id']) || $url_data['manufacturer_id'] != $manufacturer_id) { $this->redirect($this->url->link('error/not_found')); } } } if (isset($this->request->get['sort'])) { $sort = $this->request->get['sort']; } else { $sort = 'p.sort_order'; } if (isset($this->request->get['order'])) { $order = $this->request->get['order']; } else { $order = 'ASC'; } if (isset($this->request->get['page'])) { $page = $this->request->get['page']; } else { $page = 1; } if (isset($this->request->get['limit'])) { $limit = $this->request->get['limit']; } else { $limit = $this->config->get('config_catalog_limit'); } $this->data['breadcrumbs'] = array(); $this->data['breadcrumbs'][] = array( 'text' => $this->language->get('text_home'), 'href' => $this->url->link('common/home'), 'separator' => false ); $this->data['breadcrumbs'][] = array( 'text' => $this->language->get('text_brand'), 'href' => $this->url->link('product/manufacturer'), 'separator' => $this->language->get('text_separator') ); $manufacturer_info = $this->model_catalog_manufacturer->getManufacturer($manufacturer_id); if ($manufacturer_info) { if ($manufacturer_info['seo_title']) { $this->document->setTitle($manufacturer_info['seo_title']); } else { $this->document->setTitle($manufacturer_info['name']); } $this->document->addScript('catalog/view/javascript/jquery/jquery.total-storage.min.js'); $this->document->setDescription($manufacturer_info['meta_description']); $this->document->setKeywords($manufacturer_info['meta_keyword']); $url = ''; if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['page'])) { $url .= '&page=' . $this->request->get['page']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['breadcrumbs'][] = array( 'text' => $manufacturer_info['name'], 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . $url), 'separator' => $this->language->get('text_separator') ); if ($manufacturer_info['seo_h1']) { $this->data['heading_title'] = $manufacturer_info['seo_h1']; } else { $this->data['heading_title'] = $manufacturer_info['name']; if($filterpro_seo) { $this->data['description'] = html_entity_decode($filterpro_seo['description'], ENT_QUOTES, 'UTF-8'); $this->data['heading_title'] = $filterpro_seo['h1']; $this->document->setTitle($filterpro_seo['title']); $this->document->setDescription($filterpro_seo['meta_description']); $this->document->setKeywords($filterpro_seo['meta_keywords']); } } $this->data['description'] = html_entity_decode($manufacturer_info['description'], ENT_QUOTES, 'UTF-8'); $this->data['text_empty'] = $this->language->get('text_empty'); $this->data['text_quantity'] = $this->language->get('text_quantity'); $this->data['text_manufacturer'] = $this->language->get('text_manufacturer'); $this->data['text_model'] = $this->language->get('text_model'); $this->data['text_price'] = $this->language->get('text_price'); $this->data['text_tax'] = $this->language->get('text_tax'); $this->data['text_points'] = $this->language->get('text_points'); $this->data['text_compare'] = sprintf($this->language->get('text_compare'), (isset($this->session->data['compare']) ? count($this->session->data['compare']) : 0)); $this->data['text_display'] = $this->language->get('text_display'); $this->data['text_list'] = $this->language->get('text_list'); $this->data['text_grid'] = $this->language->get('text_grid'); $this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock'); $this->data['text_sort'] = $this->language->get('text_sort'); $this->data['text_limit'] = $this->language->get('text_limit'); $this->data['button_cart'] = $this->language->get('button_cart'); $this->data['button_out_of_stock'] = $this->language->get('button_out_of_stock'); $this->data['button_wishlist'] = $this->language->get('button_wishlist'); $this->data['button_compare'] = $this->language->get('button_compare'); $this->data['button_continue'] = $this->language->get('button_continue'); $this->data['compare'] = $this->url->link('product/compare'); $this->data['products'] = array(); $data = array( 'filter_manufacturer_id' => $manufacturer_id, 'sort' => $sort, 'order' => $order, 'start' => ($page - 1) * $limit, 'limit' => $limit ); if($url_data) { $get = $this->request->get; unset($get['route']); unset($get['filter_id']); $this->request->get['filter_redirect'] = $this->url->link('product/category', http_build_query($get)); $this->request->post = $url_data; $this->load->model('module/filterpro'); list($f1, $f2, $f3, $f4, $f5, $f5, $f6, $url_data) = $this->model_module_filterpro->getData(); $url_data['filer_news'] = false; $product_total = $this->model_module_filterpro->getTotalProducts($url_data); $results = $this->model_module_filterpro->getProducts($url_data); } else { $product_total = $this->model_catalog_product->getTotalProducts($data); $results = $this->model_catalog_product->getProducts($data); } //Вызов метода getFoundProducts должен проводится сразу же после getProducts //только тогда он выдает правильное значения когдачества товаров //$product_total = $this->model_catalog_product->getTotalProducts($data); foreach ($results as $result) { if ($result['image']) { $image = $this->model_tool_image->resize($result['image'], $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')); } else { $image = false; } if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { $price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax'))); } else { $price = false; } if ((float)$result['special']) { $special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax'))); } else { $special = false; } if ($this->config->get('config_tax')) { $tax = $this->currency->format((float)$result['special'] ? $result['special'] : $result['price']); } else { $tax = false; } if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }} if ($this->config->get('config_review_status')) { $rating = (int)$result['rating']; } else { $rating = false; } // module attribute to text $options = $this->config->get('attribute_to_text_options'); if (isset($options['show_catalog_attributes'])) { $this->load->model('catalog/attributes_to_text'); $description = $this->model_catalog_attributes_to_text->getText($result['product_id'], $options); if (empty($description) || $description == '<span class="attributes-text"></span>') { $description = utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 300) . '..'; } } else { $description = utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 300) . '..'; } $this->data['products'][] = array( 'promotion' => $result['promotions']['category'], 'statuses' => $result['statuses']['category'], 'stickers' => $result['statuses']['category_stickers'], 'product_id' => $result['product_id'], 'quantity' => $result['quantity'], 'stock' => $result['stock_status'], 'thumb' => $image, 'name' => $result['name'], //produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds 'description' => $description, 'price' => $price, 'special' => $special, 'tax' => $tax, 'rating' => $result['rating'], 'reviews' => sprintf($this->language->get('text_reviews'), (int)$result['reviews']), 'href' => $this->url->link('product/product', '&manufacturer_id=' . $result['manufacturer_id'] . '&product_id=' . $result['product_id'] . $url) ); } $url = ''; if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['sorts'] = array(); $this->data['sorts'][] = array( 'text' => $this->language->get('text_default'), 'value' => 'p.sort_order-ASC', 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=p.sort_order&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_name_asc'), 'value' => 'pd.name-ASC', 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=pd.name&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_name_desc'), 'value' => 'pd.name-DESC', 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=pd.name&order=DESC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_price_asc'), 'value' => 'p.price-ASC', 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=p.price&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_price_desc'), 'value' => 'p.price-DESC', 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=p.price&order=DESC' . $url) ); if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }} if ($this->config->get('config_review_status')) { $this->data['sorts'][] = array( 'text' => $this->language->get('text_rating_desc'), 'value' => 'rating-DESC', 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=rating&order=DESC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_rating_asc'), 'value' => 'rating-ASC', 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=rating&order=ASC' . $url) ); } $this->data['sorts'][] = array( 'text' => $this->language->get('text_model_asc'), 'value' => 'p.model-ASC', 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=p.model&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_model_desc'), 'value' => 'p.model-DESC', 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=p.model&order=DESC' . $url) ); $url = ''; if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } $this->data['limits'] = array(); $limits = array_unique(array($this->config->get('config_catalog_limit'), 25, 50, 75, 100)); sort($limits); foreach($limits as $value){ $this->data['limits'][] = array( 'text' => $value, 'value' => $value, 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . $url . '&limit=' . $value) ); } $url = ''; if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $pagination = new Pagination(); $pagination->total = $product_total; $pagination->page = $page; $pagination->limit = $limit; $pagination->text = $this->language->get('text_pagination'); $pagination->url = $this->url->link('product/manufacturer/info','manufacturer_id=' . $this->request->get['manufacturer_id'] . $url . '&page={page}'); $this->data['pagination'] = $pagination->render(); $this->data['sort'] = $sort; $this->data['order'] = $order; $this->data['limit'] = $limit; $this->data['continue'] = $this->url->link('common/home'); if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/manufacturer_info.tpl')) { $this->template = $this->config->get('config_template') . '/template/product/manufacturer_info.tpl'; } else { $this->template = 'default/template/product/manufacturer_info.tpl'; } $this->children = array( 'common/column_left', 'common/column_right', 'common/content_top', 'common/content_bottom', 'common/footer', 'common/header' ); $this->response->setOutput($this->render()); } else { $url = ''; if (isset($this->request->get['manufacturer_id'])) { $url .= '&manufacturer_id=' . $this->request->get['manufacturer_id']; } if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['page'])) { $url .= '&page=' . $this->request->get['page']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['breadcrumbs'][] = array( 'text' => $this->language->get('text_error'), 'href' => $this->url->link('product/category', $url), 'separator' => $this->language->get('text_separator') ); $this->document->setTitle($this->language->get('text_error')); $this->data['heading_title'] = $this->language->get('text_error'); $this->data['text_error'] = $this->language->get('text_error'); $this->data['button_continue'] = $this->language->get('button_continue'); $this->data['continue'] = $this->url->link('common/home'); if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/error/not_found.tpl')) { $this->template = $this->config->get('config_template') . '/template/error/not_found.tpl'; } else { $this->template = 'default/template/error/not_found.tpl'; } $this->children = array( 'common/column_left', 'common/column_right', 'common/content_top', 'common/content_bottom', 'common/footer', 'common/header' ); $this->response->setOutput($this->render()); } } } ?> vq2-catalog_controller_product_category.php Спойлер <?php class ControllerProductCategory extends Controller { public function index() { $this->language->load('product/category'); $this->load->model('catalog/category'); $this->load->model('catalog/product'); $this->load->model('tool/image'); if (isset($this->request->get['filter'])) { $filter = $this->request->get['filter']; } else { $filter = ''; } if (isset($this->request->get['sort'])) { $sort = $this->request->get['sort']; } else { $sort = 'p.sort_order'; } if (isset($this->request->get['order'])) { $order = $this->request->get['order']; } else { $order = 'ASC'; } if (isset($this->request->get['page'])) { $page = $this->request->get['page']; } else { $page = 1; } if (isset($this->request->get['limit'])) { $limit = $this->request->get['limit']; } else { $limit = $this->config->get('config_catalog_limit'); } $this->data['breadcrumbs'] = array(); $this->data['breadcrumbs'][] = array( 'text' => $this->language->get('text_home'), 'href' => $this->url->link('common/home'), 'separator' => false ); if (isset($this->request->get['path'])) { $url = ''; if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $path = ''; $parts = explode('_', (string)$this->request->get['path']); $category_id = (int)array_pop($parts); foreach ($parts as $path_id) { if (!$path) { $path = (int)$path_id; } else { $path .= '_' . (int)$path_id; } $category_info = $this->model_catalog_category->getCategory($path_id); if ($category_info) { $this->data['breadcrumbs'][] = array( 'text' => $category_info['name'], 'href' => $this->url->link('product/category', 'path=' . $path . $url), 'separator' => $this->language->get('text_separator') ); } } } else { $category_id = 0; } $filterpro_seo = false; $url_data = false; if(isset($this->request->get['filter_id'])) { $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "filterpro_seo WHERE `url`='" . $this->db->escape("filter_id=" . $this->request->get['filter_id']) . "'"); if($query->num_rows) { $filterpro_data = unserialize($query->row['data']); $filterpro_seo = $filterpro_data['lang'][(int)$this->config->get('config_language_id')]; parse_str(str_replace("&", "&", $filterpro_data['url']), $url_data); $url_data['filer_news'] = false; if(!isset($url_data['category_id']) || $url_data['category_id'] != $category_id) { $this->redirect($this->url->link('error/not_found')); } } } $category_info = $this->model_catalog_category->getCategory($category_id); if ($category_info) { if ($category_info['seo_title']) { $this->document->setTitle($category_info['seo_title']); } else { $this->document->setTitle($category_info['name']); } $this->document->setDescription($category_info['meta_description']); $this->document->setKeywords($category_info['meta_keyword']); $this->document->addScript('catalog/view/javascript/jquery/jquery.total-storage.min.js'); if ($category_info['seo_h1']) { $this->data['heading_title'] = $category_info['seo_h1']; } else { $this->data['heading_title'] = $category_info['name']; } $this->data['text_refine'] = $this->language->get('text_refine'); $this->data['text_empty'] = $this->language->get('text_empty'); $this->data['text_quantity'] = $this->language->get('text_quantity'); $this->data['text_manufacturer'] = $this->language->get('text_manufacturer'); $this->data['text_model'] = $this->language->get('text_model'); $this->data['text_price'] = $this->language->get('text_price'); $this->data['text_tax'] = $this->language->get('text_tax'); $this->data['text_points'] = $this->language->get('text_points'); $this->data['text_compare'] = sprintf($this->language->get('text_compare'), (isset($this->session->data['compare']) ? count($this->session->data['compare']) : 0)); $this->data['text_display'] = $this->language->get('text_display'); $this->data['text_list'] = $this->language->get('text_list'); $this->data['text_grid'] = $this->language->get('text_grid'); $this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock'); $this->data['text_sort'] = $this->language->get('text_sort'); $this->data['text_limit'] = $this->language->get('text_limit'); $this->data['button_cart'] = $this->language->get('button_cart'); $this->data['button_out_of_stock'] = $this->language->get('button_out_of_stock'); $this->data['button_wishlist'] = $this->language->get('button_wishlist'); $this->data['button_compare'] = $this->language->get('button_compare'); $this->data['button_continue'] = $this->language->get('button_continue'); // Set the last category breadcrumb $url = ''; if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['page'])) { $url .= '&page=' . $this->request->get['page']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['breadcrumbs'][] = array( 'text' => $category_info['name'], 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path']), 'separator' => $this->language->get('text_separator') ); if ($category_info['image']) { $this->data['thumb'] = $this->model_tool_image->resize($category_info['image'], $this->config->get('config_image_category_width'), $this->config->get('config_image_category_height')); $this->document->setOgImage($this->data['thumb']); } else { $this->data['thumb'] = ''; } $this->data['description'] = html_entity_decode($category_info['description'], ENT_QUOTES, 'UTF-8'); if($filterpro_seo) { $this->data['description'] = html_entity_decode($filterpro_seo['description'], ENT_QUOTES, 'UTF-8'); $this->data['heading_title'] = $filterpro_seo['h1']; $this->document->setTitle($filterpro_seo['title']); $this->document->setDescription($filterpro_seo['meta_description']); $this->document->setKeywords($filterpro_seo['meta_keywords']); } $this->data['compare'] = $this->url->link('product/compare'); $url = ''; if (isset($this->request->get['filter'])) { $url .= '&filter=' . $this->request->get['filter']; } if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['categories'] = array(); $results = $this->model_catalog_category->getCategories($category_id); foreach ($results as $result) { $data = array( 'filter_category_id' => $result['category_id'], 'filter_sub_category' => true ); $product_total = $this->model_catalog_product->getTotalProducts($data); $this->data['categories'][] = array( 'name' => $result['name'] . ($this->config->get('config_product_count') ? ' (' . $product_total . ')' : ''), 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '_' . $result['category_id'] . $url), 'thumb' => $this->model_tool_image->resize(($result['image']=='' ? 'no_image.jpg' : $result['image']), $this->config->get('config_image_category_width'), $this->config->get('config_image_category_height')) ); } $this->data['products'] = array(); $data = array( 'filter_category_id' => $category_id, 'filter_filter' => $filter, 'sort' => $sort, 'order' => $order, 'start' => ($page - 1) * $limit, 'limit' => $limit ); if($url_data) { $get = $this->request->get; unset($get['route']); unset($get['filter_id']); $this->request->get['filter_redirect'] = $this->url->link('product/category', http_build_query($get)); $this->request->post = $url_data; $this->load->model('module/filterpro'); list($f1, $f2, $f3, $f4, $f5, $f5, $f6, $url_data) = $this->model_module_filterpro->getData(); $url_data['filer_news'] = false; $product_total = $this->model_module_filterpro->getTotalProducts($url_data); $results = $this->model_module_filterpro->getProducts($url_data); } else { $product_total = $this->model_catalog_product->getTotalProducts($data); $results = $this->model_catalog_product->getProducts($data); } //Вызов метода getFoundProducts должен проводится сразу же после getProducts //только тогда он выдает правильное значения когдачества товаров //$product_total = $this->model_catalog_product->getTotalProducts($data); foreach ($results as $result) { if ($result['image']) { $image = $this->model_tool_image->resize($result['image'], $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')); } else { $image = $this->model_tool_image->resize('no_image.jpg', $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')); } if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { $price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax'))); } else { $price = false; } if ((float)$result['special']) { $special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax'))); } else { $special = false; } if ($this->config->get('config_tax')) { $tax = $this->currency->format((float)$result['special'] ? $result['special'] : $result['price']); } else { $tax = false; } if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }} if ($this->config->get('config_review_status')) { $rating = (int)$result['rating']; } else { $rating = false; } // module attribute to text $options = $this->config->get('attribute_to_text_options'); if (isset($options['show_catalog_attributes'])) { $this->load->model('catalog/attributes_to_text'); $description = $this->model_catalog_attributes_to_text->getText($result['product_id'], $options); if (empty($description) || $description == '<span class="attributes-text"></span>') { $description = utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 300) . '..'; } } else { $description = utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 300) . '..'; } $this->data['products'][] = array( 'promotion' => $result['promotions']['category'], 'statuses' => $result['statuses']['category'], 'stickers' => $result['statuses']['category_stickers'], 'product_id' => $result['product_id'], 'quantity' => $result['quantity'], 'stock' => $result['stock_status'], 'thumb' => $image, 'name' => $result['name'], //produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds 'description' => $description, 'price' => $price, 'special' => $special, 'tax' => $tax, 'rating' => $result['rating'], 'reviews' => sprintf($this->language->get('text_reviews'), (int)$result['reviews']), 'href' => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id'] . $url) ); } $url = ''; if (isset($this->request->get['filter'])) { $url .= '&filter=' . $this->request->get['filter']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['sorts'] = array(); $this->data['sorts'][] = array( 'text' => $this->language->get('text_default'), 'value' => 'p.sort_order-ASC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.sort_order&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_name_asc'), 'value' => 'pd.name-ASC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=pd.name&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_name_desc'), 'value' => 'pd.name-DESC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=pd.name&order=DESC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_price_asc'), 'value' => 'p.price-ASC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.price&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_price_desc'), 'value' => 'p.price-DESC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.price&order=DESC' . $url) ); if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }} if ($this->config->get('config_review_status')) { $this->data['sorts'][] = array( 'text' => $this->language->get('text_rating_desc'), 'value' => 'rating-DESC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=rating&order=DESC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_rating_asc'), 'value' => 'rating-ASC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=rating&order=ASC' . $url) ); } $this->data['sorts'][] = array( 'text' => $this->language->get('text_model_asc'), 'value' => 'p.model-ASC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.model&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_model_desc'), 'value' => 'p.model-DESC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.model&order=DESC' . $url) ); $url = ''; if (isset($this->request->get['filter'])) { $url .= '&filter=' . $this->request->get['filter']; } if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } $this->data['limits'] = array(); $limits = array_unique(array($this->config->get('config_catalog_limit'), 25, 50, 75, 100)); sort($limits); foreach($limits as $value){ $this->data['limits'][] = array( 'text' => $value, 'value' => $value, 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . $url . '&limit=' . $value) ); } $url = ''; if (isset($this->request->get['filter'])) { $url .= '&filter=' . $this->request->get['filter']; } if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $pagination = new Pagination(); $pagination->total = $product_total; $pagination->page = $page; $pagination->limit = $limit; $pagination->text = $this->language->get('text_pagination'); $pagination->url = $this->url->link('product/category', 'path=' . $this->request->get['path'] . $url . '&page={page}'); $this->data['pagination'] = $pagination->render(); $this->data['sort'] = $sort; $this->data['order'] = $order; $this->data['limit'] = $limit; $this->data['continue'] = $this->url->link('common/home'); if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/category.tpl')) { $this->template = $this->config->get('config_template') . '/template/product/category.tpl'; } else { $this->template = 'default/template/product/category.tpl'; } $this->children = array( 'common/column_left', 'common/column_right', 'common/content_top', 'common/content_bottom', 'common/footer', 'common/header' ); $this->response->setOutput($this->render()); } else { $url = ''; if (isset($this->request->get['path'])) { $url .= '&path=' . $this->request->get['path']; } if (isset($this->request->get['filter'])) { $url .= '&filter=' . $this->request->get['filter']; } if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['page'])) { $url .= '&page=' . $this->request->get['page']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['breadcrumbs'][] = array( 'text' => $this->language->get('text_error'), 'href' => $this->url->link('product/category', $url), 'separator' => $this->language->get('text_separator') ); $this->document->setTitle($this->language->get('text_error')); $this->data['heading_title'] = $this->language->get('text_error'); $this->data['text_error'] = $this->language->get('text_error'); $this->data['button_continue'] = $this->language->get('button_continue'); $this->data['continue'] = $this->url->link('common/home'); if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/error/not_found.tpl')) { $this->template = $this->config->get('config_template') . '/template/error/not_found.tpl'; } else { $this->template = 'default/template/error/not_found.tpl'; } $this->children = array( 'common/column_left', 'common/column_right', 'common/content_top', 'common/content_bottom', 'common/footer', 'common/header' ); $this->response->setOutput($this->render()); } } } ?> Что заметил. Системные ошибки, связанные с "Product Display Settings", периодически начали появляться после того, как добавился файл "product_statuses.xml" нового модуля "Ситусы Товара PRO Speed, автоситусы, стикеры, текстовые ситусы". Видно им тесно вдвоём ) Link to comment Share on other sites More sharing options... Prev 271 272 273 274 275 276 277 278 279 Next Page 276 of 279 Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 61 Go to topic listing Similar Content filterpro filter Pro By freelancer, June 23, 2012 фильтр filter 2 comments 287,420 views vladplot April 28, 2017 Mega Filter PLUS [powered by Mega Filter PRO][2.x, 3.x] [Подгдержка] 1 2 3 4 56 By OCMegaExtensions, March 27, 2017 mega filter plus filter plus (and 8 more) Tagged with: mega filter plus filter plus mega filter manufacturers filter seo filter filter seo filter brands filter price filter categories filter 1,397 replies 156,366 views FreemanMike February 21 filter Фильтр товаров Dream Filter [Подгдержка] 1 2 3 4 55 By reDream, May 18, 2017 фильтр redream (and 2 more) Tagged with: фильтр redream фильтр товаров фильтрация 1,356 replies 130,150 views reDream March 10 [Подгдержка] Custom templates Pro By halfhope, June 20, 2021 персонализованные шалпотому чтоны custom templates (and 2 more) Tagged with: персонализованные шалпотому чтоны custom templates шаблон для категории шаблон для товара 6 replies 527 views igorfelix March 16 Модуль Акции, Подарки PRO [Подгдержка] 1 2 3 4 9 By sv2109, February 10, 2016 акция акции (and 7 more) Tagged with: акция акции подарки подарок товар категория корзина продажа продажи 203 replies 22,872 views sv2109 Tuesday at 02:13 PM Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Подгдержка и ответы на вопросы Модули и дополнения Filters filter Pro [Подгдержка] Покупателям Оплаи дополнений физическими лицами Оплаи дополнений юридическими лицами Политика возвратов Разрилитликам Регламент размеещёния дополнений Регламент продаж и подгдержки дополнений Виртуальный аккаунт автора Политика продвижения объявлений API каилога дополнений Урегулирование споров по авторским правам Полезная информация Публичная офери Политика возвратов Политика конфигденциальности Платоженая политика Политика Передали Персональных Данных Политика прозрачности Последние дополнения Дополнительные услуги - по дорилитке вашего проеки By OCdevCoding Менеджер административного меню By halfhope Модуль меи-тега Robots Products, Categories, Information, Manufacturer pages By OCdevCoding Калькулятор суммы до бесплатной досивки By ocplanet Модуль "Совместные покупки и Краудфандинг" для Opencart 2.x 3х By whiteblue × Existing user? Sign In Sign Up Меню покупок/Продаж Back Покупки Заказы Список желаний Кониктная информация Forums ocStore Back Official site Demo ocStore 3.0.3.2 Demo ocStore 2.3.0.2.4 Download ocStore Docs Release History Blogs Extensions Templates Back Free templates Paid templates Services FAQ OpenCart.Pro Back Demo Buy Compare Hosting for OpenCart × 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. I accept
pahanmcs Posted April 2, 2019 Share Posted April 2, 2019 3 часа назад, freelancer сказал: @pahanmcs мне нужно вклюлить И и посмотреть @freelancerможет ИЛИ? Сейчас же И включено, как на скриншоих. На 2-х вкладках? Link to comment Share on other sites More sharing options...
freelancer Posted April 2, 2019 Author Share Posted April 2, 2019 @pahanmcs сейчас если выбрать два атрибуты, то сервер отдает 502, а должен 200 или текст ошибки Link to comment Share on other sites More sharing options... pahanmcs Posted April 3, 2019 Share Posted April 3, 2019 @freelancer Спасипотому что, хостер решил мою проблему с 502 ошибкой по фильтру Link to comment Share on other sites More sharing options... freelancer Posted April 3, 2019 Author Share Posted April 3, 2019 Link to comment Share on other sites More sharing options... 2 weeks later... tolkachev Posted April 16, 2019 Share Posted April 16, 2019 Здравствуйте! перенесли домен на https и пишет Домены не совпадают! пробывал удалить лиэтонзию и заного, ничего не помогает домен tutbag.ru Link to comment Share on other sites More sharing options... pahanmcs Posted April 16, 2019 Share Posted April 16, 2019 @freelancer, у меня видимо в вашем фильтре блокируется скрипт спойлера https://dostavkapicci.ru/zakaz-pizzy/ красная кнопка +, в других категориях без фильтра спойлер развораливается, в чем может быть гдело, в консоли нет ошипотому чток <script type="text/javascript"> $(document).ready(function(){ $('.opening2').click(function(){ $(this).parent().children('div.sp2').toggle('normal'); return false; }); }); </script> Link to comment Share on other sites More sharing options... pahanmcs Posted April 17, 2019 Share Posted April 17, 2019 на мобильной версии тоже рилииет без фильтра Link to comment Share on other sites More sharing options... pahanmcs Posted April 20, 2019 Share Posted April 20, 2019 (edited) @freelancer, скажите пжлси, в каком месте мне разместить этот скрипт вашего модуля, чтобы он выполнялся? шаблон <a class="opening2" href="javscript://">+</a> если в контроллер модуля в php всивить, то скрипт спойлера рилииет, но слеиет кодировка подключение скрипи в шапке или подвно сайи не рилииет возможно надо добавить через $this->document->addScript в контроллере, но не знаю место Edited April 21, 2019 by pahanmcs Link to comment Share on other sites More sharing options... freelancer Posted April 22, 2019 Author Share Posted April 22, 2019 @pahanmcs всивьте в сам шаблон filterpro_products.tpl Link to comment Share on other sites More sharing options... pahanmcs Posted April 22, 2019 Share Posted April 22, 2019 1 час назад, freelancer сказал: @pahanmcs всивьте в сам шаблон filterpro_products.tpl @freelancer, всивлял конечно, в когде появляется скрипт, но не в этом гдело, почему-то именно с вашим фильтром не хочет рилиить в паре. при замене замене конструкции <a class="opening2" href="javscript://">+</a> на <span class="opening2">+</span> все равно в категории с фильтром не рилииет, в осильных рилииет может ли быть конфликт подключаемых библиотек? Link to comment Share on other sites More sharing options... Ohrikon Posted April 23, 2019 Share Posted April 23, 2019 Добрый гдень Freelancer. Я оплатил за модуль filter pro случайно ошибся с версией мне нужно для Ocstore 2.3 Пожалуйси дайте релиз для версии 2.3 . На какой домен он бугдет усиновлен я писал вам в ЛС . Пожалуйси помогите с нужной версией. Link to comment Share on other sites More sharing options... freelancer Posted April 25, 2019 Author Share Posted April 25, 2019 @pahanmcs ггде можно увигдеть то, что вы гделаете? Link to comment Share on other sites More sharing options... pahanmcs Posted April 25, 2019 Share Posted April 25, 2019 5 часов назад, freelancer сказал: @pahanmcs ггде можно увигдеть то, что вы гделаете? я уже решил проблему: изменил скрипт, ик как фильтр перерисовывает согдержимое и теряются обрилитлики событий. Link to comment Share on other sites More sharing options... serg34 Posted April 26, 2019 Share Posted April 26, 2019 Здравствуйте! Подскажите в чем может быть проблема. На версии 2.4 сео настройка рилииет нормально, сивлю версию v2.5.17.6_beta (speed), корректно не рилииет. Переходит только на сам атрибут, а меи-теги не отображает. Link to comment Share on other sites More sharing options... 2 weeks later... qweezz Posted May 5, 2019 Share Posted May 5, 2019 Здравствуйте В фильтре можно сортировать порядок вывода атрибутов? У нас все атрибуты в одной группе атрибутов: 1 2 3 4 Надо чтобы на страниэто сайи в фильтре порядок был другой, например 2 4 3 Link to comment Share on other sites More sharing options... freelancer Posted May 8, 2019 Author Share Posted May 8, 2019 @qweezz тут есть про сортировки для разных версий Link to comment Share on other sites More sharing options... promikes Posted May 13, 2019 Share Posted May 13, 2019 Добрый гдень! Столкнулся с проблемой, покупал лиэтонзию Вашего фильтра еещё лет 5 назад. Вот сейчас гделаем переход на https, т.к. уже требуют все рекламные площадки, и после перехода у нас ion_cube соответственно не пропускает наш сайт, т.к. слииет, что мы пыиемся дублировать лиэтонзию. Написал в ЛС, сюда дублирую, т.к. кейс может быть интересен другим пользователям, полагаю. Link to comment Share on other sites More sharing options... 2 weeks later... thecatus Posted May 27, 2019 Share Posted May 27, 2019 @freelancer, здравствуйте, прошу ответить на личное сообещёние от 21.05. по вопросу подгдержки модуля Link to comment Share on other sites More sharing options... 4 weeks later... Zapuzin Posted June 19, 2019 Share Posted June 19, 2019 (edited) В 13.05.2019 в 13:23, promikes сказал: Вот сейчас гделаем переход на https, т.к. уже требуют все рекламные площадки... Тоже в проэтоссе перехода на https. Вопрос о лиэтонзии данного модуля "filterpro v2.4.4(seo)" и "SeoGen 4.1" очень актунон! Без ясности данного вопроса переходить не хочется ) С осильными авторами модулей в проэтоссе выяснения. freelancer, написАл в ЛС Edited June 19, 2019 by Zapuzin Link to comment Share on other sites More sharing options... Zapuzin Posted June 20, 2019 Share Posted June 20, 2019 (edited) Не дождался отвеи и перешёл на https. Все лиэтонзионные модули, в том лисле и данные, рилииют как и рилиили. Проблем не обнаружил ) По осильным модулям был спокоен, ик как разрилитлики вышли на связь и подтвердили, что от перехода с http на https лиэтонзия сохраняется. freelancer, уже не актуально. Edited June 20, 2019 by Zapuzin Link to comment Share on other sites More sharing options... 4 weeks later... Zapuzin Posted July 14, 2019 Share Posted July 14, 2019 (edited) filterpro_v2.4.4(seo) (29.02.2016, #433262) ocStore-1.5.5.1.2 Усиновлен Product Display Settings vqmod В этолом этот модуль с фильтром подружил, осилась только одна проблемка. Вот её никак не могу самостоятельно попотому чтороть ) Если товара нет в налилии, то "Налилие" отображается правильно, на том языке, который выбран на сайте. Если товар есть в налилии, то "Налилие" отображается неправильно - "pds_instock". Вот скрины для наглядности: Налилие без фильтра: Налилие с фильтром: "catalog/controller/product/category.php" из файла "product-display-settings.xml": Спойлер <file name="catalog/controller/product/category.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }}]]></add> </operation> <operation> <search position="after"><![CDATA['name' => $result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->data['text_grid'] = $this->language->get('text_grid');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> "catalog/controller/module/filterpro.php" из файла "product-display-settings.xml": Спойлер <file name="catalog/controller/module/filterpro.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }}]]></add> </operation> <operation> <search position="after"><![CDATA['name' => $result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->data['text_grid'] = $this->language->get('text_grid');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> Вот языковой файл "catalog/language/russian/product/pds.php": Спойлер <?php $_['pds_model'] = 'Код товара:'; $_['pds_sku'] = 'Страна производитель:'; $_['pds_brand'] = 'Бренд:'; $_['pds_upc'] = 'UPC:'; $_['pds_location'] = 'Гарантия:'; $_['pds_stock'] = 'Налилие:'; $_['pds_instock'] = 'В налилии:'; $_['pds_weight'] = 'Вес:'; ?> " vq2-catalog_controller_module_filterpro.php" Спойлер <?php class ControllerModuleFilterPro extends Controller { protected function index($setting) { if($setting['type'] == 1) { $this->language->load('product/filter'); $this->data['text_display'] = $this->language->get('text_display'); $this->data['text_list'] = $this->language->get('text_list'); $this->data['text_grid'] = $this->language->get('text_grid'); $this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock'); $this->data['text_sort'] = $this->language->get('text_sort'); $this->data['text_limit'] = $this->language->get('text_limit'); $sort = 'p.sort_order'; $order = 'ASC'; $limit = $this->config->get('config_catalog_limit'); $url = ''; if(isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['sorts'] = array(); $this->data['sorts'][] = array( 'text' => $this->language->get('text_default'), 'value' => 'p.sort_order-ASC', 'href' => $this->url->link('product/filter', 'sort=p.sort_order&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_name_asc'), 'value' => 'pd.name-ASC', 'href' => $this->url->link('product/filter', 'sort=pd.name&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_name_desc'), 'value' => 'pd.name-DESC', 'href' => $this->url->link('product/filter', 'sort=pd.name&order=DESC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_price_asc'), 'value' => 'p.price-ASC', 'href' => $this->url->link('product/filter', 'sort=p.price&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_price_desc'), 'value' => 'p.price-DESC', 'href' => $this->url->link('product/filter', 'sort=p.price&order=DESC' . $url) ); if($this->config->get('config_review_status')) { $this->data['sorts'][] = array( 'text' => $this->language->get('text_rating_desc'), 'value' => 'rating-DESC', 'href' => $this->url->link('product/filter', 'sort=rating&order=DESC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_rating_asc'), 'value' => 'rating-ASC', 'href' => $this->url->link('product/filter', 'sort=rating&order=ASC' . $url) ); } $this->data['sorts'][] = array( 'text' => $this->language->get('text_model_asc'), 'value' => 'p.model-ASC', 'href' => $this->url->link('product/filter', 'sort=p.model&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_model_desc'), 'value' => 'p.model-DESC', 'href' => $this->url->link('product/filter', 'sort=p.model&order=DESC' . $url) ); $url = ''; if(isset($this->request->get['sort'])) { $url .= 'sort=' . $this->request->get['sort']; } if(isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } $this->data['limits'] = array(); $this->data['limits'][] = array( 'text' => $this->config->get('config_catalog_limit'), 'value' => $this->config->get('config_catalog_limit'), 'href' => $this->url->link('product/filter', $url . '&limit=' . $this->config->get('config_catalog_limit')) ); $this->data['limits'][] = array( 'text' => 25, 'value' => 25, 'href' => $this->url->link('product/filter', $url . '&limit=25') ); $this->data['limits'][] = array( 'text' => 50, 'value' => 50, 'href' => $this->url->link('product/filter', $url . '&limit=50') ); $this->data['limits'][] = array( 'text' => 75, 'value' => 75, 'href' => $this->url->link('product/filter', $url . '&limit=75') ); $this->data['limits'][] = array( 'text' => 100, 'value' => 100, 'href' => $this->url->link('product/filter', $url . '&limit=100') ); $this->data['sort'] = $sort; $this->data['order'] = $order; $this->data['limit'] = $limit; $this->document->addScript('catalog/view/javascript/jquery/jquery.total-storage.min.js'); $this->data += $this->language->load('product/category'); $this->data['text_compare'] = sprintf($this->language->get('text_compare'), (isset($this->session->data['compare']) ? count($this->session->data['compare']) : 0)); if(file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/filterpro_container.tpl')) { $this->template = $this->config->get('config_template') . '/template/module/filterpro_container.tpl'; } else { $this->template = 'default/template/module/filterpro_container.tpl'; } } else { $this->language->load('module/filterpro'); if (isset($this->request->get['sort'])) { $sort = $this->request->get['sort']; } else { $sort = 'p.sort_order'; } if (isset($this->request->get['order'])) { $order = $this->request->get['order']; } else { $order = 'ASC'; } if (isset($this->request->get['page'])) { $page = $this->request->get['page']; } else { $page = 1; } if (isset($this->request->get['limit'])) { $limit = $this->request->get['limit']; } else { $limit = $this->config->get('config_catalog_limit'); } $this->data['sort'] = $sort; $this->data['order'] = $order; $this->data['page'] = $page; $this->data['limit'] = $limit; $this->data['text_tax'] = $this->language->get('text_tax'); $this->data['button_cart'] = $this->language->get('button_cart'); $this->data['button_out_of_stock'] = $this->language->get('button_out_of_stock'); $this->data['button_wishlist'] = $this->language->get('button_wishlist'); $this->data['button_compare'] = $this->language->get('button_compare'); $this->data['text_price_range'] = $this->language->get('text_price_range'); $this->data['text_manufacturers'] = $this->language->get('text_manufacturers'); $this->data['text_tags'] = $this->language->get('text_tags'); $this->data['text_categories'] = $this->language->get('text_categories'); $this->data['text_attributes'] = $this->language->get('text_attributes'); $this->data['text_all'] = $this->language->get('text_all'); $this->data['clear_filter'] = $this->language->get('clear_filter'); $this->data['text_instock'] = $this->language->get('text_instock'); $this->data['text_filer_special'] = $this->language->get('text_filer_special'); $this->data['text_filer_news'] = $this->language->get('text_filer_news'); $this->data['text_show_filer_special'] = $this->language->get('text_show_filer_special'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock'); $this->data['symbol_right'] = $this->currency->getSymbolRight(); $this->data['symbol_left'] = $this->currency->getSymbolLeft(); $this->data['setting'] = $setting; if(VERSION == '1.5.0') { $filterpro_setting = unserialize($this->config->get('filterpro_setting')); } else { $filterpro_setting = $this->config->get('filterpro_setting'); } $this->data['text_show_filer_news'] = sprintf($this->language->get('text_show_filer_news'), $filterpro_setting['news_days']); $this->data['heading_title'] = $filterpro_setting['filterpro_name']; $this->data['heading_title'] = $this->language->get('heading_title'); $is_special = isset($this->request->get['route']) && $this->request->get['route'] == "product/special"; $is_bydate = isset($this->request->get['route']) && $this->request->get['route'] == "product/productsbydate"; $category_id = false; $this->data['path'] = ""; if(isset($this->request->get['path'])) { $this->data['path'] = $this->request->get['path']; $parts = explode('_', (string)$this->request->get['path']); $category_id = array_pop($parts); } $manufacturer_id = false; if(isset($this->request->get['manufacturer_id'])) { $manufacturer_id = $this->request->get['manufacturer_id']; $data = array( 'filter_manufacturer_id' => $this->request->get['manufacturer_id'] ); } else { $data = array( 'filter_category_id' => $category_id, 'filter_sub_category' => isset($filterpro_setting['subcategories']) ); } $this->load->model('catalog/product'); $product_total = $this->model_catalog_product->getTotalProducts($data); if($product_total < 2) { return; } $this->data['category_id'] = $category_id; $data = array('category_id' => $category_id, 'manufacturer_id' => $manufacturer_id, 'special' => $is_special, 'by_date' => $is_bydate,); $this->load->model('module/filterpro'); $this->data['manufacturers'] = false; if(isset($this->request->get['manufacturer_id'])) { $this->data['manufacturer_id'] = $this->request->get['manufacturer_id']; } else { if($filterpro_setting['display_manufacturer'] != 'none') { $this->data['manufacturers'] = $this->model_module_filterpro->getManufacturers($data); $this->data['display_manufacturer'] = $filterpro_setting['display_manufacturer']; $this->data['expanded_manufacturer'] = isset($filterpro_setting['expanded_manufacturer']) ? 1 : 0; } } $this->data['options'] = $this->model_module_filterpro->getOptions($data); $this->load->model('tool/image'); foreach($this->data['options'] as $i => $option) { if(!isset($filterpro_setting['display_option_' . $option['option_id']])) { $filterpro_setting['display_option_' . $option['option_id']] = 'none'; } $display_option = $filterpro_setting['display_option_' . $option['option_id']]; if($display_option != 'none') { $this->data['options'][$i]['display'] = $display_option; $this->data['options'][$i]['expanded'] = isset($filterpro_setting['expanded_option_' . $option['option_id']]) ? 1 : 0; foreach($this->data['options'][$i]['option_values'] as $j => $option_value) { $this->data['options'][$i]['option_values'][$j]['thumb'] = $this->model_tool_image->resize($this->data['options'][$i]['option_values'][$j]['image'], (int)$filterpro_setting['option_images_w'], (int)$filterpro_setting['option_images_h']); } } else { unset($this->data['options'][$i]); } } $this->data['tags'] = array(); if(version_compare(VERSION, "1.5.4") <= 0 && $filterpro_setting['display_tags'] != 'none') { $this->data['tags'] = $this->model_module_filterpro->getTags($data); $this->data['expanded_tags'] = isset($filterpro_setting['expanded_tags']) ? 1 : 0; } $this->data['categories'] = false; if($filterpro_setting['display_categories'] != 'none') { $this->data['categories'] = $this->model_module_filterpro->getSubCategories($data); $this->data['expanded_categories'] = isset($filterpro_setting['expanded_categories']) ? 1 : 0; } $this->data['attributes'] = $this->model_module_filterpro->getAttributes($data); foreach($this->data['attributes'] as $j => $attribute_group) { foreach($attribute_group['attribute_values'] as $attribute_id => $attribute) { if(!isset($filterpro_setting['display_attribute_' . $attribute_id])) { $filterpro_setting['display_attribute_' . $attribute_id] = 'none'; } $display_attribute = $filterpro_setting['display_attribute_' . $attribute_id]; if($display_attribute != 'none') { if($display_attribute == 'slider') { $values = $this->data['attributes'][$j]['attribute_values'][$attribute_id]['values']; $first = $values[0]; $this->data['attributes'][$j]['attribute_values'][$attribute_id]['suffix'] = preg_replace("/^[0-9]*(\\.[0-9]*)?/", '', $first); $values = array_map('floatVal', $values); $values = array_unique($values); sort($values); $this->data['attributes'][$j]['attribute_values'][$attribute_id]['values'] = $values; } $this->data['attributes'][$j]['attribute_values'][$attribute_id]['display'] = $display_attribute; $this->data['attributes'][$j]['attribute_values'][$attribute_id]['expanded'] = isset($filterpro_setting['expanded_attribute_' . $attribute_id]) ? 1 : 0; } else { unset($this->data['attributes'][$j]['attribute_values'][$attribute_id]); if(!$this->data['attributes'][$j]['attribute_values']) { unset($this->data['attributes'][$j]); } } } } $this->data['filter_groups'] = array(); $this->load->model('catalog/category'); $this->data['option_main_checkbox'] = isset($filterpro_setting['option_main_checkbox']) ? 1 : 0; if(version_compare(VERSION, "1.5.5") >= 0 && $filterpro_setting['filters']==1) { $this->data['expanded_filters'] = isset($filterpro_setting['expanded_filters']) ? 1 : 0; $filter_groups = $this->model_catalog_category->getCategoryFilters($category_id); if ($filter_groups) { foreach ($filter_groups as $filter_group) { $filter_data = array(); foreach ($filter_group['filter'] as $filter) { $data = array( 'filter_category_id' => $category_id, 'filter_filter' => $filter['filter_id'] ); $filter_data[] = array( 'filter_id' => $filter['filter_id'], 'name' => $filter['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($data) . ')' : '') ); } $this->data['filter_groups'][] = array( 'filter_group_id' => $filter_group['filter_group_id'], 'name' => $filter_group['name'], 'filter' => $filter_data ); } } } $this->data['price_slider'] = $filterpro_setting['price_slider']; $this->data['attr_group'] = $filterpro_setting['attr_group']; $this->data['filer_special'] = isset($filterpro_setting['filer_special']); $this->data['filer_news'] = isset($filterpro_setting['filer_news']); $manufacturer = false; if(isset($this->request->get['manufacturer_id'])) { $manufacturer = array($this->request->get['manufacturer_id']); } $categories = false; if($category_id) { $categories = array($category_id); } $arr_data = array( 'instock' => isset($filterpro_setting['instock_checked']), 'option_value' => false, 'manufacturer' => $manufacturer, 'attribute_value' => false, 'tags' => false, 'categories' => $categories, 'attr_slider' => false, 'filter' => false, 'min_price' => 0, 'max_price' => 0, 'start' => 0, 'limit' => 1, 'sort' => false, 'order' => false ); if($this->data['filer_news']) { $product_total = $this->model_module_filterpro->getTotalProducts($arr_data + array('filer_news' => true)); $this->data['filer_news'] = $product_total > 0; // var_dump($product_total); } if($this->data['filer_special']) { $product_total = $this->model_module_filterpro->getTotalProducts($arr_data + array('special' => true, 'filer_news' => false)); $this->data['filer_special'] = $product_total > 0; // var_dump($product_total); } $this->data['instock_checked'] = isset($filterpro_setting['instock_checked']) ? 1 : 0; $this->data['instock_visible'] = isset($filterpro_setting['instock_visible']) ? 1 : 0; if($this->data['tags'] || $this->data['categories'] || $this->data['options'] || $this->data['manufacturers'] || $this->data['attributes'] || $this->data['price_slider']) { $this->document->addScript('catalog/view/javascript/jquery/jquery.tmpl.min.js'); $this->document->addScript('catalog/view/javascript/jquery/jquery.deserialize.min.js'); $this->document->addScript('catalog/view/javascript/jquery/jquery.loadmask.min.js'); $this->document->addScript('catalog/view/javascript/jquery/jquery.lazyload.min.js'); if(isset($filterpro_setting['enable_touch_screen'])) { $this->document->addScript('catalog/view/javascript/jquery/jquery.ui.touch-punch.min.js'); } $this->document->addScript('catalog/view/javascript/filterpro.min.js'); if(isset($filterpro_setting['jscrollpane'])) { $this->document->addScript('catalog/view/javascript/jquery/jscrollpane/jquery.mousewheel.js'); $this->document->addScript('catalog/view/javascript/jquery/jscrollpane/jquery.jscrollpane.min.js'); $this->document->addStyle('catalog/view/javascript/jquery/jscrollpane/jquery.jscrollpane.css'); } if(isset($filterpro_setting['enable_endless_scroller'])) { $this->document->addScript('catalog/view/javascript/jquery/jquery.endlessScroll.js'); } if (isset($filterpro_setting['theme_mega'])){ $this->document->addStyle('catalog/view/theme/default/stylesheet/filterpro-mega.css'); $this->document->addScript('catalog/view/javascript/jquery/qtip2/mega/jquery.qtip.min.js'); $this->document->addStyle('catalog/view/javascript/jquery/qtip2/mega/jquery.qtip.min.css'); } else{ $this->document->addStyle('catalog/view/theme/default/stylesheet/filterpro.css'); $this->document->addScript('catalog/view/javascript/jquery/qtip2/jquery.qtip.min.js'); $this->document->addStyle('catalog/view/javascript/jquery/qtip2/jquery.qtip.min.css'); } $this->document->addStyle('catalog/view/theme/default/stylesheet/jquery.loadmask.css'); if($this->config->get('config_template') == 'shoppica2') { $this->document->addStyle('catalog/view/javascript/jquery/ui/themes/ui-lightness/jquery-ui-1.8.16.custom.css'); } } $filter_hash = ""; if(isset($this->request->get['filter_id'])) { $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "filterpro_seo WHERE `url`='" . $this->db->escape("filter_id=" . $this->request->get['filter_id']) . "'"); if ($query->num_rows){ $filterpro_seo = unserialize($query->row['data']); $filter_hash = $filterpro_seo['url']; } } $this->data['filterpro_container'] = $filterpro_setting['filterpro_container']; $this->data['filterpro_afterload'] = html_entity_decode($filterpro_setting['filterpro_afterload'], ENT_QUOTES, 'UTF-8'); $this->data['filterOptions'] = json_encode(array( 'container' => $filterpro_setting['filterpro_container'], 'filter_redirect' => isset($this->request->get['filter_redirect'])?$this->request->get['filter_redirect']:null, 'filter_hash' => $filter_hash, 'window_hash' => !isset($filterpro_setting['hide_window_hash']), 'hide_count' => isset($filterpro_setting['hide_count']), 'hide_options' => isset($filterpro_setting['hide_options']), 'disable_mask' => isset($filterpro_setting['disable_mask']), 'endless_scroller' => isset($filterpro_setting['enable_endless_scroller']), )); if(file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/filterpro.tpl')) { $this->template = $this->config->get('config_template') . '/template/module/filterpro.tpl'; } else { $this->template = 'default/template/module/filterpro.tpl'; } } $this->render(); } public function getProducts() { if(!isset($this->request->post['min_price'])) { return; } $this->load->model('module/filterpro'); $this->load->model('catalog/product'); $this->load->model('tool/image'); $getTotals = false; if(isset($this->request->post['getTotals']) && $this->request->post['getTotals']) { $getTotals = true; } list($filterpro_setting, $page, $limit, $manufacturer_id, $attribute_value, $option_value, $category_id, $data) = $this->model_module_filterpro->getData(); $is_special = (isset($this->request->post['route']) && $this->request->post['route'] == "product/special") || isset($this->request->post['filer_special']); $is_bydate = isset($this->request->post['route']) && $this->request->post['route'] == "product/productsbydate"; $data['special'] = $is_special; $data['by_date'] = $is_bydate; $data['filer_news'] = isset($this->request->post['filer_news']); $totals_manufacturers = array(); if ($getTotals && $filterpro_setting['display_manufacturer'] != 'none' && !isset($this->request->post['manufacturer_id'])){ $totals_manufacturers = $this->model_module_filterpro->getTotalManufacturers($data); } $totals_options = array(); $totals_attributes = array(); $totals_categories = array(); $totals_tags = array(); if($getTotals) { $totals_options = $this->model_module_filterpro->getTotalOptions($data); if(!isset($this->filterpro_setting['option_total_simple'])) { if($option_value) { foreach($option_value as $option_id => $option_value_id) { foreach($totals_options as $i => $totals_option) { if($totals_option['o'] == $option_id) { unset($totals_options[$i]); } } $temp_data = $data; unset($temp_data['option_value'][$option_id]); foreach($this->model_module_filterpro->getTotalOptions($temp_data) as $option) { if($option['o'] == $option_id) { $totals_options[] = $option; } } } } } $totals_attributes = $this->model_module_filterpro->getTotalAttributes($data); if(!isset($filterpro_setting['attr_total_simple'])) { foreach($attribute_value as $attribute_id => $values) { foreach($totals_attributes as $i => $attribute) { if($attribute['id'] == $attribute_id) { unset($totals_attributes[$i]); } } $temp_data = $data; unset($temp_data['attribute_value'][$attribute_id]); foreach($this->model_module_filterpro->getTotalAttributes($temp_data) as $attribute) { if($attribute['id'] == $attribute_id) { $totals_attributes[] = $attribute; } } } } $totals_tags = array(); if(version_compare(VERSION, "1.5.4") <= 0) { $totals_tags = $this->model_module_filterpro->getTotalTags($data); } $totals_categories = $this->model_module_filterpro->getTotalCategories($data, $category_id); } $results = $this->model_module_filterpro->getProducts($data); $min_price = false; $max_price = false; if(isset($this->request->post['getPriceLimits']) && $this->request->post['getPriceLimits']) { $priceLimits = $this->model_module_filterpro->getPriceLimits(array('category_id' => $category_id, 'manufacturer_id' => $manufacturer_id, 'special' =>$is_special, 'by_date' =>$is_bydate)); $min_price = $priceLimits['min_price']; $max_price = $priceLimits['max_price']; } $this->request->get['path'] = isset($this->request->post['path']) ? $this->request->post['path'] : ''; $product_total = $this->model_module_filterpro->getTotalProducts($data); $result_html = $this->getHtmlProducts($results, $product_total); $pagination = new Pagination(); $pagination->total = $product_total; $pagination->page = $page; $pagination->limit = $limit; $pagination->text = $this->language->get('text_pagination'); if (isset($this->request->post['manufacturer_id'])) { $pagination->url = $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->post['manufacturer_id'] . '&page={page}'); } else { $pagination->url = $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&page={page}'); } $pagination = $pagination->render(); $k = 1; if((float)$filterpro_setting['tax'] > 0) { $k = 1 + (float)$filterpro_setting['tax'] / 100; } $min_price = $this->currency->convert($min_price * $k, $this->config->get('config_currency'), $this->currency->getCode()); $max_price = $this->currency->convert($max_price * $k, $this->config->get('config_currency'), $this->currency->getCode()); $json = json_encode(array('result_html' => $result_html, 'min_price' => $min_price, 'max_price' => $max_price, 'pagination' => $pagination, 'totals_data' => $getTotals ? array( 'product_total' => $product_total, 'manufacturers' => $totals_manufacturers, 'options' => $totals_options, 'attributes' => $totals_attributes, 'categories' => $totals_categories, 'tags' => $totals_tags) : false)); $this->response->setOutput($json); } private function getHtmlProducts($results, $product_total) { $this->data += $this->language->load('product/category'); $this->data['use_lazyload'] = isset($filterpro_setting['use_lazyload']) ? 1 : 0; $this->data['products'] = array(); $this->load->model('catalog/product_status'); $this->load->model('catalog/promotion'); foreach ($results as $result) { $promotions = $this->model_catalog_promotion->getHTMLProductPromotions($result['product_id']); if ($result['image']) { $image = $this->model_tool_image->resize($result['image'], $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')); } else { $image = $this->model_tool_image->resize('no_image.jpg', $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')); } if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { $price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax'))); } else { $price = false; } if ((float)$result['special']) { $special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax'))); } else { $special = false; } if ($this->config->get('config_tax')) { $tax = $this->currency->format((float)$result['special'] ? $result['special'] : $result['price']); } else { $tax = false; } if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }} if ($this->config->get('config_review_status')) { $rating = (int)$result['rating']; } else { $rating = false; } // module attribute to text $options = $this->config->get('attribute_to_text_options'); if (isset($options['show_catalog_attributes'])) { $this->load->model('catalog/attributes_to_text'); $description = $this->model_catalog_attributes_to_text->getText($result['product_id'], $options); if (empty($description) || $description == '<span class="attributes-text"></span>') { $description = utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 300) . '..'; } } else { $description = utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 300) . '..'; } $this->data['products'][] = array( 'promotion' => $result['promotions']['category'], 'statuses' => $result['statuses']['category'], 'stickers' => $result['statuses']['category_stickers'], 'product_id' => $result['product_id'], 'quantity' => $result['quantity'], 'stock' => $result['stock_status'], 'thumb' => $image, 'name' => $result['name'], //produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds 'description' => $description, 'price' => $price, 'special' => $special, 'tax' => $tax, 'rating' => $result['rating'], 'reviews' => sprintf($this->language->get('text_reviews'), (int)$result['reviews']), 'href' => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id']) ); } if(file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/filterpro_list.tpl') && file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/filterpro_grid.tpl') ) { $this->template = $this->config->get('config_template') . '/template/module/filterpro_list.tpl'; $return['list'] = $this->render(); $this->template = $this->config->get('config_template') . '/template/module/filterpro_grid.tpl'; $return['grid'] = $this->render(); return $return; } elseif(file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/filterpro_products.tpl')) { $this->template = $this->config->get('config_template') . '/template/module/filterpro_products.tpl'; } else { $this->template = 'default/template/module/filterpro_products.tpl'; } return $this->render(); } } ?> Может кто знает, как справиться с проблемой? Буду благодарен люпотому чтой помощи. Edited July 14, 2019 by Zapuzin Добавление файла Link to comment Share on other sites More sharing options... Zapuzin Posted July 14, 2019 Share Posted July 14, 2019 Забыл написать, что ошипотому чток в логах нет, как системных, ик и vqmod. Link to comment Share on other sites More sharing options... Zapuzin Posted July 15, 2019 Share Posted July 15, 2019 Странно. Появились ошибки, хотя на сайте модуль Product Display Settings отображает всё, что нужно правильно, только фильтр про не хочет значение "Налилие" товаров, которые есть в налилии, переводить ) Ошибки появились через некоторое время. Во время экспериментов с проблемным модулем кеш листился весь, и они не появлялись ) Спойлер 2019-07-15 0:59:07 - PHP Notice: Undefined variable: result in /home/teploplc/public_html/vqmod/vqcache/vq2-catalog_controller_product_manufacturer.php on line 386 2019-07-15 0:59:07 - PHP Notice: Undefined variable: result in /home/teploplc/public_html/vqmod/vqcache/vq2-catalog_controller_product_manufacturer.php on line 387 2019-07-15 10:57:34 - PHP Notice: Undefined variable: result in /home/teploplc/public_html/vqmod/vqcache/vq2-catalog_controller_product_category.php on line 404 2019-07-15 10:57:34 - PHP Notice: Undefined variable: result in /home/teploplc/public_html/vqmod/vqcache/vq2-catalog_controller_product_category.php on line 405 Весь "product-display-settings.xml" Спойлер <!-- Created using vQmod XML Generator by UKSB - http://www.opencart-extensions.co.uk //--> <modification> <id><![CDATA[Product Display Settings]]></id> <version><![CDATA[1.2]]></version> <vqmver><![CDATA[2.1.5]]></vqmver> <author><![CDATA[Flo from shopencart.com, edited by drbogger]]></author> <file name="admin/controller/setting/setting.php"> <operation> <search position="before" error="log"><![CDATA[if (isset($this->request->post['config_logo'])) {]]></search> <add><![CDATA[ //product display settings if (isset($this->request->post['config_display_sku'])) { $this->data['config_display_sku'] = $this->request->post['config_display_sku']; } else { $this->data['config_display_sku'] = $this->config->get('config_display_sku'); } if (isset($this->request->post['config_display_pweight'])) { $this->data['config_display_pweight'] = $this->request->post['config_display_pweight']; } else { $this->data['config_display_pweight'] = $this->config->get('config_display_pweight'); } if (isset($this->request->post['config_display_skup'])) { $this->data['config_display_skup'] = $this->request->post['config_display_skup']; } else { $this->data['config_display_skup'] = $this->config->get('config_display_skup'); } if (isset($this->request->post['config_display_model'])) { $this->data['config_display_model'] = $this->request->post['config_display_model']; } else { $this->data['config_display_model'] = $this->config->get('config_display_model'); } if (isset($this->request->post['config_display_modelp'])) { $this->data['config_display_modelp'] = $this->request->post['config_display_modelp']; } else { $this->data['config_display_modelp'] = $this->config->get('config_display_modelp'); } if (isset($this->request->post['config_display_brand'])) { $this->data['config_display_brand'] = $this->request->post['config_display_brand']; } else { $this->data['config_display_brand'] = $this->config->get('config_display_brand'); } if (isset($this->request->post['config_display_brandp'])) { $this->data['config_display_brandp'] = $this->request->post['config_display_brandp']; } else { $this->data['config_display_brandp'] = $this->config->get('config_display_brandp'); } if (isset($this->request->post['config_display_rewardsp'])) { $this->data['config_display_rewardsp'] = $this->request->post['config_display_rewardsp']; } else { $this->data['config_display_rewardsp'] = $this->config->get('config_display_rewardsp'); } if (isset($this->request->post['config_display_location'])) { $this->data['config_display_location'] = $this->request->post['config_display_location']; } else { $this->data['config_display_location'] = $this->config->get('config_display_location'); } if (isset($this->request->post['config_display_locationp'])) { $this->data['config_display_locationp'] = $this->request->post['config_display_locationp']; } else { $this->data['config_display_locationp'] = $this->config->get('config_display_locationp'); } if (isset($this->request->post['config_display_listock'])) { $this->data['config_display_listock'] = $this->request->post['config_display_listock']; } else { $this->data['config_display_listock'] = $this->config->get('config_display_listock'); } if (isset($this->request->post['config_display_upc'])) { $this->data['config_display_upc'] = $this->request->post['config_display_upc']; } else { $this->data['config_display_upc'] = $this->config->get('config_display_upc'); } if (isset($this->request->post['config_display_upcp'])) { $this->data['config_display_upcp'] = $this->request->post['config_display_upcp']; } else { $this->data['config_display_upcp'] = $this->config->get('config_display_upcp'); } //end of product display options]]></add> </operation> </file> <file name="admin/view/template/setting/setting.tpl"> <operation> <search position="after"><![CDATA[<div id="tab-option">]]></search> <add><![CDATA[<table class="form"> <tr> <td>Бонусные баллы на страниэто товара?</td> <td><?php if ($config_display_rewardsp) { ?> <input type="radio" name="config_display_rewardsp" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_rewardsp" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_rewardsp" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_rewardsp" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>Вес на страниэто товара?</td> <td><?php if ($config_display_pweight) { ?> <input type="radio" name="config_display_pweight" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_pweight" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_pweight" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_pweight" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>SKU на страниэто товара?</td> <td><?php if ($config_display_sku) { ?> <input type="radio" name="config_display_sku" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_sku" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_sku" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_sku" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>SKU на страниэто категории?</td> <td><?php if ($config_display_skup) { ?> <input type="radio" name="config_display_skup" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_skup" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_skup" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_skup" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>Код товара на страниэто категории?</td> <td><?php if ($config_display_model) { ?> <input type="radio" name="config_display_model" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_model" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_model" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_model" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>Код товара на страниэто товара?</td> <td><?php if ($config_display_modelp) { ?> <input type="radio" name="config_display_modelp" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_modelp" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_modelp" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_modelp" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>Бренд на страниэто категории?</td> <td><?php if ($config_display_brand) { ?> <input type="radio" name="config_display_brand" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_brand" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_brand" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_brand" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>Бренд на страниэто товара?</td> <td><?php if ($config_display_brandp) { ?> <input type="radio" name="config_display_brandp" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_brandp" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_brandp" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_brandp" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>Гарантия на страниэто категории?</td> <td><?php if ($config_display_location) { ?> <input type="radio" name="config_display_location" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_location" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_location" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_location" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr><tr> <td>Гарантия на страниэто товара?</td> <td><?php if ($config_display_locationp) { ?> <input type="radio" name="config_display_locationp" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_locationp" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_locationp" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_locationp" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>UPC на страниэто категории?</td> <td><?php if ($config_display_upc) { ?> <input type="radio" name="config_display_upc" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_upc" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_upc" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_upc" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr><tr> <td>UPC на страниэто товара?</td> <td><?php if ($config_display_upcp) { ?> <input type="radio" name="config_display_upcp" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_upcp" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_upcp" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_upcp" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>Налилие товара на страниэто категории?</td> <td><?php if ($config_display_listock) { ?> <input type="radio" name="config_display_listock" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_listock" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_listock" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_listock" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr></table>]]></add> </operation> </file> <file name="catalog/controller/product/product.php"> <operation> <search position="after"><![CDATA[$this->data['points'] = $product_info['points'];]]></search> <add><![CDATA[//product display options $this->language->load('product/pds'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_weight'] = $this->language->get('pds_weight'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['sku'] = $product_info['sku']; $this->data['upc'] = $product_info['upc']; $this->data['location'] = $product_info['location']; if ($product_info['weight']) { $this->data['weight'] = $this->weight->format($product_info['weight'], $product_info['weight_class_id'], $this->language->get('decimal_point'), $this->language->get('thousand_point')); } else { $this->data['weight'] = ''; } ]]></add> </operation> </file> <file name="catalog/view/theme/*/template/product/product.tpl"> <operation> <search position="after"><![CDATA[<span><?php echo $text_model; ?></span> <?php echo $model; ?><br />]]></search> <add><![CDATA[<?php if ($this->config->get('config_display_skup') && $sku) { ?> <span><?php echo $pds_sku; ?> </span> <?php echo $sku; ?><br /> <?php } ?> <?php if ($this->config->get('config_display_upcp') && $upc) { ?> <span><?php echo $pds_upc; ?> </span> <?php echo $upc; ?><br /> <?php } ?> <?php if ($this->config->get('config_display_locationp') && $location) { ?> <span><?php echo $pds_location; ?> </span> <?php echo $location; ?><br /> <?php } ?> <?php if ($this->config->get('config_display_pweight') && $weight) { ?> <span><?php echo $pds_weight; ?> </span> <?php echo $weight; ?><br /> <?php } ?> ]]></add> </operation> <operation> <search position="replace"><![CDATA[<?php if ($manufacturer) { ?>]]></search> <add><![CDATA[<?php if ($this->config->get('config_display_brandp') && $manufacturer) { ?>]]></add> </operation> <operation> <search position="replace"><![CDATA[<?php if ($reward) { ?>]]></search> <add><![CDATA[<?php if ($this->config->get('config_display_rewardsp') && $reward) { ?>]]></add> </operation> <operation> <search position="replace"><![CDATA[<span><?php echo $text_model; ?></span> <?php echo $model; ?><br />]]></search> <add><![CDATA[<?php if ($this->config->get('config_display_modelp')) { ?> <span><?php echo $pds_model; ?></span> <?php echo $model; ?><br /> <?php } ?>]]></add> </operation> </file> <file name="catalog/controller/product/category.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }}]]></add> </operation> <operation> <search position="after"><![CDATA['name' => $result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->data['text_grid'] = $this->language->get('text_grid');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/controller/product/search.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }}]]></add> </operation> <operation> <search position="after"><![CDATA['name' => $result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->data['text_grid'] = $this->language->get('text_grid');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/controller/product/manufacturer.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }}]]></add> </operation> <operation> <search position="after"><![CDATA['name' => $result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->data['text_grid'] = $this->language->get('text_grid');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/controller/product/special.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }}]]></add> </operation> <operation> <search position="after"><![CDATA['name' => $result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->data['text_grid'] = $this->language->get('text_grid');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/view/theme/*/template/product/search.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: inline-block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> <operation> <search position="before"><![CDATA[html += ' <div class="name">' + $(element).find('.name').html() + '</div>';]]></search> <add><![CDATA[html += '<div class="extra" style="display: inline-block; color: #444; position: absolute; transform: translate(-165px, 195px); -webkit-transform: translate(-165px, 195px); -o-transform: translate(-165px, 195px); -moz-transform: translate(-165px, 195px); font-size: 14px;">' + $(element).find('.extra').html() + '</div>';]]></add> </operation> <operation> <search position="after"><![CDATA[html += '<div class="name">' + $(element).find('.name').html() + '</div>';]]></search> <add><![CDATA[html += '<div class="extra" style="display: inline-block; color: #444;">' + $(element).find('.extra').html() + '</div>';]]></add> </operation> </file> <file name="catalog/view/theme/*/template/product/category.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: inline-block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> <operation> <search position="before"><![CDATA[html += ' <div class="name">' + $(element).find('.name').html() + '</div>';]]></search> <add><![CDATA[html += '<div class="extra" style="display: inline-block; color: #444; position: absolute; transform: translate(-165px, 195px); -webkit-transform: translate(-165px, 195px); -o-transform: translate(-165px, 195px); -moz-transform: translate(-165px, 195px); font-size: 14px;">' + $(element).find('.extra').html() + '</div>';]]></add> </operation> <operation> <search position="after"><![CDATA[html += '<div class="name">' + $(element).find('.name').html() + '</div>';]]></search> <add><![CDATA[html += '<div class="extra" style="display: inline-block; color: #444;">' + $(element).find('.extra').html() + '</div>';]]></add> </operation> </file> <file name="catalog/view/theme/*/template/product/special.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: inline-block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> <operation> <search position="before"><![CDATA[html += ' <div class="name">' + $(element).find('.name').html() + '</div>';]]></search> <add><![CDATA[html += '<div class="extra" style="display: inline-block; color: #444; position: absolute; transform: translate(-165px, 195px); -webkit-transform: translate(-165px, 195px); -o-transform: translate(-165px, 195px); -moz-transform: translate(-165px, 195px); font-size: 14px;">' + $(element).find('.extra').html() + '</div>';]]></add> </operation> <operation> <search position="after"><![CDATA[html += '<div class="name">' + $(element).find('.name').html() + '</div>';]]></search> <add><![CDATA[html += '<div class="extra" style="display: inline-block; color: #444;">' + $(element).find('.extra').html() + '</div>';]]></add> </operation> </file> <file name="catalog/view/theme/*/template/product/manufacturer_info.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: inline-block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> <operation> <search position="before"><![CDATA[html += ' <div class="name">' + $(element).find('.name').html() + '</div>';]]></search> <add><![CDATA[html += '<div class="extra" style="display: inline-block; color: #444; position: absolute; transform: translate(-165px, 195px); -webkit-transform: translate(-165px, 195px); -o-transform: translate(-165px, 195px); -moz-transform: translate(-165px, 195px); font-size: 14px;">' + $(element).find('.extra').html() + '</div>';]]></add> </operation> <operation> <search position="after"><![CDATA[html += '<div class="name">' + $(element).find('.name').html() + '</div>';]]></search> <add><![CDATA[html += '<div class="extra" style="display: inline-block; color: #444;">' + $(element).find('.extra').html() + '</div>';]]></add> </operation> </file> <file name="catalog/controller/module/latest.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = "Stock: " . $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }]]></add> </operation> <operation> <search position="after"><![CDATA[$result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->language->load('module/latest');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/view/theme/*/template/module/latest.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> </file> <file name="catalog/controller/module/bestseller.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = "Stock: " . $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }]]></add> </operation> <operation> <search position="after"><![CDATA[$result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->language->load('module/bestseller');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/view/theme/*/template/module/bestseller.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> </file> <file name="catalog/controller/module/special.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = "Stock: " . $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }]]></add> </operation> <operation> <search position="after"><![CDATA[$result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->language->load('module/special');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/view/theme/*/template/module/special.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> </file> <file name="catalog/controller/module/featured.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($product_info['quantity'] <= 0) { $rstock = $product_info['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = "Stock: " . $product_info['quantity']; } else { $rstock = $this->language->get('pds_instock'); }]]></add> </operation> <operation> <search position="after"><![CDATA[$product_info['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $product_info['sku'], 'model' => $product_info['model'], 'brand' => $product_info['manufacturer'], 'location' => $product_info['location'], 'upc' => $product_info['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $product_info['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->language->load('module/featured');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/view/theme/*/template/module/featured.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> </file> <file name="catalog/controller/module/viewed.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($product_info['quantity'] <= 0) { $rstock = $product_info['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = "Stock: " . $product_info['quantity']; } else { $rstock = $this->language->get('pds_instock'); }]]></add> </operation> <operation> <search position="after"><![CDATA[$product_info['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $product_info['sku'], 'model' => $product_info['model'], 'brand' => $product_info['manufacturer'], 'location' => $product_info['location'], 'upc' => $product_info['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $product_info['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->language->load('module/viewed');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/view/theme/*/template/module/viewed.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> </file> <file name="catalog/controller/module/filterpro.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }}]]></add> </operation> <operation> <search position="after"><![CDATA['name' => $result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->data['text_grid'] = $this->language->get('text_grid');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/view/theme/*/template/module/filterpro_products.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: inline-block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> </file> </modification> vq2-catalog_controller_product_manufacturer.php Спойлер <?php class ControllerProductManufacturer extends Controller { public function index() { $this->language->load('product/manufacturer'); $this->load->model('catalog/manufacturer'); $this->load->model('tool/image'); $this->document->setTitle($this->language->get('heading_title')); $this->data['heading_title'] = $this->language->get('heading_title'); $this->data['text_index'] = $this->language->get('text_index'); $this->data['text_empty'] = $this->language->get('text_empty'); $this->data['button_continue'] = $this->language->get('button_continue'); $this->data['breadcrumbs'] = array(); $this->data['breadcrumbs'][] = array( 'text' => $this->language->get('text_home'), 'href' => $this->url->link('common/home'), 'separator' => false ); $this->data['breadcrumbs'][] = array( 'text' => $this->language->get('text_brand'), 'href' => $this->url->link('product/manufacturer'), 'separator' => $this->language->get('text_separator') ); $this->data['categories'] = array(); $results = $this->model_catalog_manufacturer->getManufacturers(); foreach ($results as $result) { if (is_numeric(utf8_substr($result['name'], 0, 1))) { $key = '0 - 9'; } else { $key = utf8_substr(utf8_strtoupper($result['name']), 0, 1); } if (!isset($this->data['manufacturers'][$key])) { $this->data['categories'][$key]['name'] = $key; } $this->data['categories'][$key]['manufacturer'][] = array( 'name' => $result['name'], // ManufacturerLogo 'logo' => $this->model_tool_image->resize($result['image'], 100, 100), // ManufacturerLogo end 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $result['manufacturer_id']) ); } $this->data['continue'] = $this->url->link('common/home'); if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/manufacturer_list.tpl')) { $this->template = $this->config->get('config_template') . '/template/product/manufacturer_list.tpl'; } else { $this->template = 'default/template/product/manufacturer_list.tpl'; } $this->children = array( 'common/column_left', 'common/column_right', 'common/content_top', 'common/content_bottom', 'common/footer', 'common/header' ); $this->response->setOutput($this->render()); } public function info() { $this->language->load('product/manufacturer'); $this->load->model('catalog/manufacturer'); $this->load->model('catalog/product'); $this->load->model('tool/image'); if (isset($this->request->get['manufacturer_id'])) { $manufacturer_id = (int)$this->request->get['manufacturer_id']; } else { $manufacturer_id = 0; } $filterpro_seo = false; $url_data = false; if(isset($this->request->get['filter_id'])) { $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "filterpro_seo WHERE `url`='" . $this->db->escape("filter_id=" . $this->request->get['filter_id']) . "'"); if($query->num_rows) { $filterpro_data = unserialize($query->row['data']); $filterpro_seo = $filterpro_data['lang'][(int)$this->config->get('config_language_id')]; parse_str(str_replace("&", "&", $filterpro_data['url']), $url_data); $url_data['filer_news'] = false; if (!isset($url_data['manufacturer_id']) || $url_data['manufacturer_id'] != $manufacturer_id) { $this->redirect($this->url->link('error/not_found')); } } } if (isset($this->request->get['sort'])) { $sort = $this->request->get['sort']; } else { $sort = 'p.sort_order'; } if (isset($this->request->get['order'])) { $order = $this->request->get['order']; } else { $order = 'ASC'; } if (isset($this->request->get['page'])) { $page = $this->request->get['page']; } else { $page = 1; } if (isset($this->request->get['limit'])) { $limit = $this->request->get['limit']; } else { $limit = $this->config->get('config_catalog_limit'); } $this->data['breadcrumbs'] = array(); $this->data['breadcrumbs'][] = array( 'text' => $this->language->get('text_home'), 'href' => $this->url->link('common/home'), 'separator' => false ); $this->data['breadcrumbs'][] = array( 'text' => $this->language->get('text_brand'), 'href' => $this->url->link('product/manufacturer'), 'separator' => $this->language->get('text_separator') ); $manufacturer_info = $this->model_catalog_manufacturer->getManufacturer($manufacturer_id); if ($manufacturer_info) { if ($manufacturer_info['seo_title']) { $this->document->setTitle($manufacturer_info['seo_title']); } else { $this->document->setTitle($manufacturer_info['name']); } $this->document->addScript('catalog/view/javascript/jquery/jquery.total-storage.min.js'); $this->document->setDescription($manufacturer_info['meta_description']); $this->document->setKeywords($manufacturer_info['meta_keyword']); $url = ''; if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['page'])) { $url .= '&page=' . $this->request->get['page']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['breadcrumbs'][] = array( 'text' => $manufacturer_info['name'], 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . $url), 'separator' => $this->language->get('text_separator') ); if ($manufacturer_info['seo_h1']) { $this->data['heading_title'] = $manufacturer_info['seo_h1']; } else { $this->data['heading_title'] = $manufacturer_info['name']; if($filterpro_seo) { $this->data['description'] = html_entity_decode($filterpro_seo['description'], ENT_QUOTES, 'UTF-8'); $this->data['heading_title'] = $filterpro_seo['h1']; $this->document->setTitle($filterpro_seo['title']); $this->document->setDescription($filterpro_seo['meta_description']); $this->document->setKeywords($filterpro_seo['meta_keywords']); } } $this->data['description'] = html_entity_decode($manufacturer_info['description'], ENT_QUOTES, 'UTF-8'); $this->data['text_empty'] = $this->language->get('text_empty'); $this->data['text_quantity'] = $this->language->get('text_quantity'); $this->data['text_manufacturer'] = $this->language->get('text_manufacturer'); $this->data['text_model'] = $this->language->get('text_model'); $this->data['text_price'] = $this->language->get('text_price'); $this->data['text_tax'] = $this->language->get('text_tax'); $this->data['text_points'] = $this->language->get('text_points'); $this->data['text_compare'] = sprintf($this->language->get('text_compare'), (isset($this->session->data['compare']) ? count($this->session->data['compare']) : 0)); $this->data['text_display'] = $this->language->get('text_display'); $this->data['text_list'] = $this->language->get('text_list'); $this->data['text_grid'] = $this->language->get('text_grid'); $this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock'); $this->data['text_sort'] = $this->language->get('text_sort'); $this->data['text_limit'] = $this->language->get('text_limit'); $this->data['button_cart'] = $this->language->get('button_cart'); $this->data['button_out_of_stock'] = $this->language->get('button_out_of_stock'); $this->data['button_wishlist'] = $this->language->get('button_wishlist'); $this->data['button_compare'] = $this->language->get('button_compare'); $this->data['button_continue'] = $this->language->get('button_continue'); $this->data['compare'] = $this->url->link('product/compare'); $this->data['products'] = array(); $data = array( 'filter_manufacturer_id' => $manufacturer_id, 'sort' => $sort, 'order' => $order, 'start' => ($page - 1) * $limit, 'limit' => $limit ); if($url_data) { $get = $this->request->get; unset($get['route']); unset($get['filter_id']); $this->request->get['filter_redirect'] = $this->url->link('product/category', http_build_query($get)); $this->request->post = $url_data; $this->load->model('module/filterpro'); list($f1, $f2, $f3, $f4, $f5, $f5, $f6, $url_data) = $this->model_module_filterpro->getData(); $url_data['filer_news'] = false; $product_total = $this->model_module_filterpro->getTotalProducts($url_data); $results = $this->model_module_filterpro->getProducts($url_data); } else { $product_total = $this->model_catalog_product->getTotalProducts($data); $results = $this->model_catalog_product->getProducts($data); } //Вызов метода getFoundProducts должен проводится сразу же после getProducts //только тогда он выдает правильное значения когдачества товаров //$product_total = $this->model_catalog_product->getTotalProducts($data); foreach ($results as $result) { if ($result['image']) { $image = $this->model_tool_image->resize($result['image'], $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')); } else { $image = false; } if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { $price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax'))); } else { $price = false; } if ((float)$result['special']) { $special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax'))); } else { $special = false; } if ($this->config->get('config_tax')) { $tax = $this->currency->format((float)$result['special'] ? $result['special'] : $result['price']); } else { $tax = false; } if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }} if ($this->config->get('config_review_status')) { $rating = (int)$result['rating']; } else { $rating = false; } // module attribute to text $options = $this->config->get('attribute_to_text_options'); if (isset($options['show_catalog_attributes'])) { $this->load->model('catalog/attributes_to_text'); $description = $this->model_catalog_attributes_to_text->getText($result['product_id'], $options); if (empty($description) || $description == '<span class="attributes-text"></span>') { $description = utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 300) . '..'; } } else { $description = utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 300) . '..'; } $this->data['products'][] = array( 'promotion' => $result['promotions']['category'], 'statuses' => $result['statuses']['category'], 'stickers' => $result['statuses']['category_stickers'], 'product_id' => $result['product_id'], 'quantity' => $result['quantity'], 'stock' => $result['stock_status'], 'thumb' => $image, 'name' => $result['name'], //produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds 'description' => $description, 'price' => $price, 'special' => $special, 'tax' => $tax, 'rating' => $result['rating'], 'reviews' => sprintf($this->language->get('text_reviews'), (int)$result['reviews']), 'href' => $this->url->link('product/product', '&manufacturer_id=' . $result['manufacturer_id'] . '&product_id=' . $result['product_id'] . $url) ); } $url = ''; if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['sorts'] = array(); $this->data['sorts'][] = array( 'text' => $this->language->get('text_default'), 'value' => 'p.sort_order-ASC', 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=p.sort_order&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_name_asc'), 'value' => 'pd.name-ASC', 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=pd.name&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_name_desc'), 'value' => 'pd.name-DESC', 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=pd.name&order=DESC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_price_asc'), 'value' => 'p.price-ASC', 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=p.price&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_price_desc'), 'value' => 'p.price-DESC', 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=p.price&order=DESC' . $url) ); if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }} if ($this->config->get('config_review_status')) { $this->data['sorts'][] = array( 'text' => $this->language->get('text_rating_desc'), 'value' => 'rating-DESC', 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=rating&order=DESC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_rating_asc'), 'value' => 'rating-ASC', 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=rating&order=ASC' . $url) ); } $this->data['sorts'][] = array( 'text' => $this->language->get('text_model_asc'), 'value' => 'p.model-ASC', 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=p.model&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_model_desc'), 'value' => 'p.model-DESC', 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=p.model&order=DESC' . $url) ); $url = ''; if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } $this->data['limits'] = array(); $limits = array_unique(array($this->config->get('config_catalog_limit'), 25, 50, 75, 100)); sort($limits); foreach($limits as $value){ $this->data['limits'][] = array( 'text' => $value, 'value' => $value, 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . $url . '&limit=' . $value) ); } $url = ''; if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $pagination = new Pagination(); $pagination->total = $product_total; $pagination->page = $page; $pagination->limit = $limit; $pagination->text = $this->language->get('text_pagination'); $pagination->url = $this->url->link('product/manufacturer/info','manufacturer_id=' . $this->request->get['manufacturer_id'] . $url . '&page={page}'); $this->data['pagination'] = $pagination->render(); $this->data['sort'] = $sort; $this->data['order'] = $order; $this->data['limit'] = $limit; $this->data['continue'] = $this->url->link('common/home'); if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/manufacturer_info.tpl')) { $this->template = $this->config->get('config_template') . '/template/product/manufacturer_info.tpl'; } else { $this->template = 'default/template/product/manufacturer_info.tpl'; } $this->children = array( 'common/column_left', 'common/column_right', 'common/content_top', 'common/content_bottom', 'common/footer', 'common/header' ); $this->response->setOutput($this->render()); } else { $url = ''; if (isset($this->request->get['manufacturer_id'])) { $url .= '&manufacturer_id=' . $this->request->get['manufacturer_id']; } if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['page'])) { $url .= '&page=' . $this->request->get['page']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['breadcrumbs'][] = array( 'text' => $this->language->get('text_error'), 'href' => $this->url->link('product/category', $url), 'separator' => $this->language->get('text_separator') ); $this->document->setTitle($this->language->get('text_error')); $this->data['heading_title'] = $this->language->get('text_error'); $this->data['text_error'] = $this->language->get('text_error'); $this->data['button_continue'] = $this->language->get('button_continue'); $this->data['continue'] = $this->url->link('common/home'); if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/error/not_found.tpl')) { $this->template = $this->config->get('config_template') . '/template/error/not_found.tpl'; } else { $this->template = 'default/template/error/not_found.tpl'; } $this->children = array( 'common/column_left', 'common/column_right', 'common/content_top', 'common/content_bottom', 'common/footer', 'common/header' ); $this->response->setOutput($this->render()); } } } ?> vq2-catalog_controller_product_category.php Спойлер <?php class ControllerProductCategory extends Controller { public function index() { $this->language->load('product/category'); $this->load->model('catalog/category'); $this->load->model('catalog/product'); $this->load->model('tool/image'); if (isset($this->request->get['filter'])) { $filter = $this->request->get['filter']; } else { $filter = ''; } if (isset($this->request->get['sort'])) { $sort = $this->request->get['sort']; } else { $sort = 'p.sort_order'; } if (isset($this->request->get['order'])) { $order = $this->request->get['order']; } else { $order = 'ASC'; } if (isset($this->request->get['page'])) { $page = $this->request->get['page']; } else { $page = 1; } if (isset($this->request->get['limit'])) { $limit = $this->request->get['limit']; } else { $limit = $this->config->get('config_catalog_limit'); } $this->data['breadcrumbs'] = array(); $this->data['breadcrumbs'][] = array( 'text' => $this->language->get('text_home'), 'href' => $this->url->link('common/home'), 'separator' => false ); if (isset($this->request->get['path'])) { $url = ''; if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $path = ''; $parts = explode('_', (string)$this->request->get['path']); $category_id = (int)array_pop($parts); foreach ($parts as $path_id) { if (!$path) { $path = (int)$path_id; } else { $path .= '_' . (int)$path_id; } $category_info = $this->model_catalog_category->getCategory($path_id); if ($category_info) { $this->data['breadcrumbs'][] = array( 'text' => $category_info['name'], 'href' => $this->url->link('product/category', 'path=' . $path . $url), 'separator' => $this->language->get('text_separator') ); } } } else { $category_id = 0; } $filterpro_seo = false; $url_data = false; if(isset($this->request->get['filter_id'])) { $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "filterpro_seo WHERE `url`='" . $this->db->escape("filter_id=" . $this->request->get['filter_id']) . "'"); if($query->num_rows) { $filterpro_data = unserialize($query->row['data']); $filterpro_seo = $filterpro_data['lang'][(int)$this->config->get('config_language_id')]; parse_str(str_replace("&", "&", $filterpro_data['url']), $url_data); $url_data['filer_news'] = false; if(!isset($url_data['category_id']) || $url_data['category_id'] != $category_id) { $this->redirect($this->url->link('error/not_found')); } } } $category_info = $this->model_catalog_category->getCategory($category_id); if ($category_info) { if ($category_info['seo_title']) { $this->document->setTitle($category_info['seo_title']); } else { $this->document->setTitle($category_info['name']); } $this->document->setDescription($category_info['meta_description']); $this->document->setKeywords($category_info['meta_keyword']); $this->document->addScript('catalog/view/javascript/jquery/jquery.total-storage.min.js'); if ($category_info['seo_h1']) { $this->data['heading_title'] = $category_info['seo_h1']; } else { $this->data['heading_title'] = $category_info['name']; } $this->data['text_refine'] = $this->language->get('text_refine'); $this->data['text_empty'] = $this->language->get('text_empty'); $this->data['text_quantity'] = $this->language->get('text_quantity'); $this->data['text_manufacturer'] = $this->language->get('text_manufacturer'); $this->data['text_model'] = $this->language->get('text_model'); $this->data['text_price'] = $this->language->get('text_price'); $this->data['text_tax'] = $this->language->get('text_tax'); $this->data['text_points'] = $this->language->get('text_points'); $this->data['text_compare'] = sprintf($this->language->get('text_compare'), (isset($this->session->data['compare']) ? count($this->session->data['compare']) : 0)); $this->data['text_display'] = $this->language->get('text_display'); $this->data['text_list'] = $this->language->get('text_list'); $this->data['text_grid'] = $this->language->get('text_grid'); $this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock'); $this->data['text_sort'] = $this->language->get('text_sort'); $this->data['text_limit'] = $this->language->get('text_limit'); $this->data['button_cart'] = $this->language->get('button_cart'); $this->data['button_out_of_stock'] = $this->language->get('button_out_of_stock'); $this->data['button_wishlist'] = $this->language->get('button_wishlist'); $this->data['button_compare'] = $this->language->get('button_compare'); $this->data['button_continue'] = $this->language->get('button_continue'); // Set the last category breadcrumb $url = ''; if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['page'])) { $url .= '&page=' . $this->request->get['page']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['breadcrumbs'][] = array( 'text' => $category_info['name'], 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path']), 'separator' => $this->language->get('text_separator') ); if ($category_info['image']) { $this->data['thumb'] = $this->model_tool_image->resize($category_info['image'], $this->config->get('config_image_category_width'), $this->config->get('config_image_category_height')); $this->document->setOgImage($this->data['thumb']); } else { $this->data['thumb'] = ''; } $this->data['description'] = html_entity_decode($category_info['description'], ENT_QUOTES, 'UTF-8'); if($filterpro_seo) { $this->data['description'] = html_entity_decode($filterpro_seo['description'], ENT_QUOTES, 'UTF-8'); $this->data['heading_title'] = $filterpro_seo['h1']; $this->document->setTitle($filterpro_seo['title']); $this->document->setDescription($filterpro_seo['meta_description']); $this->document->setKeywords($filterpro_seo['meta_keywords']); } $this->data['compare'] = $this->url->link('product/compare'); $url = ''; if (isset($this->request->get['filter'])) { $url .= '&filter=' . $this->request->get['filter']; } if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['categories'] = array(); $results = $this->model_catalog_category->getCategories($category_id); foreach ($results as $result) { $data = array( 'filter_category_id' => $result['category_id'], 'filter_sub_category' => true ); $product_total = $this->model_catalog_product->getTotalProducts($data); $this->data['categories'][] = array( 'name' => $result['name'] . ($this->config->get('config_product_count') ? ' (' . $product_total . ')' : ''), 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '_' . $result['category_id'] . $url), 'thumb' => $this->model_tool_image->resize(($result['image']=='' ? 'no_image.jpg' : $result['image']), $this->config->get('config_image_category_width'), $this->config->get('config_image_category_height')) ); } $this->data['products'] = array(); $data = array( 'filter_category_id' => $category_id, 'filter_filter' => $filter, 'sort' => $sort, 'order' => $order, 'start' => ($page - 1) * $limit, 'limit' => $limit ); if($url_data) { $get = $this->request->get; unset($get['route']); unset($get['filter_id']); $this->request->get['filter_redirect'] = $this->url->link('product/category', http_build_query($get)); $this->request->post = $url_data; $this->load->model('module/filterpro'); list($f1, $f2, $f3, $f4, $f5, $f5, $f6, $url_data) = $this->model_module_filterpro->getData(); $url_data['filer_news'] = false; $product_total = $this->model_module_filterpro->getTotalProducts($url_data); $results = $this->model_module_filterpro->getProducts($url_data); } else { $product_total = $this->model_catalog_product->getTotalProducts($data); $results = $this->model_catalog_product->getProducts($data); } //Вызов метода getFoundProducts должен проводится сразу же после getProducts //только тогда он выдает правильное значения когдачества товаров //$product_total = $this->model_catalog_product->getTotalProducts($data); foreach ($results as $result) { if ($result['image']) { $image = $this->model_tool_image->resize($result['image'], $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')); } else { $image = $this->model_tool_image->resize('no_image.jpg', $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')); } if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { $price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax'))); } else { $price = false; } if ((float)$result['special']) { $special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax'))); } else { $special = false; } if ($this->config->get('config_tax')) { $tax = $this->currency->format((float)$result['special'] ? $result['special'] : $result['price']); } else { $tax = false; } if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }} if ($this->config->get('config_review_status')) { $rating = (int)$result['rating']; } else { $rating = false; } // module attribute to text $options = $this->config->get('attribute_to_text_options'); if (isset($options['show_catalog_attributes'])) { $this->load->model('catalog/attributes_to_text'); $description = $this->model_catalog_attributes_to_text->getText($result['product_id'], $options); if (empty($description) || $description == '<span class="attributes-text"></span>') { $description = utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 300) . '..'; } } else { $description = utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 300) . '..'; } $this->data['products'][] = array( 'promotion' => $result['promotions']['category'], 'statuses' => $result['statuses']['category'], 'stickers' => $result['statuses']['category_stickers'], 'product_id' => $result['product_id'], 'quantity' => $result['quantity'], 'stock' => $result['stock_status'], 'thumb' => $image, 'name' => $result['name'], //produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds 'description' => $description, 'price' => $price, 'special' => $special, 'tax' => $tax, 'rating' => $result['rating'], 'reviews' => sprintf($this->language->get('text_reviews'), (int)$result['reviews']), 'href' => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id'] . $url) ); } $url = ''; if (isset($this->request->get['filter'])) { $url .= '&filter=' . $this->request->get['filter']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['sorts'] = array(); $this->data['sorts'][] = array( 'text' => $this->language->get('text_default'), 'value' => 'p.sort_order-ASC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.sort_order&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_name_asc'), 'value' => 'pd.name-ASC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=pd.name&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_name_desc'), 'value' => 'pd.name-DESC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=pd.name&order=DESC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_price_asc'), 'value' => 'p.price-ASC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.price&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_price_desc'), 'value' => 'p.price-DESC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.price&order=DESC' . $url) ); if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }} if ($this->config->get('config_review_status')) { $this->data['sorts'][] = array( 'text' => $this->language->get('text_rating_desc'), 'value' => 'rating-DESC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=rating&order=DESC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_rating_asc'), 'value' => 'rating-ASC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=rating&order=ASC' . $url) ); } $this->data['sorts'][] = array( 'text' => $this->language->get('text_model_asc'), 'value' => 'p.model-ASC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.model&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_model_desc'), 'value' => 'p.model-DESC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.model&order=DESC' . $url) ); $url = ''; if (isset($this->request->get['filter'])) { $url .= '&filter=' . $this->request->get['filter']; } if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } $this->data['limits'] = array(); $limits = array_unique(array($this->config->get('config_catalog_limit'), 25, 50, 75, 100)); sort($limits); foreach($limits as $value){ $this->data['limits'][] = array( 'text' => $value, 'value' => $value, 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . $url . '&limit=' . $value) ); } $url = ''; if (isset($this->request->get['filter'])) { $url .= '&filter=' . $this->request->get['filter']; } if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $pagination = new Pagination(); $pagination->total = $product_total; $pagination->page = $page; $pagination->limit = $limit; $pagination->text = $this->language->get('text_pagination'); $pagination->url = $this->url->link('product/category', 'path=' . $this->request->get['path'] . $url . '&page={page}'); $this->data['pagination'] = $pagination->render(); $this->data['sort'] = $sort; $this->data['order'] = $order; $this->data['limit'] = $limit; $this->data['continue'] = $this->url->link('common/home'); if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/category.tpl')) { $this->template = $this->config->get('config_template') . '/template/product/category.tpl'; } else { $this->template = 'default/template/product/category.tpl'; } $this->children = array( 'common/column_left', 'common/column_right', 'common/content_top', 'common/content_bottom', 'common/footer', 'common/header' ); $this->response->setOutput($this->render()); } else { $url = ''; if (isset($this->request->get['path'])) { $url .= '&path=' . $this->request->get['path']; } if (isset($this->request->get['filter'])) { $url .= '&filter=' . $this->request->get['filter']; } if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['page'])) { $url .= '&page=' . $this->request->get['page']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['breadcrumbs'][] = array( 'text' => $this->language->get('text_error'), 'href' => $this->url->link('product/category', $url), 'separator' => $this->language->get('text_separator') ); $this->document->setTitle($this->language->get('text_error')); $this->data['heading_title'] = $this->language->get('text_error'); $this->data['text_error'] = $this->language->get('text_error'); $this->data['button_continue'] = $this->language->get('button_continue'); $this->data['continue'] = $this->url->link('common/home'); if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/error/not_found.tpl')) { $this->template = $this->config->get('config_template') . '/template/error/not_found.tpl'; } else { $this->template = 'default/template/error/not_found.tpl'; } $this->children = array( 'common/column_left', 'common/column_right', 'common/content_top', 'common/content_bottom', 'common/footer', 'common/header' ); $this->response->setOutput($this->render()); } } } ?> Что заметил. Системные ошибки, связанные с "Product Display Settings", периодически начали появляться после того, как добавился файл "product_statuses.xml" нового модуля "Ситусы Товара PRO Speed, автоситусы, стикеры, текстовые ситусы". Видно им тесно вдвоём ) Link to comment Share on other sites More sharing options... Prev 271 272 273 274 275 276 277 278 279 Next Page 276 of 279 Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 61 Go to topic listing Similar Content filterpro filter Pro By freelancer, June 23, 2012 фильтр filter 2 comments 287,420 views vladplot April 28, 2017 Mega Filter PLUS [powered by Mega Filter PRO][2.x, 3.x] [Подгдержка] 1 2 3 4 56 By OCMegaExtensions, March 27, 2017 mega filter plus filter plus (and 8 more) Tagged with: mega filter plus filter plus mega filter manufacturers filter seo filter filter seo filter brands filter price filter categories filter 1,397 replies 156,366 views FreemanMike February 21 filter Фильтр товаров Dream Filter [Подгдержка] 1 2 3 4 55 By reDream, May 18, 2017 фильтр redream (and 2 more) Tagged with: фильтр redream фильтр товаров фильтрация 1,356 replies 130,150 views reDream March 10 [Подгдержка] Custom templates Pro By halfhope, June 20, 2021 персонализованные шалпотому чтоны custom templates (and 2 more) Tagged with: персонализованные шалпотому чтоны custom templates шаблон для категории шаблон для товара 6 replies 527 views igorfelix March 16 Модуль Акции, Подарки PRO [Подгдержка] 1 2 3 4 9 By sv2109, February 10, 2016 акция акции (and 7 more) Tagged with: акция акции подарки подарок товар категория корзина продажа продажи 203 replies 22,872 views sv2109 Tuesday at 02:13 PM Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Подгдержка и ответы на вопросы Модули и дополнения Filters filter Pro [Подгдержка] Покупателям Оплаи дополнений физическими лицами Оплаи дополнений юридическими лицами Политика возвратов Разрилитликам Регламент размеещёния дополнений Регламент продаж и подгдержки дополнений Виртуальный аккаунт автора Политика продвижения объявлений API каилога дополнений Урегулирование споров по авторским правам Полезная информация Публичная офери Политика возвратов Политика конфигденциальности Платоженая политика Политика Передали Персональных Данных Политика прозрачности Последние дополнения Дополнительные услуги - по дорилитке вашего проеки By OCdevCoding Менеджер административного меню By halfhope Модуль меи-тега Robots Products, Categories, Information, Manufacturer pages By OCdevCoding Калькулятор суммы до бесплатной досивки By ocplanet Модуль "Совместные покупки и Краудфандинг" для Opencart 2.x 3х By whiteblue × Existing user? Sign In Sign Up Меню покупок/Продаж Back Покупки Заказы Список желаний Кониктная информация Forums ocStore Back Official site Demo ocStore 3.0.3.2 Demo ocStore 2.3.0.2.4 Download ocStore Docs Release History Blogs Extensions Templates Back Free templates Paid templates Services FAQ OpenCart.Pro Back Demo Buy Compare Hosting for OpenCart × 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. I accept
pahanmcs Posted April 3, 2019 Share Posted April 3, 2019 @freelancer Спасипотому что, хостер решил мою проблему с 502 ошибкой по фильтру Link to comment Share on other sites More sharing options...
freelancer Posted April 3, 2019 Author Share Posted April 3, 2019 Link to comment Share on other sites More sharing options... 2 weeks later... tolkachev Posted April 16, 2019 Share Posted April 16, 2019 Здравствуйте! перенесли домен на https и пишет Домены не совпадают! пробывал удалить лиэтонзию и заного, ничего не помогает домен tutbag.ru Link to comment Share on other sites More sharing options... pahanmcs Posted April 16, 2019 Share Posted April 16, 2019 @freelancer, у меня видимо в вашем фильтре блокируется скрипт спойлера https://dostavkapicci.ru/zakaz-pizzy/ красная кнопка +, в других категориях без фильтра спойлер развораливается, в чем может быть гдело, в консоли нет ошипотому чток <script type="text/javascript"> $(document).ready(function(){ $('.opening2').click(function(){ $(this).parent().children('div.sp2').toggle('normal'); return false; }); }); </script> Link to comment Share on other sites More sharing options... pahanmcs Posted April 17, 2019 Share Posted April 17, 2019 на мобильной версии тоже рилииет без фильтра Link to comment Share on other sites More sharing options... pahanmcs Posted April 20, 2019 Share Posted April 20, 2019 (edited) @freelancer, скажите пжлси, в каком месте мне разместить этот скрипт вашего модуля, чтобы он выполнялся? шаблон <a class="opening2" href="javscript://">+</a> если в контроллер модуля в php всивить, то скрипт спойлера рилииет, но слеиет кодировка подключение скрипи в шапке или подвно сайи не рилииет возможно надо добавить через $this->document->addScript в контроллере, но не знаю место Edited April 21, 2019 by pahanmcs Link to comment Share on other sites More sharing options... freelancer Posted April 22, 2019 Author Share Posted April 22, 2019 @pahanmcs всивьте в сам шаблон filterpro_products.tpl Link to comment Share on other sites More sharing options... pahanmcs Posted April 22, 2019 Share Posted April 22, 2019 1 час назад, freelancer сказал: @pahanmcs всивьте в сам шаблон filterpro_products.tpl @freelancer, всивлял конечно, в когде появляется скрипт, но не в этом гдело, почему-то именно с вашим фильтром не хочет рилиить в паре. при замене замене конструкции <a class="opening2" href="javscript://">+</a> на <span class="opening2">+</span> все равно в категории с фильтром не рилииет, в осильных рилииет может ли быть конфликт подключаемых библиотек? Link to comment Share on other sites More sharing options... Ohrikon Posted April 23, 2019 Share Posted April 23, 2019 Добрый гдень Freelancer. Я оплатил за модуль filter pro случайно ошибся с версией мне нужно для Ocstore 2.3 Пожалуйси дайте релиз для версии 2.3 . На какой домен он бугдет усиновлен я писал вам в ЛС . Пожалуйси помогите с нужной версией. Link to comment Share on other sites More sharing options... freelancer Posted April 25, 2019 Author Share Posted April 25, 2019 @pahanmcs ггде можно увигдеть то, что вы гделаете? Link to comment Share on other sites More sharing options... pahanmcs Posted April 25, 2019 Share Posted April 25, 2019 5 часов назад, freelancer сказал: @pahanmcs ггде можно увигдеть то, что вы гделаете? я уже решил проблему: изменил скрипт, ик как фильтр перерисовывает согдержимое и теряются обрилитлики событий. Link to comment Share on other sites More sharing options... serg34 Posted April 26, 2019 Share Posted April 26, 2019 Здравствуйте! Подскажите в чем может быть проблема. На версии 2.4 сео настройка рилииет нормально, сивлю версию v2.5.17.6_beta (speed), корректно не рилииет. Переходит только на сам атрибут, а меи-теги не отображает. Link to comment Share on other sites More sharing options... 2 weeks later... qweezz Posted May 5, 2019 Share Posted May 5, 2019 Здравствуйте В фильтре можно сортировать порядок вывода атрибутов? У нас все атрибуты в одной группе атрибутов: 1 2 3 4 Надо чтобы на страниэто сайи в фильтре порядок был другой, например 2 4 3 Link to comment Share on other sites More sharing options... freelancer Posted May 8, 2019 Author Share Posted May 8, 2019 @qweezz тут есть про сортировки для разных версий Link to comment Share on other sites More sharing options... promikes Posted May 13, 2019 Share Posted May 13, 2019 Добрый гдень! Столкнулся с проблемой, покупал лиэтонзию Вашего фильтра еещё лет 5 назад. Вот сейчас гделаем переход на https, т.к. уже требуют все рекламные площадки, и после перехода у нас ion_cube соответственно не пропускает наш сайт, т.к. слииет, что мы пыиемся дублировать лиэтонзию. Написал в ЛС, сюда дублирую, т.к. кейс может быть интересен другим пользователям, полагаю. Link to comment Share on other sites More sharing options... 2 weeks later... thecatus Posted May 27, 2019 Share Posted May 27, 2019 @freelancer, здравствуйте, прошу ответить на личное сообещёние от 21.05. по вопросу подгдержки модуля Link to comment Share on other sites More sharing options... 4 weeks later... Zapuzin Posted June 19, 2019 Share Posted June 19, 2019 (edited) В 13.05.2019 в 13:23, promikes сказал: Вот сейчас гделаем переход на https, т.к. уже требуют все рекламные площадки... Тоже в проэтоссе перехода на https. Вопрос о лиэтонзии данного модуля "filterpro v2.4.4(seo)" и "SeoGen 4.1" очень актунон! Без ясности данного вопроса переходить не хочется ) С осильными авторами модулей в проэтоссе выяснения. freelancer, написАл в ЛС Edited June 19, 2019 by Zapuzin Link to comment Share on other sites More sharing options... Zapuzin Posted June 20, 2019 Share Posted June 20, 2019 (edited) Не дождался отвеи и перешёл на https. Все лиэтонзионные модули, в том лисле и данные, рилииют как и рилиили. Проблем не обнаружил ) По осильным модулям был спокоен, ик как разрилитлики вышли на связь и подтвердили, что от перехода с http на https лиэтонзия сохраняется. freelancer, уже не актуально. Edited June 20, 2019 by Zapuzin Link to comment Share on other sites More sharing options... 4 weeks later... Zapuzin Posted July 14, 2019 Share Posted July 14, 2019 (edited) filterpro_v2.4.4(seo) (29.02.2016, #433262) ocStore-1.5.5.1.2 Усиновлен Product Display Settings vqmod В этолом этот модуль с фильтром подружил, осилась только одна проблемка. Вот её никак не могу самостоятельно попотому чтороть ) Если товара нет в налилии, то "Налилие" отображается правильно, на том языке, который выбран на сайте. Если товар есть в налилии, то "Налилие" отображается неправильно - "pds_instock". Вот скрины для наглядности: Налилие без фильтра: Налилие с фильтром: "catalog/controller/product/category.php" из файла "product-display-settings.xml": Спойлер <file name="catalog/controller/product/category.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }}]]></add> </operation> <operation> <search position="after"><![CDATA['name' => $result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->data['text_grid'] = $this->language->get('text_grid');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> "catalog/controller/module/filterpro.php" из файла "product-display-settings.xml": Спойлер <file name="catalog/controller/module/filterpro.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }}]]></add> </operation> <operation> <search position="after"><![CDATA['name' => $result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->data['text_grid'] = $this->language->get('text_grid');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> Вот языковой файл "catalog/language/russian/product/pds.php": Спойлер <?php $_['pds_model'] = 'Код товара:'; $_['pds_sku'] = 'Страна производитель:'; $_['pds_brand'] = 'Бренд:'; $_['pds_upc'] = 'UPC:'; $_['pds_location'] = 'Гарантия:'; $_['pds_stock'] = 'Налилие:'; $_['pds_instock'] = 'В налилии:'; $_['pds_weight'] = 'Вес:'; ?> " vq2-catalog_controller_module_filterpro.php" Спойлер <?php class ControllerModuleFilterPro extends Controller { protected function index($setting) { if($setting['type'] == 1) { $this->language->load('product/filter'); $this->data['text_display'] = $this->language->get('text_display'); $this->data['text_list'] = $this->language->get('text_list'); $this->data['text_grid'] = $this->language->get('text_grid'); $this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock'); $this->data['text_sort'] = $this->language->get('text_sort'); $this->data['text_limit'] = $this->language->get('text_limit'); $sort = 'p.sort_order'; $order = 'ASC'; $limit = $this->config->get('config_catalog_limit'); $url = ''; if(isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['sorts'] = array(); $this->data['sorts'][] = array( 'text' => $this->language->get('text_default'), 'value' => 'p.sort_order-ASC', 'href' => $this->url->link('product/filter', 'sort=p.sort_order&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_name_asc'), 'value' => 'pd.name-ASC', 'href' => $this->url->link('product/filter', 'sort=pd.name&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_name_desc'), 'value' => 'pd.name-DESC', 'href' => $this->url->link('product/filter', 'sort=pd.name&order=DESC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_price_asc'), 'value' => 'p.price-ASC', 'href' => $this->url->link('product/filter', 'sort=p.price&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_price_desc'), 'value' => 'p.price-DESC', 'href' => $this->url->link('product/filter', 'sort=p.price&order=DESC' . $url) ); if($this->config->get('config_review_status')) { $this->data['sorts'][] = array( 'text' => $this->language->get('text_rating_desc'), 'value' => 'rating-DESC', 'href' => $this->url->link('product/filter', 'sort=rating&order=DESC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_rating_asc'), 'value' => 'rating-ASC', 'href' => $this->url->link('product/filter', 'sort=rating&order=ASC' . $url) ); } $this->data['sorts'][] = array( 'text' => $this->language->get('text_model_asc'), 'value' => 'p.model-ASC', 'href' => $this->url->link('product/filter', 'sort=p.model&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_model_desc'), 'value' => 'p.model-DESC', 'href' => $this->url->link('product/filter', 'sort=p.model&order=DESC' . $url) ); $url = ''; if(isset($this->request->get['sort'])) { $url .= 'sort=' . $this->request->get['sort']; } if(isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } $this->data['limits'] = array(); $this->data['limits'][] = array( 'text' => $this->config->get('config_catalog_limit'), 'value' => $this->config->get('config_catalog_limit'), 'href' => $this->url->link('product/filter', $url . '&limit=' . $this->config->get('config_catalog_limit')) ); $this->data['limits'][] = array( 'text' => 25, 'value' => 25, 'href' => $this->url->link('product/filter', $url . '&limit=25') ); $this->data['limits'][] = array( 'text' => 50, 'value' => 50, 'href' => $this->url->link('product/filter', $url . '&limit=50') ); $this->data['limits'][] = array( 'text' => 75, 'value' => 75, 'href' => $this->url->link('product/filter', $url . '&limit=75') ); $this->data['limits'][] = array( 'text' => 100, 'value' => 100, 'href' => $this->url->link('product/filter', $url . '&limit=100') ); $this->data['sort'] = $sort; $this->data['order'] = $order; $this->data['limit'] = $limit; $this->document->addScript('catalog/view/javascript/jquery/jquery.total-storage.min.js'); $this->data += $this->language->load('product/category'); $this->data['text_compare'] = sprintf($this->language->get('text_compare'), (isset($this->session->data['compare']) ? count($this->session->data['compare']) : 0)); if(file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/filterpro_container.tpl')) { $this->template = $this->config->get('config_template') . '/template/module/filterpro_container.tpl'; } else { $this->template = 'default/template/module/filterpro_container.tpl'; } } else { $this->language->load('module/filterpro'); if (isset($this->request->get['sort'])) { $sort = $this->request->get['sort']; } else { $sort = 'p.sort_order'; } if (isset($this->request->get['order'])) { $order = $this->request->get['order']; } else { $order = 'ASC'; } if (isset($this->request->get['page'])) { $page = $this->request->get['page']; } else { $page = 1; } if (isset($this->request->get['limit'])) { $limit = $this->request->get['limit']; } else { $limit = $this->config->get('config_catalog_limit'); } $this->data['sort'] = $sort; $this->data['order'] = $order; $this->data['page'] = $page; $this->data['limit'] = $limit; $this->data['text_tax'] = $this->language->get('text_tax'); $this->data['button_cart'] = $this->language->get('button_cart'); $this->data['button_out_of_stock'] = $this->language->get('button_out_of_stock'); $this->data['button_wishlist'] = $this->language->get('button_wishlist'); $this->data['button_compare'] = $this->language->get('button_compare'); $this->data['text_price_range'] = $this->language->get('text_price_range'); $this->data['text_manufacturers'] = $this->language->get('text_manufacturers'); $this->data['text_tags'] = $this->language->get('text_tags'); $this->data['text_categories'] = $this->language->get('text_categories'); $this->data['text_attributes'] = $this->language->get('text_attributes'); $this->data['text_all'] = $this->language->get('text_all'); $this->data['clear_filter'] = $this->language->get('clear_filter'); $this->data['text_instock'] = $this->language->get('text_instock'); $this->data['text_filer_special'] = $this->language->get('text_filer_special'); $this->data['text_filer_news'] = $this->language->get('text_filer_news'); $this->data['text_show_filer_special'] = $this->language->get('text_show_filer_special'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock'); $this->data['symbol_right'] = $this->currency->getSymbolRight(); $this->data['symbol_left'] = $this->currency->getSymbolLeft(); $this->data['setting'] = $setting; if(VERSION == '1.5.0') { $filterpro_setting = unserialize($this->config->get('filterpro_setting')); } else { $filterpro_setting = $this->config->get('filterpro_setting'); } $this->data['text_show_filer_news'] = sprintf($this->language->get('text_show_filer_news'), $filterpro_setting['news_days']); $this->data['heading_title'] = $filterpro_setting['filterpro_name']; $this->data['heading_title'] = $this->language->get('heading_title'); $is_special = isset($this->request->get['route']) && $this->request->get['route'] == "product/special"; $is_bydate = isset($this->request->get['route']) && $this->request->get['route'] == "product/productsbydate"; $category_id = false; $this->data['path'] = ""; if(isset($this->request->get['path'])) { $this->data['path'] = $this->request->get['path']; $parts = explode('_', (string)$this->request->get['path']); $category_id = array_pop($parts); } $manufacturer_id = false; if(isset($this->request->get['manufacturer_id'])) { $manufacturer_id = $this->request->get['manufacturer_id']; $data = array( 'filter_manufacturer_id' => $this->request->get['manufacturer_id'] ); } else { $data = array( 'filter_category_id' => $category_id, 'filter_sub_category' => isset($filterpro_setting['subcategories']) ); } $this->load->model('catalog/product'); $product_total = $this->model_catalog_product->getTotalProducts($data); if($product_total < 2) { return; } $this->data['category_id'] = $category_id; $data = array('category_id' => $category_id, 'manufacturer_id' => $manufacturer_id, 'special' => $is_special, 'by_date' => $is_bydate,); $this->load->model('module/filterpro'); $this->data['manufacturers'] = false; if(isset($this->request->get['manufacturer_id'])) { $this->data['manufacturer_id'] = $this->request->get['manufacturer_id']; } else { if($filterpro_setting['display_manufacturer'] != 'none') { $this->data['manufacturers'] = $this->model_module_filterpro->getManufacturers($data); $this->data['display_manufacturer'] = $filterpro_setting['display_manufacturer']; $this->data['expanded_manufacturer'] = isset($filterpro_setting['expanded_manufacturer']) ? 1 : 0; } } $this->data['options'] = $this->model_module_filterpro->getOptions($data); $this->load->model('tool/image'); foreach($this->data['options'] as $i => $option) { if(!isset($filterpro_setting['display_option_' . $option['option_id']])) { $filterpro_setting['display_option_' . $option['option_id']] = 'none'; } $display_option = $filterpro_setting['display_option_' . $option['option_id']]; if($display_option != 'none') { $this->data['options'][$i]['display'] = $display_option; $this->data['options'][$i]['expanded'] = isset($filterpro_setting['expanded_option_' . $option['option_id']]) ? 1 : 0; foreach($this->data['options'][$i]['option_values'] as $j => $option_value) { $this->data['options'][$i]['option_values'][$j]['thumb'] = $this->model_tool_image->resize($this->data['options'][$i]['option_values'][$j]['image'], (int)$filterpro_setting['option_images_w'], (int)$filterpro_setting['option_images_h']); } } else { unset($this->data['options'][$i]); } } $this->data['tags'] = array(); if(version_compare(VERSION, "1.5.4") <= 0 && $filterpro_setting['display_tags'] != 'none') { $this->data['tags'] = $this->model_module_filterpro->getTags($data); $this->data['expanded_tags'] = isset($filterpro_setting['expanded_tags']) ? 1 : 0; } $this->data['categories'] = false; if($filterpro_setting['display_categories'] != 'none') { $this->data['categories'] = $this->model_module_filterpro->getSubCategories($data); $this->data['expanded_categories'] = isset($filterpro_setting['expanded_categories']) ? 1 : 0; } $this->data['attributes'] = $this->model_module_filterpro->getAttributes($data); foreach($this->data['attributes'] as $j => $attribute_group) { foreach($attribute_group['attribute_values'] as $attribute_id => $attribute) { if(!isset($filterpro_setting['display_attribute_' . $attribute_id])) { $filterpro_setting['display_attribute_' . $attribute_id] = 'none'; } $display_attribute = $filterpro_setting['display_attribute_' . $attribute_id]; if($display_attribute != 'none') { if($display_attribute == 'slider') { $values = $this->data['attributes'][$j]['attribute_values'][$attribute_id]['values']; $first = $values[0]; $this->data['attributes'][$j]['attribute_values'][$attribute_id]['suffix'] = preg_replace("/^[0-9]*(\\.[0-9]*)?/", '', $first); $values = array_map('floatVal', $values); $values = array_unique($values); sort($values); $this->data['attributes'][$j]['attribute_values'][$attribute_id]['values'] = $values; } $this->data['attributes'][$j]['attribute_values'][$attribute_id]['display'] = $display_attribute; $this->data['attributes'][$j]['attribute_values'][$attribute_id]['expanded'] = isset($filterpro_setting['expanded_attribute_' . $attribute_id]) ? 1 : 0; } else { unset($this->data['attributes'][$j]['attribute_values'][$attribute_id]); if(!$this->data['attributes'][$j]['attribute_values']) { unset($this->data['attributes'][$j]); } } } } $this->data['filter_groups'] = array(); $this->load->model('catalog/category'); $this->data['option_main_checkbox'] = isset($filterpro_setting['option_main_checkbox']) ? 1 : 0; if(version_compare(VERSION, "1.5.5") >= 0 && $filterpro_setting['filters']==1) { $this->data['expanded_filters'] = isset($filterpro_setting['expanded_filters']) ? 1 : 0; $filter_groups = $this->model_catalog_category->getCategoryFilters($category_id); if ($filter_groups) { foreach ($filter_groups as $filter_group) { $filter_data = array(); foreach ($filter_group['filter'] as $filter) { $data = array( 'filter_category_id' => $category_id, 'filter_filter' => $filter['filter_id'] ); $filter_data[] = array( 'filter_id' => $filter['filter_id'], 'name' => $filter['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($data) . ')' : '') ); } $this->data['filter_groups'][] = array( 'filter_group_id' => $filter_group['filter_group_id'], 'name' => $filter_group['name'], 'filter' => $filter_data ); } } } $this->data['price_slider'] = $filterpro_setting['price_slider']; $this->data['attr_group'] = $filterpro_setting['attr_group']; $this->data['filer_special'] = isset($filterpro_setting['filer_special']); $this->data['filer_news'] = isset($filterpro_setting['filer_news']); $manufacturer = false; if(isset($this->request->get['manufacturer_id'])) { $manufacturer = array($this->request->get['manufacturer_id']); } $categories = false; if($category_id) { $categories = array($category_id); } $arr_data = array( 'instock' => isset($filterpro_setting['instock_checked']), 'option_value' => false, 'manufacturer' => $manufacturer, 'attribute_value' => false, 'tags' => false, 'categories' => $categories, 'attr_slider' => false, 'filter' => false, 'min_price' => 0, 'max_price' => 0, 'start' => 0, 'limit' => 1, 'sort' => false, 'order' => false ); if($this->data['filer_news']) { $product_total = $this->model_module_filterpro->getTotalProducts($arr_data + array('filer_news' => true)); $this->data['filer_news'] = $product_total > 0; // var_dump($product_total); } if($this->data['filer_special']) { $product_total = $this->model_module_filterpro->getTotalProducts($arr_data + array('special' => true, 'filer_news' => false)); $this->data['filer_special'] = $product_total > 0; // var_dump($product_total); } $this->data['instock_checked'] = isset($filterpro_setting['instock_checked']) ? 1 : 0; $this->data['instock_visible'] = isset($filterpro_setting['instock_visible']) ? 1 : 0; if($this->data['tags'] || $this->data['categories'] || $this->data['options'] || $this->data['manufacturers'] || $this->data['attributes'] || $this->data['price_slider']) { $this->document->addScript('catalog/view/javascript/jquery/jquery.tmpl.min.js'); $this->document->addScript('catalog/view/javascript/jquery/jquery.deserialize.min.js'); $this->document->addScript('catalog/view/javascript/jquery/jquery.loadmask.min.js'); $this->document->addScript('catalog/view/javascript/jquery/jquery.lazyload.min.js'); if(isset($filterpro_setting['enable_touch_screen'])) { $this->document->addScript('catalog/view/javascript/jquery/jquery.ui.touch-punch.min.js'); } $this->document->addScript('catalog/view/javascript/filterpro.min.js'); if(isset($filterpro_setting['jscrollpane'])) { $this->document->addScript('catalog/view/javascript/jquery/jscrollpane/jquery.mousewheel.js'); $this->document->addScript('catalog/view/javascript/jquery/jscrollpane/jquery.jscrollpane.min.js'); $this->document->addStyle('catalog/view/javascript/jquery/jscrollpane/jquery.jscrollpane.css'); } if(isset($filterpro_setting['enable_endless_scroller'])) { $this->document->addScript('catalog/view/javascript/jquery/jquery.endlessScroll.js'); } if (isset($filterpro_setting['theme_mega'])){ $this->document->addStyle('catalog/view/theme/default/stylesheet/filterpro-mega.css'); $this->document->addScript('catalog/view/javascript/jquery/qtip2/mega/jquery.qtip.min.js'); $this->document->addStyle('catalog/view/javascript/jquery/qtip2/mega/jquery.qtip.min.css'); } else{ $this->document->addStyle('catalog/view/theme/default/stylesheet/filterpro.css'); $this->document->addScript('catalog/view/javascript/jquery/qtip2/jquery.qtip.min.js'); $this->document->addStyle('catalog/view/javascript/jquery/qtip2/jquery.qtip.min.css'); } $this->document->addStyle('catalog/view/theme/default/stylesheet/jquery.loadmask.css'); if($this->config->get('config_template') == 'shoppica2') { $this->document->addStyle('catalog/view/javascript/jquery/ui/themes/ui-lightness/jquery-ui-1.8.16.custom.css'); } } $filter_hash = ""; if(isset($this->request->get['filter_id'])) { $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "filterpro_seo WHERE `url`='" . $this->db->escape("filter_id=" . $this->request->get['filter_id']) . "'"); if ($query->num_rows){ $filterpro_seo = unserialize($query->row['data']); $filter_hash = $filterpro_seo['url']; } } $this->data['filterpro_container'] = $filterpro_setting['filterpro_container']; $this->data['filterpro_afterload'] = html_entity_decode($filterpro_setting['filterpro_afterload'], ENT_QUOTES, 'UTF-8'); $this->data['filterOptions'] = json_encode(array( 'container' => $filterpro_setting['filterpro_container'], 'filter_redirect' => isset($this->request->get['filter_redirect'])?$this->request->get['filter_redirect']:null, 'filter_hash' => $filter_hash, 'window_hash' => !isset($filterpro_setting['hide_window_hash']), 'hide_count' => isset($filterpro_setting['hide_count']), 'hide_options' => isset($filterpro_setting['hide_options']), 'disable_mask' => isset($filterpro_setting['disable_mask']), 'endless_scroller' => isset($filterpro_setting['enable_endless_scroller']), )); if(file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/filterpro.tpl')) { $this->template = $this->config->get('config_template') . '/template/module/filterpro.tpl'; } else { $this->template = 'default/template/module/filterpro.tpl'; } } $this->render(); } public function getProducts() { if(!isset($this->request->post['min_price'])) { return; } $this->load->model('module/filterpro'); $this->load->model('catalog/product'); $this->load->model('tool/image'); $getTotals = false; if(isset($this->request->post['getTotals']) && $this->request->post['getTotals']) { $getTotals = true; } list($filterpro_setting, $page, $limit, $manufacturer_id, $attribute_value, $option_value, $category_id, $data) = $this->model_module_filterpro->getData(); $is_special = (isset($this->request->post['route']) && $this->request->post['route'] == "product/special") || isset($this->request->post['filer_special']); $is_bydate = isset($this->request->post['route']) && $this->request->post['route'] == "product/productsbydate"; $data['special'] = $is_special; $data['by_date'] = $is_bydate; $data['filer_news'] = isset($this->request->post['filer_news']); $totals_manufacturers = array(); if ($getTotals && $filterpro_setting['display_manufacturer'] != 'none' && !isset($this->request->post['manufacturer_id'])){ $totals_manufacturers = $this->model_module_filterpro->getTotalManufacturers($data); } $totals_options = array(); $totals_attributes = array(); $totals_categories = array(); $totals_tags = array(); if($getTotals) { $totals_options = $this->model_module_filterpro->getTotalOptions($data); if(!isset($this->filterpro_setting['option_total_simple'])) { if($option_value) { foreach($option_value as $option_id => $option_value_id) { foreach($totals_options as $i => $totals_option) { if($totals_option['o'] == $option_id) { unset($totals_options[$i]); } } $temp_data = $data; unset($temp_data['option_value'][$option_id]); foreach($this->model_module_filterpro->getTotalOptions($temp_data) as $option) { if($option['o'] == $option_id) { $totals_options[] = $option; } } } } } $totals_attributes = $this->model_module_filterpro->getTotalAttributes($data); if(!isset($filterpro_setting['attr_total_simple'])) { foreach($attribute_value as $attribute_id => $values) { foreach($totals_attributes as $i => $attribute) { if($attribute['id'] == $attribute_id) { unset($totals_attributes[$i]); } } $temp_data = $data; unset($temp_data['attribute_value'][$attribute_id]); foreach($this->model_module_filterpro->getTotalAttributes($temp_data) as $attribute) { if($attribute['id'] == $attribute_id) { $totals_attributes[] = $attribute; } } } } $totals_tags = array(); if(version_compare(VERSION, "1.5.4") <= 0) { $totals_tags = $this->model_module_filterpro->getTotalTags($data); } $totals_categories = $this->model_module_filterpro->getTotalCategories($data, $category_id); } $results = $this->model_module_filterpro->getProducts($data); $min_price = false; $max_price = false; if(isset($this->request->post['getPriceLimits']) && $this->request->post['getPriceLimits']) { $priceLimits = $this->model_module_filterpro->getPriceLimits(array('category_id' => $category_id, 'manufacturer_id' => $manufacturer_id, 'special' =>$is_special, 'by_date' =>$is_bydate)); $min_price = $priceLimits['min_price']; $max_price = $priceLimits['max_price']; } $this->request->get['path'] = isset($this->request->post['path']) ? $this->request->post['path'] : ''; $product_total = $this->model_module_filterpro->getTotalProducts($data); $result_html = $this->getHtmlProducts($results, $product_total); $pagination = new Pagination(); $pagination->total = $product_total; $pagination->page = $page; $pagination->limit = $limit; $pagination->text = $this->language->get('text_pagination'); if (isset($this->request->post['manufacturer_id'])) { $pagination->url = $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->post['manufacturer_id'] . '&page={page}'); } else { $pagination->url = $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&page={page}'); } $pagination = $pagination->render(); $k = 1; if((float)$filterpro_setting['tax'] > 0) { $k = 1 + (float)$filterpro_setting['tax'] / 100; } $min_price = $this->currency->convert($min_price * $k, $this->config->get('config_currency'), $this->currency->getCode()); $max_price = $this->currency->convert($max_price * $k, $this->config->get('config_currency'), $this->currency->getCode()); $json = json_encode(array('result_html' => $result_html, 'min_price' => $min_price, 'max_price' => $max_price, 'pagination' => $pagination, 'totals_data' => $getTotals ? array( 'product_total' => $product_total, 'manufacturers' => $totals_manufacturers, 'options' => $totals_options, 'attributes' => $totals_attributes, 'categories' => $totals_categories, 'tags' => $totals_tags) : false)); $this->response->setOutput($json); } private function getHtmlProducts($results, $product_total) { $this->data += $this->language->load('product/category'); $this->data['use_lazyload'] = isset($filterpro_setting['use_lazyload']) ? 1 : 0; $this->data['products'] = array(); $this->load->model('catalog/product_status'); $this->load->model('catalog/promotion'); foreach ($results as $result) { $promotions = $this->model_catalog_promotion->getHTMLProductPromotions($result['product_id']); if ($result['image']) { $image = $this->model_tool_image->resize($result['image'], $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')); } else { $image = $this->model_tool_image->resize('no_image.jpg', $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')); } if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { $price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax'))); } else { $price = false; } if ((float)$result['special']) { $special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax'))); } else { $special = false; } if ($this->config->get('config_tax')) { $tax = $this->currency->format((float)$result['special'] ? $result['special'] : $result['price']); } else { $tax = false; } if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }} if ($this->config->get('config_review_status')) { $rating = (int)$result['rating']; } else { $rating = false; } // module attribute to text $options = $this->config->get('attribute_to_text_options'); if (isset($options['show_catalog_attributes'])) { $this->load->model('catalog/attributes_to_text'); $description = $this->model_catalog_attributes_to_text->getText($result['product_id'], $options); if (empty($description) || $description == '<span class="attributes-text"></span>') { $description = utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 300) . '..'; } } else { $description = utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 300) . '..'; } $this->data['products'][] = array( 'promotion' => $result['promotions']['category'], 'statuses' => $result['statuses']['category'], 'stickers' => $result['statuses']['category_stickers'], 'product_id' => $result['product_id'], 'quantity' => $result['quantity'], 'stock' => $result['stock_status'], 'thumb' => $image, 'name' => $result['name'], //produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds 'description' => $description, 'price' => $price, 'special' => $special, 'tax' => $tax, 'rating' => $result['rating'], 'reviews' => sprintf($this->language->get('text_reviews'), (int)$result['reviews']), 'href' => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id']) ); } if(file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/filterpro_list.tpl') && file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/filterpro_grid.tpl') ) { $this->template = $this->config->get('config_template') . '/template/module/filterpro_list.tpl'; $return['list'] = $this->render(); $this->template = $this->config->get('config_template') . '/template/module/filterpro_grid.tpl'; $return['grid'] = $this->render(); return $return; } elseif(file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/filterpro_products.tpl')) { $this->template = $this->config->get('config_template') . '/template/module/filterpro_products.tpl'; } else { $this->template = 'default/template/module/filterpro_products.tpl'; } return $this->render(); } } ?> Может кто знает, как справиться с проблемой? Буду благодарен люпотому чтой помощи. Edited July 14, 2019 by Zapuzin Добавление файла Link to comment Share on other sites More sharing options... Zapuzin Posted July 14, 2019 Share Posted July 14, 2019 Забыл написать, что ошипотому чток в логах нет, как системных, ик и vqmod. Link to comment Share on other sites More sharing options... Zapuzin Posted July 15, 2019 Share Posted July 15, 2019 Странно. Появились ошибки, хотя на сайте модуль Product Display Settings отображает всё, что нужно правильно, только фильтр про не хочет значение "Налилие" товаров, которые есть в налилии, переводить ) Ошибки появились через некоторое время. Во время экспериментов с проблемным модулем кеш листился весь, и они не появлялись ) Спойлер 2019-07-15 0:59:07 - PHP Notice: Undefined variable: result in /home/teploplc/public_html/vqmod/vqcache/vq2-catalog_controller_product_manufacturer.php on line 386 2019-07-15 0:59:07 - PHP Notice: Undefined variable: result in /home/teploplc/public_html/vqmod/vqcache/vq2-catalog_controller_product_manufacturer.php on line 387 2019-07-15 10:57:34 - PHP Notice: Undefined variable: result in /home/teploplc/public_html/vqmod/vqcache/vq2-catalog_controller_product_category.php on line 404 2019-07-15 10:57:34 - PHP Notice: Undefined variable: result in /home/teploplc/public_html/vqmod/vqcache/vq2-catalog_controller_product_category.php on line 405 Весь "product-display-settings.xml" Спойлер <!-- Created using vQmod XML Generator by UKSB - http://www.opencart-extensions.co.uk //--> <modification> <id><![CDATA[Product Display Settings]]></id> <version><![CDATA[1.2]]></version> <vqmver><![CDATA[2.1.5]]></vqmver> <author><![CDATA[Flo from shopencart.com, edited by drbogger]]></author> <file name="admin/controller/setting/setting.php"> <operation> <search position="before" error="log"><![CDATA[if (isset($this->request->post['config_logo'])) {]]></search> <add><![CDATA[ //product display settings if (isset($this->request->post['config_display_sku'])) { $this->data['config_display_sku'] = $this->request->post['config_display_sku']; } else { $this->data['config_display_sku'] = $this->config->get('config_display_sku'); } if (isset($this->request->post['config_display_pweight'])) { $this->data['config_display_pweight'] = $this->request->post['config_display_pweight']; } else { $this->data['config_display_pweight'] = $this->config->get('config_display_pweight'); } if (isset($this->request->post['config_display_skup'])) { $this->data['config_display_skup'] = $this->request->post['config_display_skup']; } else { $this->data['config_display_skup'] = $this->config->get('config_display_skup'); } if (isset($this->request->post['config_display_model'])) { $this->data['config_display_model'] = $this->request->post['config_display_model']; } else { $this->data['config_display_model'] = $this->config->get('config_display_model'); } if (isset($this->request->post['config_display_modelp'])) { $this->data['config_display_modelp'] = $this->request->post['config_display_modelp']; } else { $this->data['config_display_modelp'] = $this->config->get('config_display_modelp'); } if (isset($this->request->post['config_display_brand'])) { $this->data['config_display_brand'] = $this->request->post['config_display_brand']; } else { $this->data['config_display_brand'] = $this->config->get('config_display_brand'); } if (isset($this->request->post['config_display_brandp'])) { $this->data['config_display_brandp'] = $this->request->post['config_display_brandp']; } else { $this->data['config_display_brandp'] = $this->config->get('config_display_brandp'); } if (isset($this->request->post['config_display_rewardsp'])) { $this->data['config_display_rewardsp'] = $this->request->post['config_display_rewardsp']; } else { $this->data['config_display_rewardsp'] = $this->config->get('config_display_rewardsp'); } if (isset($this->request->post['config_display_location'])) { $this->data['config_display_location'] = $this->request->post['config_display_location']; } else { $this->data['config_display_location'] = $this->config->get('config_display_location'); } if (isset($this->request->post['config_display_locationp'])) { $this->data['config_display_locationp'] = $this->request->post['config_display_locationp']; } else { $this->data['config_display_locationp'] = $this->config->get('config_display_locationp'); } if (isset($this->request->post['config_display_listock'])) { $this->data['config_display_listock'] = $this->request->post['config_display_listock']; } else { $this->data['config_display_listock'] = $this->config->get('config_display_listock'); } if (isset($this->request->post['config_display_upc'])) { $this->data['config_display_upc'] = $this->request->post['config_display_upc']; } else { $this->data['config_display_upc'] = $this->config->get('config_display_upc'); } if (isset($this->request->post['config_display_upcp'])) { $this->data['config_display_upcp'] = $this->request->post['config_display_upcp']; } else { $this->data['config_display_upcp'] = $this->config->get('config_display_upcp'); } //end of product display options]]></add> </operation> </file> <file name="admin/view/template/setting/setting.tpl"> <operation> <search position="after"><![CDATA[<div id="tab-option">]]></search> <add><![CDATA[<table class="form"> <tr> <td>Бонусные баллы на страниэто товара?</td> <td><?php if ($config_display_rewardsp) { ?> <input type="radio" name="config_display_rewardsp" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_rewardsp" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_rewardsp" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_rewardsp" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>Вес на страниэто товара?</td> <td><?php if ($config_display_pweight) { ?> <input type="radio" name="config_display_pweight" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_pweight" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_pweight" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_pweight" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>SKU на страниэто товара?</td> <td><?php if ($config_display_sku) { ?> <input type="radio" name="config_display_sku" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_sku" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_sku" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_sku" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>SKU на страниэто категории?</td> <td><?php if ($config_display_skup) { ?> <input type="radio" name="config_display_skup" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_skup" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_skup" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_skup" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>Код товара на страниэто категории?</td> <td><?php if ($config_display_model) { ?> <input type="radio" name="config_display_model" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_model" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_model" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_model" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>Код товара на страниэто товара?</td> <td><?php if ($config_display_modelp) { ?> <input type="radio" name="config_display_modelp" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_modelp" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_modelp" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_modelp" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>Бренд на страниэто категории?</td> <td><?php if ($config_display_brand) { ?> <input type="radio" name="config_display_brand" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_brand" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_brand" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_brand" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>Бренд на страниэто товара?</td> <td><?php if ($config_display_brandp) { ?> <input type="radio" name="config_display_brandp" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_brandp" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_brandp" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_brandp" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>Гарантия на страниэто категории?</td> <td><?php if ($config_display_location) { ?> <input type="radio" name="config_display_location" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_location" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_location" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_location" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr><tr> <td>Гарантия на страниэто товара?</td> <td><?php if ($config_display_locationp) { ?> <input type="radio" name="config_display_locationp" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_locationp" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_locationp" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_locationp" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>UPC на страниэто категории?</td> <td><?php if ($config_display_upc) { ?> <input type="radio" name="config_display_upc" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_upc" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_upc" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_upc" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr><tr> <td>UPC на страниэто товара?</td> <td><?php if ($config_display_upcp) { ?> <input type="radio" name="config_display_upcp" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_upcp" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_upcp" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_upcp" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>Налилие товара на страниэто категории?</td> <td><?php if ($config_display_listock) { ?> <input type="radio" name="config_display_listock" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_listock" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_listock" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_listock" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr></table>]]></add> </operation> </file> <file name="catalog/controller/product/product.php"> <operation> <search position="after"><![CDATA[$this->data['points'] = $product_info['points'];]]></search> <add><![CDATA[//product display options $this->language->load('product/pds'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_weight'] = $this->language->get('pds_weight'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['sku'] = $product_info['sku']; $this->data['upc'] = $product_info['upc']; $this->data['location'] = $product_info['location']; if ($product_info['weight']) { $this->data['weight'] = $this->weight->format($product_info['weight'], $product_info['weight_class_id'], $this->language->get('decimal_point'), $this->language->get('thousand_point')); } else { $this->data['weight'] = ''; } ]]></add> </operation> </file> <file name="catalog/view/theme/*/template/product/product.tpl"> <operation> <search position="after"><![CDATA[<span><?php echo $text_model; ?></span> <?php echo $model; ?><br />]]></search> <add><![CDATA[<?php if ($this->config->get('config_display_skup') && $sku) { ?> <span><?php echo $pds_sku; ?> </span> <?php echo $sku; ?><br /> <?php } ?> <?php if ($this->config->get('config_display_upcp') && $upc) { ?> <span><?php echo $pds_upc; ?> </span> <?php echo $upc; ?><br /> <?php } ?> <?php if ($this->config->get('config_display_locationp') && $location) { ?> <span><?php echo $pds_location; ?> </span> <?php echo $location; ?><br /> <?php } ?> <?php if ($this->config->get('config_display_pweight') && $weight) { ?> <span><?php echo $pds_weight; ?> </span> <?php echo $weight; ?><br /> <?php } ?> ]]></add> </operation> <operation> <search position="replace"><![CDATA[<?php if ($manufacturer) { ?>]]></search> <add><![CDATA[<?php if ($this->config->get('config_display_brandp') && $manufacturer) { ?>]]></add> </operation> <operation> <search position="replace"><![CDATA[<?php if ($reward) { ?>]]></search> <add><![CDATA[<?php if ($this->config->get('config_display_rewardsp') && $reward) { ?>]]></add> </operation> <operation> <search position="replace"><![CDATA[<span><?php echo $text_model; ?></span> <?php echo $model; ?><br />]]></search> <add><![CDATA[<?php if ($this->config->get('config_display_modelp')) { ?> <span><?php echo $pds_model; ?></span> <?php echo $model; ?><br /> <?php } ?>]]></add> </operation> </file> <file name="catalog/controller/product/category.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }}]]></add> </operation> <operation> <search position="after"><![CDATA['name' => $result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->data['text_grid'] = $this->language->get('text_grid');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/controller/product/search.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }}]]></add> </operation> <operation> <search position="after"><![CDATA['name' => $result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->data['text_grid'] = $this->language->get('text_grid');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/controller/product/manufacturer.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }}]]></add> </operation> <operation> <search position="after"><![CDATA['name' => $result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->data['text_grid'] = $this->language->get('text_grid');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/controller/product/special.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }}]]></add> </operation> <operation> <search position="after"><![CDATA['name' => $result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->data['text_grid'] = $this->language->get('text_grid');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/view/theme/*/template/product/search.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: inline-block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> <operation> <search position="before"><![CDATA[html += ' <div class="name">' + $(element).find('.name').html() + '</div>';]]></search> <add><![CDATA[html += '<div class="extra" style="display: inline-block; color: #444; position: absolute; transform: translate(-165px, 195px); -webkit-transform: translate(-165px, 195px); -o-transform: translate(-165px, 195px); -moz-transform: translate(-165px, 195px); font-size: 14px;">' + $(element).find('.extra').html() + '</div>';]]></add> </operation> <operation> <search position="after"><![CDATA[html += '<div class="name">' + $(element).find('.name').html() + '</div>';]]></search> <add><![CDATA[html += '<div class="extra" style="display: inline-block; color: #444;">' + $(element).find('.extra').html() + '</div>';]]></add> </operation> </file> <file name="catalog/view/theme/*/template/product/category.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: inline-block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> <operation> <search position="before"><![CDATA[html += ' <div class="name">' + $(element).find('.name').html() + '</div>';]]></search> <add><![CDATA[html += '<div class="extra" style="display: inline-block; color: #444; position: absolute; transform: translate(-165px, 195px); -webkit-transform: translate(-165px, 195px); -o-transform: translate(-165px, 195px); -moz-transform: translate(-165px, 195px); font-size: 14px;">' + $(element).find('.extra').html() + '</div>';]]></add> </operation> <operation> <search position="after"><![CDATA[html += '<div class="name">' + $(element).find('.name').html() + '</div>';]]></search> <add><![CDATA[html += '<div class="extra" style="display: inline-block; color: #444;">' + $(element).find('.extra').html() + '</div>';]]></add> </operation> </file> <file name="catalog/view/theme/*/template/product/special.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: inline-block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> <operation> <search position="before"><![CDATA[html += ' <div class="name">' + $(element).find('.name').html() + '</div>';]]></search> <add><![CDATA[html += '<div class="extra" style="display: inline-block; color: #444; position: absolute; transform: translate(-165px, 195px); -webkit-transform: translate(-165px, 195px); -o-transform: translate(-165px, 195px); -moz-transform: translate(-165px, 195px); font-size: 14px;">' + $(element).find('.extra').html() + '</div>';]]></add> </operation> <operation> <search position="after"><![CDATA[html += '<div class="name">' + $(element).find('.name').html() + '</div>';]]></search> <add><![CDATA[html += '<div class="extra" style="display: inline-block; color: #444;">' + $(element).find('.extra').html() + '</div>';]]></add> </operation> </file> <file name="catalog/view/theme/*/template/product/manufacturer_info.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: inline-block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> <operation> <search position="before"><![CDATA[html += ' <div class="name">' + $(element).find('.name').html() + '</div>';]]></search> <add><![CDATA[html += '<div class="extra" style="display: inline-block; color: #444; position: absolute; transform: translate(-165px, 195px); -webkit-transform: translate(-165px, 195px); -o-transform: translate(-165px, 195px); -moz-transform: translate(-165px, 195px); font-size: 14px;">' + $(element).find('.extra').html() + '</div>';]]></add> </operation> <operation> <search position="after"><![CDATA[html += '<div class="name">' + $(element).find('.name').html() + '</div>';]]></search> <add><![CDATA[html += '<div class="extra" style="display: inline-block; color: #444;">' + $(element).find('.extra').html() + '</div>';]]></add> </operation> </file> <file name="catalog/controller/module/latest.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = "Stock: " . $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }]]></add> </operation> <operation> <search position="after"><![CDATA[$result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->language->load('module/latest');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/view/theme/*/template/module/latest.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> </file> <file name="catalog/controller/module/bestseller.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = "Stock: " . $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }]]></add> </operation> <operation> <search position="after"><![CDATA[$result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->language->load('module/bestseller');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/view/theme/*/template/module/bestseller.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> </file> <file name="catalog/controller/module/special.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = "Stock: " . $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }]]></add> </operation> <operation> <search position="after"><![CDATA[$result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->language->load('module/special');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/view/theme/*/template/module/special.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> </file> <file name="catalog/controller/module/featured.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($product_info['quantity'] <= 0) { $rstock = $product_info['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = "Stock: " . $product_info['quantity']; } else { $rstock = $this->language->get('pds_instock'); }]]></add> </operation> <operation> <search position="after"><![CDATA[$product_info['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $product_info['sku'], 'model' => $product_info['model'], 'brand' => $product_info['manufacturer'], 'location' => $product_info['location'], 'upc' => $product_info['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $product_info['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->language->load('module/featured');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/view/theme/*/template/module/featured.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> </file> <file name="catalog/controller/module/viewed.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($product_info['quantity'] <= 0) { $rstock = $product_info['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = "Stock: " . $product_info['quantity']; } else { $rstock = $this->language->get('pds_instock'); }]]></add> </operation> <operation> <search position="after"><![CDATA[$product_info['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $product_info['sku'], 'model' => $product_info['model'], 'brand' => $product_info['manufacturer'], 'location' => $product_info['location'], 'upc' => $product_info['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $product_info['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->language->load('module/viewed');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/view/theme/*/template/module/viewed.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> </file> <file name="catalog/controller/module/filterpro.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }}]]></add> </operation> <operation> <search position="after"><![CDATA['name' => $result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->data['text_grid'] = $this->language->get('text_grid');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/view/theme/*/template/module/filterpro_products.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: inline-block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> </file> </modification> vq2-catalog_controller_product_manufacturer.php Спойлер <?php class ControllerProductManufacturer extends Controller { public function index() { $this->language->load('product/manufacturer'); $this->load->model('catalog/manufacturer'); $this->load->model('tool/image'); $this->document->setTitle($this->language->get('heading_title')); $this->data['heading_title'] = $this->language->get('heading_title'); $this->data['text_index'] = $this->language->get('text_index'); $this->data['text_empty'] = $this->language->get('text_empty'); $this->data['button_continue'] = $this->language->get('button_continue'); $this->data['breadcrumbs'] = array(); $this->data['breadcrumbs'][] = array( 'text' => $this->language->get('text_home'), 'href' => $this->url->link('common/home'), 'separator' => false ); $this->data['breadcrumbs'][] = array( 'text' => $this->language->get('text_brand'), 'href' => $this->url->link('product/manufacturer'), 'separator' => $this->language->get('text_separator') ); $this->data['categories'] = array(); $results = $this->model_catalog_manufacturer->getManufacturers(); foreach ($results as $result) { if (is_numeric(utf8_substr($result['name'], 0, 1))) { $key = '0 - 9'; } else { $key = utf8_substr(utf8_strtoupper($result['name']), 0, 1); } if (!isset($this->data['manufacturers'][$key])) { $this->data['categories'][$key]['name'] = $key; } $this->data['categories'][$key]['manufacturer'][] = array( 'name' => $result['name'], // ManufacturerLogo 'logo' => $this->model_tool_image->resize($result['image'], 100, 100), // ManufacturerLogo end 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $result['manufacturer_id']) ); } $this->data['continue'] = $this->url->link('common/home'); if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/manufacturer_list.tpl')) { $this->template = $this->config->get('config_template') . '/template/product/manufacturer_list.tpl'; } else { $this->template = 'default/template/product/manufacturer_list.tpl'; } $this->children = array( 'common/column_left', 'common/column_right', 'common/content_top', 'common/content_bottom', 'common/footer', 'common/header' ); $this->response->setOutput($this->render()); } public function info() { $this->language->load('product/manufacturer'); $this->load->model('catalog/manufacturer'); $this->load->model('catalog/product'); $this->load->model('tool/image'); if (isset($this->request->get['manufacturer_id'])) { $manufacturer_id = (int)$this->request->get['manufacturer_id']; } else { $manufacturer_id = 0; } $filterpro_seo = false; $url_data = false; if(isset($this->request->get['filter_id'])) { $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "filterpro_seo WHERE `url`='" . $this->db->escape("filter_id=" . $this->request->get['filter_id']) . "'"); if($query->num_rows) { $filterpro_data = unserialize($query->row['data']); $filterpro_seo = $filterpro_data['lang'][(int)$this->config->get('config_language_id')]; parse_str(str_replace("&", "&", $filterpro_data['url']), $url_data); $url_data['filer_news'] = false; if (!isset($url_data['manufacturer_id']) || $url_data['manufacturer_id'] != $manufacturer_id) { $this->redirect($this->url->link('error/not_found')); } } } if (isset($this->request->get['sort'])) { $sort = $this->request->get['sort']; } else { $sort = 'p.sort_order'; } if (isset($this->request->get['order'])) { $order = $this->request->get['order']; } else { $order = 'ASC'; } if (isset($this->request->get['page'])) { $page = $this->request->get['page']; } else { $page = 1; } if (isset($this->request->get['limit'])) { $limit = $this->request->get['limit']; } else { $limit = $this->config->get('config_catalog_limit'); } $this->data['breadcrumbs'] = array(); $this->data['breadcrumbs'][] = array( 'text' => $this->language->get('text_home'), 'href' => $this->url->link('common/home'), 'separator' => false ); $this->data['breadcrumbs'][] = array( 'text' => $this->language->get('text_brand'), 'href' => $this->url->link('product/manufacturer'), 'separator' => $this->language->get('text_separator') ); $manufacturer_info = $this->model_catalog_manufacturer->getManufacturer($manufacturer_id); if ($manufacturer_info) { if ($manufacturer_info['seo_title']) { $this->document->setTitle($manufacturer_info['seo_title']); } else { $this->document->setTitle($manufacturer_info['name']); } $this->document->addScript('catalog/view/javascript/jquery/jquery.total-storage.min.js'); $this->document->setDescription($manufacturer_info['meta_description']); $this->document->setKeywords($manufacturer_info['meta_keyword']); $url = ''; if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['page'])) { $url .= '&page=' . $this->request->get['page']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['breadcrumbs'][] = array( 'text' => $manufacturer_info['name'], 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . $url), 'separator' => $this->language->get('text_separator') ); if ($manufacturer_info['seo_h1']) { $this->data['heading_title'] = $manufacturer_info['seo_h1']; } else { $this->data['heading_title'] = $manufacturer_info['name']; if($filterpro_seo) { $this->data['description'] = html_entity_decode($filterpro_seo['description'], ENT_QUOTES, 'UTF-8'); $this->data['heading_title'] = $filterpro_seo['h1']; $this->document->setTitle($filterpro_seo['title']); $this->document->setDescription($filterpro_seo['meta_description']); $this->document->setKeywords($filterpro_seo['meta_keywords']); } } $this->data['description'] = html_entity_decode($manufacturer_info['description'], ENT_QUOTES, 'UTF-8'); $this->data['text_empty'] = $this->language->get('text_empty'); $this->data['text_quantity'] = $this->language->get('text_quantity'); $this->data['text_manufacturer'] = $this->language->get('text_manufacturer'); $this->data['text_model'] = $this->language->get('text_model'); $this->data['text_price'] = $this->language->get('text_price'); $this->data['text_tax'] = $this->language->get('text_tax'); $this->data['text_points'] = $this->language->get('text_points'); $this->data['text_compare'] = sprintf($this->language->get('text_compare'), (isset($this->session->data['compare']) ? count($this->session->data['compare']) : 0)); $this->data['text_display'] = $this->language->get('text_display'); $this->data['text_list'] = $this->language->get('text_list'); $this->data['text_grid'] = $this->language->get('text_grid'); $this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock'); $this->data['text_sort'] = $this->language->get('text_sort'); $this->data['text_limit'] = $this->language->get('text_limit'); $this->data['button_cart'] = $this->language->get('button_cart'); $this->data['button_out_of_stock'] = $this->language->get('button_out_of_stock'); $this->data['button_wishlist'] = $this->language->get('button_wishlist'); $this->data['button_compare'] = $this->language->get('button_compare'); $this->data['button_continue'] = $this->language->get('button_continue'); $this->data['compare'] = $this->url->link('product/compare'); $this->data['products'] = array(); $data = array( 'filter_manufacturer_id' => $manufacturer_id, 'sort' => $sort, 'order' => $order, 'start' => ($page - 1) * $limit, 'limit' => $limit ); if($url_data) { $get = $this->request->get; unset($get['route']); unset($get['filter_id']); $this->request->get['filter_redirect'] = $this->url->link('product/category', http_build_query($get)); $this->request->post = $url_data; $this->load->model('module/filterpro'); list($f1, $f2, $f3, $f4, $f5, $f5, $f6, $url_data) = $this->model_module_filterpro->getData(); $url_data['filer_news'] = false; $product_total = $this->model_module_filterpro->getTotalProducts($url_data); $results = $this->model_module_filterpro->getProducts($url_data); } else { $product_total = $this->model_catalog_product->getTotalProducts($data); $results = $this->model_catalog_product->getProducts($data); } //Вызов метода getFoundProducts должен проводится сразу же после getProducts //только тогда он выдает правильное значения когдачества товаров //$product_total = $this->model_catalog_product->getTotalProducts($data); foreach ($results as $result) { if ($result['image']) { $image = $this->model_tool_image->resize($result['image'], $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')); } else { $image = false; } if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { $price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax'))); } else { $price = false; } if ((float)$result['special']) { $special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax'))); } else { $special = false; } if ($this->config->get('config_tax')) { $tax = $this->currency->format((float)$result['special'] ? $result['special'] : $result['price']); } else { $tax = false; } if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }} if ($this->config->get('config_review_status')) { $rating = (int)$result['rating']; } else { $rating = false; } // module attribute to text $options = $this->config->get('attribute_to_text_options'); if (isset($options['show_catalog_attributes'])) { $this->load->model('catalog/attributes_to_text'); $description = $this->model_catalog_attributes_to_text->getText($result['product_id'], $options); if (empty($description) || $description == '<span class="attributes-text"></span>') { $description = utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 300) . '..'; } } else { $description = utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 300) . '..'; } $this->data['products'][] = array( 'promotion' => $result['promotions']['category'], 'statuses' => $result['statuses']['category'], 'stickers' => $result['statuses']['category_stickers'], 'product_id' => $result['product_id'], 'quantity' => $result['quantity'], 'stock' => $result['stock_status'], 'thumb' => $image, 'name' => $result['name'], //produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds 'description' => $description, 'price' => $price, 'special' => $special, 'tax' => $tax, 'rating' => $result['rating'], 'reviews' => sprintf($this->language->get('text_reviews'), (int)$result['reviews']), 'href' => $this->url->link('product/product', '&manufacturer_id=' . $result['manufacturer_id'] . '&product_id=' . $result['product_id'] . $url) ); } $url = ''; if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['sorts'] = array(); $this->data['sorts'][] = array( 'text' => $this->language->get('text_default'), 'value' => 'p.sort_order-ASC', 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=p.sort_order&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_name_asc'), 'value' => 'pd.name-ASC', 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=pd.name&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_name_desc'), 'value' => 'pd.name-DESC', 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=pd.name&order=DESC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_price_asc'), 'value' => 'p.price-ASC', 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=p.price&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_price_desc'), 'value' => 'p.price-DESC', 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=p.price&order=DESC' . $url) ); if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }} if ($this->config->get('config_review_status')) { $this->data['sorts'][] = array( 'text' => $this->language->get('text_rating_desc'), 'value' => 'rating-DESC', 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=rating&order=DESC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_rating_asc'), 'value' => 'rating-ASC', 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=rating&order=ASC' . $url) ); } $this->data['sorts'][] = array( 'text' => $this->language->get('text_model_asc'), 'value' => 'p.model-ASC', 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=p.model&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_model_desc'), 'value' => 'p.model-DESC', 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=p.model&order=DESC' . $url) ); $url = ''; if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } $this->data['limits'] = array(); $limits = array_unique(array($this->config->get('config_catalog_limit'), 25, 50, 75, 100)); sort($limits); foreach($limits as $value){ $this->data['limits'][] = array( 'text' => $value, 'value' => $value, 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . $url . '&limit=' . $value) ); } $url = ''; if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $pagination = new Pagination(); $pagination->total = $product_total; $pagination->page = $page; $pagination->limit = $limit; $pagination->text = $this->language->get('text_pagination'); $pagination->url = $this->url->link('product/manufacturer/info','manufacturer_id=' . $this->request->get['manufacturer_id'] . $url . '&page={page}'); $this->data['pagination'] = $pagination->render(); $this->data['sort'] = $sort; $this->data['order'] = $order; $this->data['limit'] = $limit; $this->data['continue'] = $this->url->link('common/home'); if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/manufacturer_info.tpl')) { $this->template = $this->config->get('config_template') . '/template/product/manufacturer_info.tpl'; } else { $this->template = 'default/template/product/manufacturer_info.tpl'; } $this->children = array( 'common/column_left', 'common/column_right', 'common/content_top', 'common/content_bottom', 'common/footer', 'common/header' ); $this->response->setOutput($this->render()); } else { $url = ''; if (isset($this->request->get['manufacturer_id'])) { $url .= '&manufacturer_id=' . $this->request->get['manufacturer_id']; } if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['page'])) { $url .= '&page=' . $this->request->get['page']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['breadcrumbs'][] = array( 'text' => $this->language->get('text_error'), 'href' => $this->url->link('product/category', $url), 'separator' => $this->language->get('text_separator') ); $this->document->setTitle($this->language->get('text_error')); $this->data['heading_title'] = $this->language->get('text_error'); $this->data['text_error'] = $this->language->get('text_error'); $this->data['button_continue'] = $this->language->get('button_continue'); $this->data['continue'] = $this->url->link('common/home'); if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/error/not_found.tpl')) { $this->template = $this->config->get('config_template') . '/template/error/not_found.tpl'; } else { $this->template = 'default/template/error/not_found.tpl'; } $this->children = array( 'common/column_left', 'common/column_right', 'common/content_top', 'common/content_bottom', 'common/footer', 'common/header' ); $this->response->setOutput($this->render()); } } } ?> vq2-catalog_controller_product_category.php Спойлер <?php class ControllerProductCategory extends Controller { public function index() { $this->language->load('product/category'); $this->load->model('catalog/category'); $this->load->model('catalog/product'); $this->load->model('tool/image'); if (isset($this->request->get['filter'])) { $filter = $this->request->get['filter']; } else { $filter = ''; } if (isset($this->request->get['sort'])) { $sort = $this->request->get['sort']; } else { $sort = 'p.sort_order'; } if (isset($this->request->get['order'])) { $order = $this->request->get['order']; } else { $order = 'ASC'; } if (isset($this->request->get['page'])) { $page = $this->request->get['page']; } else { $page = 1; } if (isset($this->request->get['limit'])) { $limit = $this->request->get['limit']; } else { $limit = $this->config->get('config_catalog_limit'); } $this->data['breadcrumbs'] = array(); $this->data['breadcrumbs'][] = array( 'text' => $this->language->get('text_home'), 'href' => $this->url->link('common/home'), 'separator' => false ); if (isset($this->request->get['path'])) { $url = ''; if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $path = ''; $parts = explode('_', (string)$this->request->get['path']); $category_id = (int)array_pop($parts); foreach ($parts as $path_id) { if (!$path) { $path = (int)$path_id; } else { $path .= '_' . (int)$path_id; } $category_info = $this->model_catalog_category->getCategory($path_id); if ($category_info) { $this->data['breadcrumbs'][] = array( 'text' => $category_info['name'], 'href' => $this->url->link('product/category', 'path=' . $path . $url), 'separator' => $this->language->get('text_separator') ); } } } else { $category_id = 0; } $filterpro_seo = false; $url_data = false; if(isset($this->request->get['filter_id'])) { $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "filterpro_seo WHERE `url`='" . $this->db->escape("filter_id=" . $this->request->get['filter_id']) . "'"); if($query->num_rows) { $filterpro_data = unserialize($query->row['data']); $filterpro_seo = $filterpro_data['lang'][(int)$this->config->get('config_language_id')]; parse_str(str_replace("&", "&", $filterpro_data['url']), $url_data); $url_data['filer_news'] = false; if(!isset($url_data['category_id']) || $url_data['category_id'] != $category_id) { $this->redirect($this->url->link('error/not_found')); } } } $category_info = $this->model_catalog_category->getCategory($category_id); if ($category_info) { if ($category_info['seo_title']) { $this->document->setTitle($category_info['seo_title']); } else { $this->document->setTitle($category_info['name']); } $this->document->setDescription($category_info['meta_description']); $this->document->setKeywords($category_info['meta_keyword']); $this->document->addScript('catalog/view/javascript/jquery/jquery.total-storage.min.js'); if ($category_info['seo_h1']) { $this->data['heading_title'] = $category_info['seo_h1']; } else { $this->data['heading_title'] = $category_info['name']; } $this->data['text_refine'] = $this->language->get('text_refine'); $this->data['text_empty'] = $this->language->get('text_empty'); $this->data['text_quantity'] = $this->language->get('text_quantity'); $this->data['text_manufacturer'] = $this->language->get('text_manufacturer'); $this->data['text_model'] = $this->language->get('text_model'); $this->data['text_price'] = $this->language->get('text_price'); $this->data['text_tax'] = $this->language->get('text_tax'); $this->data['text_points'] = $this->language->get('text_points'); $this->data['text_compare'] = sprintf($this->language->get('text_compare'), (isset($this->session->data['compare']) ? count($this->session->data['compare']) : 0)); $this->data['text_display'] = $this->language->get('text_display'); $this->data['text_list'] = $this->language->get('text_list'); $this->data['text_grid'] = $this->language->get('text_grid'); $this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock'); $this->data['text_sort'] = $this->language->get('text_sort'); $this->data['text_limit'] = $this->language->get('text_limit'); $this->data['button_cart'] = $this->language->get('button_cart'); $this->data['button_out_of_stock'] = $this->language->get('button_out_of_stock'); $this->data['button_wishlist'] = $this->language->get('button_wishlist'); $this->data['button_compare'] = $this->language->get('button_compare'); $this->data['button_continue'] = $this->language->get('button_continue'); // Set the last category breadcrumb $url = ''; if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['page'])) { $url .= '&page=' . $this->request->get['page']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['breadcrumbs'][] = array( 'text' => $category_info['name'], 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path']), 'separator' => $this->language->get('text_separator') ); if ($category_info['image']) { $this->data['thumb'] = $this->model_tool_image->resize($category_info['image'], $this->config->get('config_image_category_width'), $this->config->get('config_image_category_height')); $this->document->setOgImage($this->data['thumb']); } else { $this->data['thumb'] = ''; } $this->data['description'] = html_entity_decode($category_info['description'], ENT_QUOTES, 'UTF-8'); if($filterpro_seo) { $this->data['description'] = html_entity_decode($filterpro_seo['description'], ENT_QUOTES, 'UTF-8'); $this->data['heading_title'] = $filterpro_seo['h1']; $this->document->setTitle($filterpro_seo['title']); $this->document->setDescription($filterpro_seo['meta_description']); $this->document->setKeywords($filterpro_seo['meta_keywords']); } $this->data['compare'] = $this->url->link('product/compare'); $url = ''; if (isset($this->request->get['filter'])) { $url .= '&filter=' . $this->request->get['filter']; } if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['categories'] = array(); $results = $this->model_catalog_category->getCategories($category_id); foreach ($results as $result) { $data = array( 'filter_category_id' => $result['category_id'], 'filter_sub_category' => true ); $product_total = $this->model_catalog_product->getTotalProducts($data); $this->data['categories'][] = array( 'name' => $result['name'] . ($this->config->get('config_product_count') ? ' (' . $product_total . ')' : ''), 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '_' . $result['category_id'] . $url), 'thumb' => $this->model_tool_image->resize(($result['image']=='' ? 'no_image.jpg' : $result['image']), $this->config->get('config_image_category_width'), $this->config->get('config_image_category_height')) ); } $this->data['products'] = array(); $data = array( 'filter_category_id' => $category_id, 'filter_filter' => $filter, 'sort' => $sort, 'order' => $order, 'start' => ($page - 1) * $limit, 'limit' => $limit ); if($url_data) { $get = $this->request->get; unset($get['route']); unset($get['filter_id']); $this->request->get['filter_redirect'] = $this->url->link('product/category', http_build_query($get)); $this->request->post = $url_data; $this->load->model('module/filterpro'); list($f1, $f2, $f3, $f4, $f5, $f5, $f6, $url_data) = $this->model_module_filterpro->getData(); $url_data['filer_news'] = false; $product_total = $this->model_module_filterpro->getTotalProducts($url_data); $results = $this->model_module_filterpro->getProducts($url_data); } else { $product_total = $this->model_catalog_product->getTotalProducts($data); $results = $this->model_catalog_product->getProducts($data); } //Вызов метода getFoundProducts должен проводится сразу же после getProducts //только тогда он выдает правильное значения когдачества товаров //$product_total = $this->model_catalog_product->getTotalProducts($data); foreach ($results as $result) { if ($result['image']) { $image = $this->model_tool_image->resize($result['image'], $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')); } else { $image = $this->model_tool_image->resize('no_image.jpg', $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')); } if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { $price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax'))); } else { $price = false; } if ((float)$result['special']) { $special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax'))); } else { $special = false; } if ($this->config->get('config_tax')) { $tax = $this->currency->format((float)$result['special'] ? $result['special'] : $result['price']); } else { $tax = false; } if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }} if ($this->config->get('config_review_status')) { $rating = (int)$result['rating']; } else { $rating = false; } // module attribute to text $options = $this->config->get('attribute_to_text_options'); if (isset($options['show_catalog_attributes'])) { $this->load->model('catalog/attributes_to_text'); $description = $this->model_catalog_attributes_to_text->getText($result['product_id'], $options); if (empty($description) || $description == '<span class="attributes-text"></span>') { $description = utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 300) . '..'; } } else { $description = utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 300) . '..'; } $this->data['products'][] = array( 'promotion' => $result['promotions']['category'], 'statuses' => $result['statuses']['category'], 'stickers' => $result['statuses']['category_stickers'], 'product_id' => $result['product_id'], 'quantity' => $result['quantity'], 'stock' => $result['stock_status'], 'thumb' => $image, 'name' => $result['name'], //produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds 'description' => $description, 'price' => $price, 'special' => $special, 'tax' => $tax, 'rating' => $result['rating'], 'reviews' => sprintf($this->language->get('text_reviews'), (int)$result['reviews']), 'href' => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id'] . $url) ); } $url = ''; if (isset($this->request->get['filter'])) { $url .= '&filter=' . $this->request->get['filter']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['sorts'] = array(); $this->data['sorts'][] = array( 'text' => $this->language->get('text_default'), 'value' => 'p.sort_order-ASC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.sort_order&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_name_asc'), 'value' => 'pd.name-ASC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=pd.name&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_name_desc'), 'value' => 'pd.name-DESC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=pd.name&order=DESC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_price_asc'), 'value' => 'p.price-ASC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.price&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_price_desc'), 'value' => 'p.price-DESC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.price&order=DESC' . $url) ); if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }} if ($this->config->get('config_review_status')) { $this->data['sorts'][] = array( 'text' => $this->language->get('text_rating_desc'), 'value' => 'rating-DESC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=rating&order=DESC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_rating_asc'), 'value' => 'rating-ASC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=rating&order=ASC' . $url) ); } $this->data['sorts'][] = array( 'text' => $this->language->get('text_model_asc'), 'value' => 'p.model-ASC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.model&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_model_desc'), 'value' => 'p.model-DESC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.model&order=DESC' . $url) ); $url = ''; if (isset($this->request->get['filter'])) { $url .= '&filter=' . $this->request->get['filter']; } if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } $this->data['limits'] = array(); $limits = array_unique(array($this->config->get('config_catalog_limit'), 25, 50, 75, 100)); sort($limits); foreach($limits as $value){ $this->data['limits'][] = array( 'text' => $value, 'value' => $value, 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . $url . '&limit=' . $value) ); } $url = ''; if (isset($this->request->get['filter'])) { $url .= '&filter=' . $this->request->get['filter']; } if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $pagination = new Pagination(); $pagination->total = $product_total; $pagination->page = $page; $pagination->limit = $limit; $pagination->text = $this->language->get('text_pagination'); $pagination->url = $this->url->link('product/category', 'path=' . $this->request->get['path'] . $url . '&page={page}'); $this->data['pagination'] = $pagination->render(); $this->data['sort'] = $sort; $this->data['order'] = $order; $this->data['limit'] = $limit; $this->data['continue'] = $this->url->link('common/home'); if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/category.tpl')) { $this->template = $this->config->get('config_template') . '/template/product/category.tpl'; } else { $this->template = 'default/template/product/category.tpl'; } $this->children = array( 'common/column_left', 'common/column_right', 'common/content_top', 'common/content_bottom', 'common/footer', 'common/header' ); $this->response->setOutput($this->render()); } else { $url = ''; if (isset($this->request->get['path'])) { $url .= '&path=' . $this->request->get['path']; } if (isset($this->request->get['filter'])) { $url .= '&filter=' . $this->request->get['filter']; } if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['page'])) { $url .= '&page=' . $this->request->get['page']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['breadcrumbs'][] = array( 'text' => $this->language->get('text_error'), 'href' => $this->url->link('product/category', $url), 'separator' => $this->language->get('text_separator') ); $this->document->setTitle($this->language->get('text_error')); $this->data['heading_title'] = $this->language->get('text_error'); $this->data['text_error'] = $this->language->get('text_error'); $this->data['button_continue'] = $this->language->get('button_continue'); $this->data['continue'] = $this->url->link('common/home'); if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/error/not_found.tpl')) { $this->template = $this->config->get('config_template') . '/template/error/not_found.tpl'; } else { $this->template = 'default/template/error/not_found.tpl'; } $this->children = array( 'common/column_left', 'common/column_right', 'common/content_top', 'common/content_bottom', 'common/footer', 'common/header' ); $this->response->setOutput($this->render()); } } } ?> Что заметил. Системные ошибки, связанные с "Product Display Settings", периодически начали появляться после того, как добавился файл "product_statuses.xml" нового модуля "Ситусы Товара PRO Speed, автоситусы, стикеры, текстовые ситусы". Видно им тесно вдвоём ) Link to comment Share on other sites More sharing options... Prev 271 272 273 274 275 276 277 278 279 Next Page 276 of 279 Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 61 Go to topic listing Similar Content filterpro filter Pro By freelancer, June 23, 2012 фильтр filter 2 comments 287,420 views vladplot April 28, 2017 Mega Filter PLUS [powered by Mega Filter PRO][2.x, 3.x] [Подгдержка] 1 2 3 4 56 By OCMegaExtensions, March 27, 2017 mega filter plus filter plus (and 8 more) Tagged with: mega filter plus filter plus mega filter manufacturers filter seo filter filter seo filter brands filter price filter categories filter 1,397 replies 156,366 views FreemanMike February 21 filter Фильтр товаров Dream Filter [Подгдержка] 1 2 3 4 55 By reDream, May 18, 2017 фильтр redream (and 2 more) Tagged with: фильтр redream фильтр товаров фильтрация 1,356 replies 130,150 views reDream March 10 [Подгдержка] Custom templates Pro By halfhope, June 20, 2021 персонализованные шалпотому чтоны custom templates (and 2 more) Tagged with: персонализованные шалпотому чтоны custom templates шаблон для категории шаблон для товара 6 replies 527 views igorfelix March 16 Модуль Акции, Подарки PRO [Подгдержка] 1 2 3 4 9 By sv2109, February 10, 2016 акция акции (and 7 more) Tagged with: акция акции подарки подарок товар категория корзина продажа продажи 203 replies 22,872 views sv2109 Tuesday at 02:13 PM Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Подгдержка и ответы на вопросы Модули и дополнения Filters filter Pro [Подгдержка] Покупателям Оплаи дополнений физическими лицами Оплаи дополнений юридическими лицами Политика возвратов Разрилитликам Регламент размеещёния дополнений Регламент продаж и подгдержки дополнений Виртуальный аккаунт автора Политика продвижения объявлений API каилога дополнений Урегулирование споров по авторским правам Полезная информация Публичная офери Политика возвратов Политика конфигденциальности Платоженая политика Политика Передали Персональных Данных Политика прозрачности Последние дополнения Дополнительные услуги - по дорилитке вашего проеки By OCdevCoding Менеджер административного меню By halfhope Модуль меи-тега Robots Products, Categories, Information, Manufacturer pages By OCdevCoding Калькулятор суммы до бесплатной досивки By ocplanet Модуль "Совместные покупки и Краудфандинг" для Opencart 2.x 3х By whiteblue
tolkachev Posted April 16, 2019 Share Posted April 16, 2019 Здравствуйте! перенесли домен на https и пишет Домены не совпадают! пробывал удалить лиэтонзию и заного, ничего не помогает домен tutbag.ru Link to comment Share on other sites More sharing options...
pahanmcs Posted April 16, 2019 Share Posted April 16, 2019 @freelancer, у меня видимо в вашем фильтре блокируется скрипт спойлера https://dostavkapicci.ru/zakaz-pizzy/ красная кнопка +, в других категориях без фильтра спойлер развораливается, в чем может быть гдело, в консоли нет ошипотому чток <script type="text/javascript"> $(document).ready(function(){ $('.opening2').click(function(){ $(this).parent().children('div.sp2').toggle('normal'); return false; }); }); </script> Link to comment Share on other sites More sharing options...
pahanmcs Posted April 17, 2019 Share Posted April 17, 2019 на мобильной версии тоже рилииет без фильтра Link to comment Share on other sites More sharing options...
pahanmcs Posted April 20, 2019 Share Posted April 20, 2019 (edited) @freelancer, скажите пжлси, в каком месте мне разместить этот скрипт вашего модуля, чтобы он выполнялся? шаблон <a class="opening2" href="javscript://">+</a> если в контроллер модуля в php всивить, то скрипт спойлера рилииет, но слеиет кодировка подключение скрипи в шапке или подвно сайи не рилииет возможно надо добавить через $this->document->addScript в контроллере, но не знаю место Edited April 21, 2019 by pahanmcs Link to comment Share on other sites More sharing options...
freelancer Posted April 22, 2019 Author Share Posted April 22, 2019 @pahanmcs всивьте в сам шаблон filterpro_products.tpl Link to comment Share on other sites More sharing options... pahanmcs Posted April 22, 2019 Share Posted April 22, 2019 1 час назад, freelancer сказал: @pahanmcs всивьте в сам шаблон filterpro_products.tpl @freelancer, всивлял конечно, в когде появляется скрипт, но не в этом гдело, почему-то именно с вашим фильтром не хочет рилиить в паре. при замене замене конструкции <a class="opening2" href="javscript://">+</a> на <span class="opening2">+</span> все равно в категории с фильтром не рилииет, в осильных рилииет может ли быть конфликт подключаемых библиотек? Link to comment Share on other sites More sharing options... Ohrikon Posted April 23, 2019 Share Posted April 23, 2019 Добрый гдень Freelancer. Я оплатил за модуль filter pro случайно ошибся с версией мне нужно для Ocstore 2.3 Пожалуйси дайте релиз для версии 2.3 . На какой домен он бугдет усиновлен я писал вам в ЛС . Пожалуйси помогите с нужной версией. Link to comment Share on other sites More sharing options... freelancer Posted April 25, 2019 Author Share Posted April 25, 2019 @pahanmcs ггде можно увигдеть то, что вы гделаете? Link to comment Share on other sites More sharing options... pahanmcs Posted April 25, 2019 Share Posted April 25, 2019 5 часов назад, freelancer сказал: @pahanmcs ггде можно увигдеть то, что вы гделаете? я уже решил проблему: изменил скрипт, ик как фильтр перерисовывает согдержимое и теряются обрилитлики событий. Link to comment Share on other sites More sharing options... serg34 Posted April 26, 2019 Share Posted April 26, 2019 Здравствуйте! Подскажите в чем может быть проблема. На версии 2.4 сео настройка рилииет нормально, сивлю версию v2.5.17.6_beta (speed), корректно не рилииет. Переходит только на сам атрибут, а меи-теги не отображает. Link to comment Share on other sites More sharing options... 2 weeks later... qweezz Posted May 5, 2019 Share Posted May 5, 2019 Здравствуйте В фильтре можно сортировать порядок вывода атрибутов? У нас все атрибуты в одной группе атрибутов: 1 2 3 4 Надо чтобы на страниэто сайи в фильтре порядок был другой, например 2 4 3 Link to comment Share on other sites More sharing options... freelancer Posted May 8, 2019 Author Share Posted May 8, 2019 @qweezz тут есть про сортировки для разных версий Link to comment Share on other sites More sharing options... promikes Posted May 13, 2019 Share Posted May 13, 2019 Добрый гдень! Столкнулся с проблемой, покупал лиэтонзию Вашего фильтра еещё лет 5 назад. Вот сейчас гделаем переход на https, т.к. уже требуют все рекламные площадки, и после перехода у нас ion_cube соответственно не пропускает наш сайт, т.к. слииет, что мы пыиемся дублировать лиэтонзию. Написал в ЛС, сюда дублирую, т.к. кейс может быть интересен другим пользователям, полагаю. Link to comment Share on other sites More sharing options... 2 weeks later... thecatus Posted May 27, 2019 Share Posted May 27, 2019 @freelancer, здравствуйте, прошу ответить на личное сообещёние от 21.05. по вопросу подгдержки модуля Link to comment Share on other sites More sharing options... 4 weeks later... Zapuzin Posted June 19, 2019 Share Posted June 19, 2019 (edited) В 13.05.2019 в 13:23, promikes сказал: Вот сейчас гделаем переход на https, т.к. уже требуют все рекламные площадки... Тоже в проэтоссе перехода на https. Вопрос о лиэтонзии данного модуля "filterpro v2.4.4(seo)" и "SeoGen 4.1" очень актунон! Без ясности данного вопроса переходить не хочется ) С осильными авторами модулей в проэтоссе выяснения. freelancer, написАл в ЛС Edited June 19, 2019 by Zapuzin Link to comment Share on other sites More sharing options... Zapuzin Posted June 20, 2019 Share Posted June 20, 2019 (edited) Не дождался отвеи и перешёл на https. Все лиэтонзионные модули, в том лисле и данные, рилииют как и рилиили. Проблем не обнаружил ) По осильным модулям был спокоен, ик как разрилитлики вышли на связь и подтвердили, что от перехода с http на https лиэтонзия сохраняется. freelancer, уже не актуально. Edited June 20, 2019 by Zapuzin Link to comment Share on other sites More sharing options... 4 weeks later... Zapuzin Posted July 14, 2019 Share Posted July 14, 2019 (edited) filterpro_v2.4.4(seo) (29.02.2016, #433262) ocStore-1.5.5.1.2 Усиновлен Product Display Settings vqmod В этолом этот модуль с фильтром подружил, осилась только одна проблемка. Вот её никак не могу самостоятельно попотому чтороть ) Если товара нет в налилии, то "Налилие" отображается правильно, на том языке, который выбран на сайте. Если товар есть в налилии, то "Налилие" отображается неправильно - "pds_instock". Вот скрины для наглядности: Налилие без фильтра: Налилие с фильтром: "catalog/controller/product/category.php" из файла "product-display-settings.xml": Спойлер <file name="catalog/controller/product/category.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }}]]></add> </operation> <operation> <search position="after"><![CDATA['name' => $result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->data['text_grid'] = $this->language->get('text_grid');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> "catalog/controller/module/filterpro.php" из файла "product-display-settings.xml": Спойлер <file name="catalog/controller/module/filterpro.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }}]]></add> </operation> <operation> <search position="after"><![CDATA['name' => $result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->data['text_grid'] = $this->language->get('text_grid');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> Вот языковой файл "catalog/language/russian/product/pds.php": Спойлер <?php $_['pds_model'] = 'Код товара:'; $_['pds_sku'] = 'Страна производитель:'; $_['pds_brand'] = 'Бренд:'; $_['pds_upc'] = 'UPC:'; $_['pds_location'] = 'Гарантия:'; $_['pds_stock'] = 'Налилие:'; $_['pds_instock'] = 'В налилии:'; $_['pds_weight'] = 'Вес:'; ?> " vq2-catalog_controller_module_filterpro.php" Спойлер <?php class ControllerModuleFilterPro extends Controller { protected function index($setting) { if($setting['type'] == 1) { $this->language->load('product/filter'); $this->data['text_display'] = $this->language->get('text_display'); $this->data['text_list'] = $this->language->get('text_list'); $this->data['text_grid'] = $this->language->get('text_grid'); $this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock'); $this->data['text_sort'] = $this->language->get('text_sort'); $this->data['text_limit'] = $this->language->get('text_limit'); $sort = 'p.sort_order'; $order = 'ASC'; $limit = $this->config->get('config_catalog_limit'); $url = ''; if(isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['sorts'] = array(); $this->data['sorts'][] = array( 'text' => $this->language->get('text_default'), 'value' => 'p.sort_order-ASC', 'href' => $this->url->link('product/filter', 'sort=p.sort_order&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_name_asc'), 'value' => 'pd.name-ASC', 'href' => $this->url->link('product/filter', 'sort=pd.name&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_name_desc'), 'value' => 'pd.name-DESC', 'href' => $this->url->link('product/filter', 'sort=pd.name&order=DESC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_price_asc'), 'value' => 'p.price-ASC', 'href' => $this->url->link('product/filter', 'sort=p.price&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_price_desc'), 'value' => 'p.price-DESC', 'href' => $this->url->link('product/filter', 'sort=p.price&order=DESC' . $url) ); if($this->config->get('config_review_status')) { $this->data['sorts'][] = array( 'text' => $this->language->get('text_rating_desc'), 'value' => 'rating-DESC', 'href' => $this->url->link('product/filter', 'sort=rating&order=DESC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_rating_asc'), 'value' => 'rating-ASC', 'href' => $this->url->link('product/filter', 'sort=rating&order=ASC' . $url) ); } $this->data['sorts'][] = array( 'text' => $this->language->get('text_model_asc'), 'value' => 'p.model-ASC', 'href' => $this->url->link('product/filter', 'sort=p.model&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_model_desc'), 'value' => 'p.model-DESC', 'href' => $this->url->link('product/filter', 'sort=p.model&order=DESC' . $url) ); $url = ''; if(isset($this->request->get['sort'])) { $url .= 'sort=' . $this->request->get['sort']; } if(isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } $this->data['limits'] = array(); $this->data['limits'][] = array( 'text' => $this->config->get('config_catalog_limit'), 'value' => $this->config->get('config_catalog_limit'), 'href' => $this->url->link('product/filter', $url . '&limit=' . $this->config->get('config_catalog_limit')) ); $this->data['limits'][] = array( 'text' => 25, 'value' => 25, 'href' => $this->url->link('product/filter', $url . '&limit=25') ); $this->data['limits'][] = array( 'text' => 50, 'value' => 50, 'href' => $this->url->link('product/filter', $url . '&limit=50') ); $this->data['limits'][] = array( 'text' => 75, 'value' => 75, 'href' => $this->url->link('product/filter', $url . '&limit=75') ); $this->data['limits'][] = array( 'text' => 100, 'value' => 100, 'href' => $this->url->link('product/filter', $url . '&limit=100') ); $this->data['sort'] = $sort; $this->data['order'] = $order; $this->data['limit'] = $limit; $this->document->addScript('catalog/view/javascript/jquery/jquery.total-storage.min.js'); $this->data += $this->language->load('product/category'); $this->data['text_compare'] = sprintf($this->language->get('text_compare'), (isset($this->session->data['compare']) ? count($this->session->data['compare']) : 0)); if(file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/filterpro_container.tpl')) { $this->template = $this->config->get('config_template') . '/template/module/filterpro_container.tpl'; } else { $this->template = 'default/template/module/filterpro_container.tpl'; } } else { $this->language->load('module/filterpro'); if (isset($this->request->get['sort'])) { $sort = $this->request->get['sort']; } else { $sort = 'p.sort_order'; } if (isset($this->request->get['order'])) { $order = $this->request->get['order']; } else { $order = 'ASC'; } if (isset($this->request->get['page'])) { $page = $this->request->get['page']; } else { $page = 1; } if (isset($this->request->get['limit'])) { $limit = $this->request->get['limit']; } else { $limit = $this->config->get('config_catalog_limit'); } $this->data['sort'] = $sort; $this->data['order'] = $order; $this->data['page'] = $page; $this->data['limit'] = $limit; $this->data['text_tax'] = $this->language->get('text_tax'); $this->data['button_cart'] = $this->language->get('button_cart'); $this->data['button_out_of_stock'] = $this->language->get('button_out_of_stock'); $this->data['button_wishlist'] = $this->language->get('button_wishlist'); $this->data['button_compare'] = $this->language->get('button_compare'); $this->data['text_price_range'] = $this->language->get('text_price_range'); $this->data['text_manufacturers'] = $this->language->get('text_manufacturers'); $this->data['text_tags'] = $this->language->get('text_tags'); $this->data['text_categories'] = $this->language->get('text_categories'); $this->data['text_attributes'] = $this->language->get('text_attributes'); $this->data['text_all'] = $this->language->get('text_all'); $this->data['clear_filter'] = $this->language->get('clear_filter'); $this->data['text_instock'] = $this->language->get('text_instock'); $this->data['text_filer_special'] = $this->language->get('text_filer_special'); $this->data['text_filer_news'] = $this->language->get('text_filer_news'); $this->data['text_show_filer_special'] = $this->language->get('text_show_filer_special'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock'); $this->data['symbol_right'] = $this->currency->getSymbolRight(); $this->data['symbol_left'] = $this->currency->getSymbolLeft(); $this->data['setting'] = $setting; if(VERSION == '1.5.0') { $filterpro_setting = unserialize($this->config->get('filterpro_setting')); } else { $filterpro_setting = $this->config->get('filterpro_setting'); } $this->data['text_show_filer_news'] = sprintf($this->language->get('text_show_filer_news'), $filterpro_setting['news_days']); $this->data['heading_title'] = $filterpro_setting['filterpro_name']; $this->data['heading_title'] = $this->language->get('heading_title'); $is_special = isset($this->request->get['route']) && $this->request->get['route'] == "product/special"; $is_bydate = isset($this->request->get['route']) && $this->request->get['route'] == "product/productsbydate"; $category_id = false; $this->data['path'] = ""; if(isset($this->request->get['path'])) { $this->data['path'] = $this->request->get['path']; $parts = explode('_', (string)$this->request->get['path']); $category_id = array_pop($parts); } $manufacturer_id = false; if(isset($this->request->get['manufacturer_id'])) { $manufacturer_id = $this->request->get['manufacturer_id']; $data = array( 'filter_manufacturer_id' => $this->request->get['manufacturer_id'] ); } else { $data = array( 'filter_category_id' => $category_id, 'filter_sub_category' => isset($filterpro_setting['subcategories']) ); } $this->load->model('catalog/product'); $product_total = $this->model_catalog_product->getTotalProducts($data); if($product_total < 2) { return; } $this->data['category_id'] = $category_id; $data = array('category_id' => $category_id, 'manufacturer_id' => $manufacturer_id, 'special' => $is_special, 'by_date' => $is_bydate,); $this->load->model('module/filterpro'); $this->data['manufacturers'] = false; if(isset($this->request->get['manufacturer_id'])) { $this->data['manufacturer_id'] = $this->request->get['manufacturer_id']; } else { if($filterpro_setting['display_manufacturer'] != 'none') { $this->data['manufacturers'] = $this->model_module_filterpro->getManufacturers($data); $this->data['display_manufacturer'] = $filterpro_setting['display_manufacturer']; $this->data['expanded_manufacturer'] = isset($filterpro_setting['expanded_manufacturer']) ? 1 : 0; } } $this->data['options'] = $this->model_module_filterpro->getOptions($data); $this->load->model('tool/image'); foreach($this->data['options'] as $i => $option) { if(!isset($filterpro_setting['display_option_' . $option['option_id']])) { $filterpro_setting['display_option_' . $option['option_id']] = 'none'; } $display_option = $filterpro_setting['display_option_' . $option['option_id']]; if($display_option != 'none') { $this->data['options'][$i]['display'] = $display_option; $this->data['options'][$i]['expanded'] = isset($filterpro_setting['expanded_option_' . $option['option_id']]) ? 1 : 0; foreach($this->data['options'][$i]['option_values'] as $j => $option_value) { $this->data['options'][$i]['option_values'][$j]['thumb'] = $this->model_tool_image->resize($this->data['options'][$i]['option_values'][$j]['image'], (int)$filterpro_setting['option_images_w'], (int)$filterpro_setting['option_images_h']); } } else { unset($this->data['options'][$i]); } } $this->data['tags'] = array(); if(version_compare(VERSION, "1.5.4") <= 0 && $filterpro_setting['display_tags'] != 'none') { $this->data['tags'] = $this->model_module_filterpro->getTags($data); $this->data['expanded_tags'] = isset($filterpro_setting['expanded_tags']) ? 1 : 0; } $this->data['categories'] = false; if($filterpro_setting['display_categories'] != 'none') { $this->data['categories'] = $this->model_module_filterpro->getSubCategories($data); $this->data['expanded_categories'] = isset($filterpro_setting['expanded_categories']) ? 1 : 0; } $this->data['attributes'] = $this->model_module_filterpro->getAttributes($data); foreach($this->data['attributes'] as $j => $attribute_group) { foreach($attribute_group['attribute_values'] as $attribute_id => $attribute) { if(!isset($filterpro_setting['display_attribute_' . $attribute_id])) { $filterpro_setting['display_attribute_' . $attribute_id] = 'none'; } $display_attribute = $filterpro_setting['display_attribute_' . $attribute_id]; if($display_attribute != 'none') { if($display_attribute == 'slider') { $values = $this->data['attributes'][$j]['attribute_values'][$attribute_id]['values']; $first = $values[0]; $this->data['attributes'][$j]['attribute_values'][$attribute_id]['suffix'] = preg_replace("/^[0-9]*(\\.[0-9]*)?/", '', $first); $values = array_map('floatVal', $values); $values = array_unique($values); sort($values); $this->data['attributes'][$j]['attribute_values'][$attribute_id]['values'] = $values; } $this->data['attributes'][$j]['attribute_values'][$attribute_id]['display'] = $display_attribute; $this->data['attributes'][$j]['attribute_values'][$attribute_id]['expanded'] = isset($filterpro_setting['expanded_attribute_' . $attribute_id]) ? 1 : 0; } else { unset($this->data['attributes'][$j]['attribute_values'][$attribute_id]); if(!$this->data['attributes'][$j]['attribute_values']) { unset($this->data['attributes'][$j]); } } } } $this->data['filter_groups'] = array(); $this->load->model('catalog/category'); $this->data['option_main_checkbox'] = isset($filterpro_setting['option_main_checkbox']) ? 1 : 0; if(version_compare(VERSION, "1.5.5") >= 0 && $filterpro_setting['filters']==1) { $this->data['expanded_filters'] = isset($filterpro_setting['expanded_filters']) ? 1 : 0; $filter_groups = $this->model_catalog_category->getCategoryFilters($category_id); if ($filter_groups) { foreach ($filter_groups as $filter_group) { $filter_data = array(); foreach ($filter_group['filter'] as $filter) { $data = array( 'filter_category_id' => $category_id, 'filter_filter' => $filter['filter_id'] ); $filter_data[] = array( 'filter_id' => $filter['filter_id'], 'name' => $filter['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($data) . ')' : '') ); } $this->data['filter_groups'][] = array( 'filter_group_id' => $filter_group['filter_group_id'], 'name' => $filter_group['name'], 'filter' => $filter_data ); } } } $this->data['price_slider'] = $filterpro_setting['price_slider']; $this->data['attr_group'] = $filterpro_setting['attr_group']; $this->data['filer_special'] = isset($filterpro_setting['filer_special']); $this->data['filer_news'] = isset($filterpro_setting['filer_news']); $manufacturer = false; if(isset($this->request->get['manufacturer_id'])) { $manufacturer = array($this->request->get['manufacturer_id']); } $categories = false; if($category_id) { $categories = array($category_id); } $arr_data = array( 'instock' => isset($filterpro_setting['instock_checked']), 'option_value' => false, 'manufacturer' => $manufacturer, 'attribute_value' => false, 'tags' => false, 'categories' => $categories, 'attr_slider' => false, 'filter' => false, 'min_price' => 0, 'max_price' => 0, 'start' => 0, 'limit' => 1, 'sort' => false, 'order' => false ); if($this->data['filer_news']) { $product_total = $this->model_module_filterpro->getTotalProducts($arr_data + array('filer_news' => true)); $this->data['filer_news'] = $product_total > 0; // var_dump($product_total); } if($this->data['filer_special']) { $product_total = $this->model_module_filterpro->getTotalProducts($arr_data + array('special' => true, 'filer_news' => false)); $this->data['filer_special'] = $product_total > 0; // var_dump($product_total); } $this->data['instock_checked'] = isset($filterpro_setting['instock_checked']) ? 1 : 0; $this->data['instock_visible'] = isset($filterpro_setting['instock_visible']) ? 1 : 0; if($this->data['tags'] || $this->data['categories'] || $this->data['options'] || $this->data['manufacturers'] || $this->data['attributes'] || $this->data['price_slider']) { $this->document->addScript('catalog/view/javascript/jquery/jquery.tmpl.min.js'); $this->document->addScript('catalog/view/javascript/jquery/jquery.deserialize.min.js'); $this->document->addScript('catalog/view/javascript/jquery/jquery.loadmask.min.js'); $this->document->addScript('catalog/view/javascript/jquery/jquery.lazyload.min.js'); if(isset($filterpro_setting['enable_touch_screen'])) { $this->document->addScript('catalog/view/javascript/jquery/jquery.ui.touch-punch.min.js'); } $this->document->addScript('catalog/view/javascript/filterpro.min.js'); if(isset($filterpro_setting['jscrollpane'])) { $this->document->addScript('catalog/view/javascript/jquery/jscrollpane/jquery.mousewheel.js'); $this->document->addScript('catalog/view/javascript/jquery/jscrollpane/jquery.jscrollpane.min.js'); $this->document->addStyle('catalog/view/javascript/jquery/jscrollpane/jquery.jscrollpane.css'); } if(isset($filterpro_setting['enable_endless_scroller'])) { $this->document->addScript('catalog/view/javascript/jquery/jquery.endlessScroll.js'); } if (isset($filterpro_setting['theme_mega'])){ $this->document->addStyle('catalog/view/theme/default/stylesheet/filterpro-mega.css'); $this->document->addScript('catalog/view/javascript/jquery/qtip2/mega/jquery.qtip.min.js'); $this->document->addStyle('catalog/view/javascript/jquery/qtip2/mega/jquery.qtip.min.css'); } else{ $this->document->addStyle('catalog/view/theme/default/stylesheet/filterpro.css'); $this->document->addScript('catalog/view/javascript/jquery/qtip2/jquery.qtip.min.js'); $this->document->addStyle('catalog/view/javascript/jquery/qtip2/jquery.qtip.min.css'); } $this->document->addStyle('catalog/view/theme/default/stylesheet/jquery.loadmask.css'); if($this->config->get('config_template') == 'shoppica2') { $this->document->addStyle('catalog/view/javascript/jquery/ui/themes/ui-lightness/jquery-ui-1.8.16.custom.css'); } } $filter_hash = ""; if(isset($this->request->get['filter_id'])) { $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "filterpro_seo WHERE `url`='" . $this->db->escape("filter_id=" . $this->request->get['filter_id']) . "'"); if ($query->num_rows){ $filterpro_seo = unserialize($query->row['data']); $filter_hash = $filterpro_seo['url']; } } $this->data['filterpro_container'] = $filterpro_setting['filterpro_container']; $this->data['filterpro_afterload'] = html_entity_decode($filterpro_setting['filterpro_afterload'], ENT_QUOTES, 'UTF-8'); $this->data['filterOptions'] = json_encode(array( 'container' => $filterpro_setting['filterpro_container'], 'filter_redirect' => isset($this->request->get['filter_redirect'])?$this->request->get['filter_redirect']:null, 'filter_hash' => $filter_hash, 'window_hash' => !isset($filterpro_setting['hide_window_hash']), 'hide_count' => isset($filterpro_setting['hide_count']), 'hide_options' => isset($filterpro_setting['hide_options']), 'disable_mask' => isset($filterpro_setting['disable_mask']), 'endless_scroller' => isset($filterpro_setting['enable_endless_scroller']), )); if(file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/filterpro.tpl')) { $this->template = $this->config->get('config_template') . '/template/module/filterpro.tpl'; } else { $this->template = 'default/template/module/filterpro.tpl'; } } $this->render(); } public function getProducts() { if(!isset($this->request->post['min_price'])) { return; } $this->load->model('module/filterpro'); $this->load->model('catalog/product'); $this->load->model('tool/image'); $getTotals = false; if(isset($this->request->post['getTotals']) && $this->request->post['getTotals']) { $getTotals = true; } list($filterpro_setting, $page, $limit, $manufacturer_id, $attribute_value, $option_value, $category_id, $data) = $this->model_module_filterpro->getData(); $is_special = (isset($this->request->post['route']) && $this->request->post['route'] == "product/special") || isset($this->request->post['filer_special']); $is_bydate = isset($this->request->post['route']) && $this->request->post['route'] == "product/productsbydate"; $data['special'] = $is_special; $data['by_date'] = $is_bydate; $data['filer_news'] = isset($this->request->post['filer_news']); $totals_manufacturers = array(); if ($getTotals && $filterpro_setting['display_manufacturer'] != 'none' && !isset($this->request->post['manufacturer_id'])){ $totals_manufacturers = $this->model_module_filterpro->getTotalManufacturers($data); } $totals_options = array(); $totals_attributes = array(); $totals_categories = array(); $totals_tags = array(); if($getTotals) { $totals_options = $this->model_module_filterpro->getTotalOptions($data); if(!isset($this->filterpro_setting['option_total_simple'])) { if($option_value) { foreach($option_value as $option_id => $option_value_id) { foreach($totals_options as $i => $totals_option) { if($totals_option['o'] == $option_id) { unset($totals_options[$i]); } } $temp_data = $data; unset($temp_data['option_value'][$option_id]); foreach($this->model_module_filterpro->getTotalOptions($temp_data) as $option) { if($option['o'] == $option_id) { $totals_options[] = $option; } } } } } $totals_attributes = $this->model_module_filterpro->getTotalAttributes($data); if(!isset($filterpro_setting['attr_total_simple'])) { foreach($attribute_value as $attribute_id => $values) { foreach($totals_attributes as $i => $attribute) { if($attribute['id'] == $attribute_id) { unset($totals_attributes[$i]); } } $temp_data = $data; unset($temp_data['attribute_value'][$attribute_id]); foreach($this->model_module_filterpro->getTotalAttributes($temp_data) as $attribute) { if($attribute['id'] == $attribute_id) { $totals_attributes[] = $attribute; } } } } $totals_tags = array(); if(version_compare(VERSION, "1.5.4") <= 0) { $totals_tags = $this->model_module_filterpro->getTotalTags($data); } $totals_categories = $this->model_module_filterpro->getTotalCategories($data, $category_id); } $results = $this->model_module_filterpro->getProducts($data); $min_price = false; $max_price = false; if(isset($this->request->post['getPriceLimits']) && $this->request->post['getPriceLimits']) { $priceLimits = $this->model_module_filterpro->getPriceLimits(array('category_id' => $category_id, 'manufacturer_id' => $manufacturer_id, 'special' =>$is_special, 'by_date' =>$is_bydate)); $min_price = $priceLimits['min_price']; $max_price = $priceLimits['max_price']; } $this->request->get['path'] = isset($this->request->post['path']) ? $this->request->post['path'] : ''; $product_total = $this->model_module_filterpro->getTotalProducts($data); $result_html = $this->getHtmlProducts($results, $product_total); $pagination = new Pagination(); $pagination->total = $product_total; $pagination->page = $page; $pagination->limit = $limit; $pagination->text = $this->language->get('text_pagination'); if (isset($this->request->post['manufacturer_id'])) { $pagination->url = $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->post['manufacturer_id'] . '&page={page}'); } else { $pagination->url = $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&page={page}'); } $pagination = $pagination->render(); $k = 1; if((float)$filterpro_setting['tax'] > 0) { $k = 1 + (float)$filterpro_setting['tax'] / 100; } $min_price = $this->currency->convert($min_price * $k, $this->config->get('config_currency'), $this->currency->getCode()); $max_price = $this->currency->convert($max_price * $k, $this->config->get('config_currency'), $this->currency->getCode()); $json = json_encode(array('result_html' => $result_html, 'min_price' => $min_price, 'max_price' => $max_price, 'pagination' => $pagination, 'totals_data' => $getTotals ? array( 'product_total' => $product_total, 'manufacturers' => $totals_manufacturers, 'options' => $totals_options, 'attributes' => $totals_attributes, 'categories' => $totals_categories, 'tags' => $totals_tags) : false)); $this->response->setOutput($json); } private function getHtmlProducts($results, $product_total) { $this->data += $this->language->load('product/category'); $this->data['use_lazyload'] = isset($filterpro_setting['use_lazyload']) ? 1 : 0; $this->data['products'] = array(); $this->load->model('catalog/product_status'); $this->load->model('catalog/promotion'); foreach ($results as $result) { $promotions = $this->model_catalog_promotion->getHTMLProductPromotions($result['product_id']); if ($result['image']) { $image = $this->model_tool_image->resize($result['image'], $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')); } else { $image = $this->model_tool_image->resize('no_image.jpg', $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')); } if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { $price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax'))); } else { $price = false; } if ((float)$result['special']) { $special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax'))); } else { $special = false; } if ($this->config->get('config_tax')) { $tax = $this->currency->format((float)$result['special'] ? $result['special'] : $result['price']); } else { $tax = false; } if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }} if ($this->config->get('config_review_status')) { $rating = (int)$result['rating']; } else { $rating = false; } // module attribute to text $options = $this->config->get('attribute_to_text_options'); if (isset($options['show_catalog_attributes'])) { $this->load->model('catalog/attributes_to_text'); $description = $this->model_catalog_attributes_to_text->getText($result['product_id'], $options); if (empty($description) || $description == '<span class="attributes-text"></span>') { $description = utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 300) . '..'; } } else { $description = utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 300) . '..'; } $this->data['products'][] = array( 'promotion' => $result['promotions']['category'], 'statuses' => $result['statuses']['category'], 'stickers' => $result['statuses']['category_stickers'], 'product_id' => $result['product_id'], 'quantity' => $result['quantity'], 'stock' => $result['stock_status'], 'thumb' => $image, 'name' => $result['name'], //produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds 'description' => $description, 'price' => $price, 'special' => $special, 'tax' => $tax, 'rating' => $result['rating'], 'reviews' => sprintf($this->language->get('text_reviews'), (int)$result['reviews']), 'href' => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id']) ); } if(file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/filterpro_list.tpl') && file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/filterpro_grid.tpl') ) { $this->template = $this->config->get('config_template') . '/template/module/filterpro_list.tpl'; $return['list'] = $this->render(); $this->template = $this->config->get('config_template') . '/template/module/filterpro_grid.tpl'; $return['grid'] = $this->render(); return $return; } elseif(file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/filterpro_products.tpl')) { $this->template = $this->config->get('config_template') . '/template/module/filterpro_products.tpl'; } else { $this->template = 'default/template/module/filterpro_products.tpl'; } return $this->render(); } } ?> Может кто знает, как справиться с проблемой? Буду благодарен люпотому чтой помощи. Edited July 14, 2019 by Zapuzin Добавление файла Link to comment Share on other sites More sharing options... Zapuzin Posted July 14, 2019 Share Posted July 14, 2019 Забыл написать, что ошипотому чток в логах нет, как системных, ик и vqmod. Link to comment Share on other sites More sharing options... Zapuzin Posted July 15, 2019 Share Posted July 15, 2019 Странно. Появились ошибки, хотя на сайте модуль Product Display Settings отображает всё, что нужно правильно, только фильтр про не хочет значение "Налилие" товаров, которые есть в налилии, переводить ) Ошибки появились через некоторое время. Во время экспериментов с проблемным модулем кеш листился весь, и они не появлялись ) Спойлер 2019-07-15 0:59:07 - PHP Notice: Undefined variable: result in /home/teploplc/public_html/vqmod/vqcache/vq2-catalog_controller_product_manufacturer.php on line 386 2019-07-15 0:59:07 - PHP Notice: Undefined variable: result in /home/teploplc/public_html/vqmod/vqcache/vq2-catalog_controller_product_manufacturer.php on line 387 2019-07-15 10:57:34 - PHP Notice: Undefined variable: result in /home/teploplc/public_html/vqmod/vqcache/vq2-catalog_controller_product_category.php on line 404 2019-07-15 10:57:34 - PHP Notice: Undefined variable: result in /home/teploplc/public_html/vqmod/vqcache/vq2-catalog_controller_product_category.php on line 405 Весь "product-display-settings.xml" Спойлер <!-- Created using vQmod XML Generator by UKSB - http://www.opencart-extensions.co.uk //--> <modification> <id><![CDATA[Product Display Settings]]></id> <version><![CDATA[1.2]]></version> <vqmver><![CDATA[2.1.5]]></vqmver> <author><![CDATA[Flo from shopencart.com, edited by drbogger]]></author> <file name="admin/controller/setting/setting.php"> <operation> <search position="before" error="log"><![CDATA[if (isset($this->request->post['config_logo'])) {]]></search> <add><![CDATA[ //product display settings if (isset($this->request->post['config_display_sku'])) { $this->data['config_display_sku'] = $this->request->post['config_display_sku']; } else { $this->data['config_display_sku'] = $this->config->get('config_display_sku'); } if (isset($this->request->post['config_display_pweight'])) { $this->data['config_display_pweight'] = $this->request->post['config_display_pweight']; } else { $this->data['config_display_pweight'] = $this->config->get('config_display_pweight'); } if (isset($this->request->post['config_display_skup'])) { $this->data['config_display_skup'] = $this->request->post['config_display_skup']; } else { $this->data['config_display_skup'] = $this->config->get('config_display_skup'); } if (isset($this->request->post['config_display_model'])) { $this->data['config_display_model'] = $this->request->post['config_display_model']; } else { $this->data['config_display_model'] = $this->config->get('config_display_model'); } if (isset($this->request->post['config_display_modelp'])) { $this->data['config_display_modelp'] = $this->request->post['config_display_modelp']; } else { $this->data['config_display_modelp'] = $this->config->get('config_display_modelp'); } if (isset($this->request->post['config_display_brand'])) { $this->data['config_display_brand'] = $this->request->post['config_display_brand']; } else { $this->data['config_display_brand'] = $this->config->get('config_display_brand'); } if (isset($this->request->post['config_display_brandp'])) { $this->data['config_display_brandp'] = $this->request->post['config_display_brandp']; } else { $this->data['config_display_brandp'] = $this->config->get('config_display_brandp'); } if (isset($this->request->post['config_display_rewardsp'])) { $this->data['config_display_rewardsp'] = $this->request->post['config_display_rewardsp']; } else { $this->data['config_display_rewardsp'] = $this->config->get('config_display_rewardsp'); } if (isset($this->request->post['config_display_location'])) { $this->data['config_display_location'] = $this->request->post['config_display_location']; } else { $this->data['config_display_location'] = $this->config->get('config_display_location'); } if (isset($this->request->post['config_display_locationp'])) { $this->data['config_display_locationp'] = $this->request->post['config_display_locationp']; } else { $this->data['config_display_locationp'] = $this->config->get('config_display_locationp'); } if (isset($this->request->post['config_display_listock'])) { $this->data['config_display_listock'] = $this->request->post['config_display_listock']; } else { $this->data['config_display_listock'] = $this->config->get('config_display_listock'); } if (isset($this->request->post['config_display_upc'])) { $this->data['config_display_upc'] = $this->request->post['config_display_upc']; } else { $this->data['config_display_upc'] = $this->config->get('config_display_upc'); } if (isset($this->request->post['config_display_upcp'])) { $this->data['config_display_upcp'] = $this->request->post['config_display_upcp']; } else { $this->data['config_display_upcp'] = $this->config->get('config_display_upcp'); } //end of product display options]]></add> </operation> </file> <file name="admin/view/template/setting/setting.tpl"> <operation> <search position="after"><![CDATA[<div id="tab-option">]]></search> <add><![CDATA[<table class="form"> <tr> <td>Бонусные баллы на страниэто товара?</td> <td><?php if ($config_display_rewardsp) { ?> <input type="radio" name="config_display_rewardsp" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_rewardsp" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_rewardsp" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_rewardsp" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>Вес на страниэто товара?</td> <td><?php if ($config_display_pweight) { ?> <input type="radio" name="config_display_pweight" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_pweight" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_pweight" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_pweight" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>SKU на страниэто товара?</td> <td><?php if ($config_display_sku) { ?> <input type="radio" name="config_display_sku" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_sku" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_sku" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_sku" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>SKU на страниэто категории?</td> <td><?php if ($config_display_skup) { ?> <input type="radio" name="config_display_skup" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_skup" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_skup" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_skup" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>Код товара на страниэто категории?</td> <td><?php if ($config_display_model) { ?> <input type="radio" name="config_display_model" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_model" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_model" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_model" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>Код товара на страниэто товара?</td> <td><?php if ($config_display_modelp) { ?> <input type="radio" name="config_display_modelp" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_modelp" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_modelp" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_modelp" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>Бренд на страниэто категории?</td> <td><?php if ($config_display_brand) { ?> <input type="radio" name="config_display_brand" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_brand" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_brand" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_brand" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>Бренд на страниэто товара?</td> <td><?php if ($config_display_brandp) { ?> <input type="radio" name="config_display_brandp" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_brandp" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_brandp" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_brandp" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>Гарантия на страниэто категории?</td> <td><?php if ($config_display_location) { ?> <input type="radio" name="config_display_location" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_location" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_location" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_location" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr><tr> <td>Гарантия на страниэто товара?</td> <td><?php if ($config_display_locationp) { ?> <input type="radio" name="config_display_locationp" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_locationp" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_locationp" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_locationp" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>UPC на страниэто категории?</td> <td><?php if ($config_display_upc) { ?> <input type="radio" name="config_display_upc" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_upc" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_upc" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_upc" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr><tr> <td>UPC на страниэто товара?</td> <td><?php if ($config_display_upcp) { ?> <input type="radio" name="config_display_upcp" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_upcp" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_upcp" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_upcp" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>Налилие товара на страниэто категории?</td> <td><?php if ($config_display_listock) { ?> <input type="radio" name="config_display_listock" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_listock" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_listock" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_listock" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr></table>]]></add> </operation> </file> <file name="catalog/controller/product/product.php"> <operation> <search position="after"><![CDATA[$this->data['points'] = $product_info['points'];]]></search> <add><![CDATA[//product display options $this->language->load('product/pds'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_weight'] = $this->language->get('pds_weight'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['sku'] = $product_info['sku']; $this->data['upc'] = $product_info['upc']; $this->data['location'] = $product_info['location']; if ($product_info['weight']) { $this->data['weight'] = $this->weight->format($product_info['weight'], $product_info['weight_class_id'], $this->language->get('decimal_point'), $this->language->get('thousand_point')); } else { $this->data['weight'] = ''; } ]]></add> </operation> </file> <file name="catalog/view/theme/*/template/product/product.tpl"> <operation> <search position="after"><![CDATA[<span><?php echo $text_model; ?></span> <?php echo $model; ?><br />]]></search> <add><![CDATA[<?php if ($this->config->get('config_display_skup') && $sku) { ?> <span><?php echo $pds_sku; ?> </span> <?php echo $sku; ?><br /> <?php } ?> <?php if ($this->config->get('config_display_upcp') && $upc) { ?> <span><?php echo $pds_upc; ?> </span> <?php echo $upc; ?><br /> <?php } ?> <?php if ($this->config->get('config_display_locationp') && $location) { ?> <span><?php echo $pds_location; ?> </span> <?php echo $location; ?><br /> <?php } ?> <?php if ($this->config->get('config_display_pweight') && $weight) { ?> <span><?php echo $pds_weight; ?> </span> <?php echo $weight; ?><br /> <?php } ?> ]]></add> </operation> <operation> <search position="replace"><![CDATA[<?php if ($manufacturer) { ?>]]></search> <add><![CDATA[<?php if ($this->config->get('config_display_brandp') && $manufacturer) { ?>]]></add> </operation> <operation> <search position="replace"><![CDATA[<?php if ($reward) { ?>]]></search> <add><![CDATA[<?php if ($this->config->get('config_display_rewardsp') && $reward) { ?>]]></add> </operation> <operation> <search position="replace"><![CDATA[<span><?php echo $text_model; ?></span> <?php echo $model; ?><br />]]></search> <add><![CDATA[<?php if ($this->config->get('config_display_modelp')) { ?> <span><?php echo $pds_model; ?></span> <?php echo $model; ?><br /> <?php } ?>]]></add> </operation> </file> <file name="catalog/controller/product/category.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }}]]></add> </operation> <operation> <search position="after"><![CDATA['name' => $result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->data['text_grid'] = $this->language->get('text_grid');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/controller/product/search.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }}]]></add> </operation> <operation> <search position="after"><![CDATA['name' => $result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->data['text_grid'] = $this->language->get('text_grid');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/controller/product/manufacturer.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }}]]></add> </operation> <operation> <search position="after"><![CDATA['name' => $result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->data['text_grid'] = $this->language->get('text_grid');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/controller/product/special.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }}]]></add> </operation> <operation> <search position="after"><![CDATA['name' => $result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->data['text_grid'] = $this->language->get('text_grid');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/view/theme/*/template/product/search.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: inline-block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> <operation> <search position="before"><![CDATA[html += ' <div class="name">' + $(element).find('.name').html() + '</div>';]]></search> <add><![CDATA[html += '<div class="extra" style="display: inline-block; color: #444; position: absolute; transform: translate(-165px, 195px); -webkit-transform: translate(-165px, 195px); -o-transform: translate(-165px, 195px); -moz-transform: translate(-165px, 195px); font-size: 14px;">' + $(element).find('.extra').html() + '</div>';]]></add> </operation> <operation> <search position="after"><![CDATA[html += '<div class="name">' + $(element).find('.name').html() + '</div>';]]></search> <add><![CDATA[html += '<div class="extra" style="display: inline-block; color: #444;">' + $(element).find('.extra').html() + '</div>';]]></add> </operation> </file> <file name="catalog/view/theme/*/template/product/category.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: inline-block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> <operation> <search position="before"><![CDATA[html += ' <div class="name">' + $(element).find('.name').html() + '</div>';]]></search> <add><![CDATA[html += '<div class="extra" style="display: inline-block; color: #444; position: absolute; transform: translate(-165px, 195px); -webkit-transform: translate(-165px, 195px); -o-transform: translate(-165px, 195px); -moz-transform: translate(-165px, 195px); font-size: 14px;">' + $(element).find('.extra').html() + '</div>';]]></add> </operation> <operation> <search position="after"><![CDATA[html += '<div class="name">' + $(element).find('.name').html() + '</div>';]]></search> <add><![CDATA[html += '<div class="extra" style="display: inline-block; color: #444;">' + $(element).find('.extra').html() + '</div>';]]></add> </operation> </file> <file name="catalog/view/theme/*/template/product/special.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: inline-block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> <operation> <search position="before"><![CDATA[html += ' <div class="name">' + $(element).find('.name').html() + '</div>';]]></search> <add><![CDATA[html += '<div class="extra" style="display: inline-block; color: #444; position: absolute; transform: translate(-165px, 195px); -webkit-transform: translate(-165px, 195px); -o-transform: translate(-165px, 195px); -moz-transform: translate(-165px, 195px); font-size: 14px;">' + $(element).find('.extra').html() + '</div>';]]></add> </operation> <operation> <search position="after"><![CDATA[html += '<div class="name">' + $(element).find('.name').html() + '</div>';]]></search> <add><![CDATA[html += '<div class="extra" style="display: inline-block; color: #444;">' + $(element).find('.extra').html() + '</div>';]]></add> </operation> </file> <file name="catalog/view/theme/*/template/product/manufacturer_info.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: inline-block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> <operation> <search position="before"><![CDATA[html += ' <div class="name">' + $(element).find('.name').html() + '</div>';]]></search> <add><![CDATA[html += '<div class="extra" style="display: inline-block; color: #444; position: absolute; transform: translate(-165px, 195px); -webkit-transform: translate(-165px, 195px); -o-transform: translate(-165px, 195px); -moz-transform: translate(-165px, 195px); font-size: 14px;">' + $(element).find('.extra').html() + '</div>';]]></add> </operation> <operation> <search position="after"><![CDATA[html += '<div class="name">' + $(element).find('.name').html() + '</div>';]]></search> <add><![CDATA[html += '<div class="extra" style="display: inline-block; color: #444;">' + $(element).find('.extra').html() + '</div>';]]></add> </operation> </file> <file name="catalog/controller/module/latest.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = "Stock: " . $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }]]></add> </operation> <operation> <search position="after"><![CDATA[$result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->language->load('module/latest');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/view/theme/*/template/module/latest.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> </file> <file name="catalog/controller/module/bestseller.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = "Stock: " . $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }]]></add> </operation> <operation> <search position="after"><![CDATA[$result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->language->load('module/bestseller');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/view/theme/*/template/module/bestseller.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> </file> <file name="catalog/controller/module/special.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = "Stock: " . $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }]]></add> </operation> <operation> <search position="after"><![CDATA[$result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->language->load('module/special');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/view/theme/*/template/module/special.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> </file> <file name="catalog/controller/module/featured.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($product_info['quantity'] <= 0) { $rstock = $product_info['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = "Stock: " . $product_info['quantity']; } else { $rstock = $this->language->get('pds_instock'); }]]></add> </operation> <operation> <search position="after"><![CDATA[$product_info['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $product_info['sku'], 'model' => $product_info['model'], 'brand' => $product_info['manufacturer'], 'location' => $product_info['location'], 'upc' => $product_info['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $product_info['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->language->load('module/featured');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/view/theme/*/template/module/featured.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> </file> <file name="catalog/controller/module/viewed.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($product_info['quantity'] <= 0) { $rstock = $product_info['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = "Stock: " . $product_info['quantity']; } else { $rstock = $this->language->get('pds_instock'); }]]></add> </operation> <operation> <search position="after"><![CDATA[$product_info['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $product_info['sku'], 'model' => $product_info['model'], 'brand' => $product_info['manufacturer'], 'location' => $product_info['location'], 'upc' => $product_info['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $product_info['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->language->load('module/viewed');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/view/theme/*/template/module/viewed.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> </file> <file name="catalog/controller/module/filterpro.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }}]]></add> </operation> <operation> <search position="after"><![CDATA['name' => $result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->data['text_grid'] = $this->language->get('text_grid');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/view/theme/*/template/module/filterpro_products.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: inline-block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> </file> </modification> vq2-catalog_controller_product_manufacturer.php Спойлер <?php class ControllerProductManufacturer extends Controller { public function index() { $this->language->load('product/manufacturer'); $this->load->model('catalog/manufacturer'); $this->load->model('tool/image'); $this->document->setTitle($this->language->get('heading_title')); $this->data['heading_title'] = $this->language->get('heading_title'); $this->data['text_index'] = $this->language->get('text_index'); $this->data['text_empty'] = $this->language->get('text_empty'); $this->data['button_continue'] = $this->language->get('button_continue'); $this->data['breadcrumbs'] = array(); $this->data['breadcrumbs'][] = array( 'text' => $this->language->get('text_home'), 'href' => $this->url->link('common/home'), 'separator' => false ); $this->data['breadcrumbs'][] = array( 'text' => $this->language->get('text_brand'), 'href' => $this->url->link('product/manufacturer'), 'separator' => $this->language->get('text_separator') ); $this->data['categories'] = array(); $results = $this->model_catalog_manufacturer->getManufacturers(); foreach ($results as $result) { if (is_numeric(utf8_substr($result['name'], 0, 1))) { $key = '0 - 9'; } else { $key = utf8_substr(utf8_strtoupper($result['name']), 0, 1); } if (!isset($this->data['manufacturers'][$key])) { $this->data['categories'][$key]['name'] = $key; } $this->data['categories'][$key]['manufacturer'][] = array( 'name' => $result['name'], // ManufacturerLogo 'logo' => $this->model_tool_image->resize($result['image'], 100, 100), // ManufacturerLogo end 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $result['manufacturer_id']) ); } $this->data['continue'] = $this->url->link('common/home'); if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/manufacturer_list.tpl')) { $this->template = $this->config->get('config_template') . '/template/product/manufacturer_list.tpl'; } else { $this->template = 'default/template/product/manufacturer_list.tpl'; } $this->children = array( 'common/column_left', 'common/column_right', 'common/content_top', 'common/content_bottom', 'common/footer', 'common/header' ); $this->response->setOutput($this->render()); } public function info() { $this->language->load('product/manufacturer'); $this->load->model('catalog/manufacturer'); $this->load->model('catalog/product'); $this->load->model('tool/image'); if (isset($this->request->get['manufacturer_id'])) { $manufacturer_id = (int)$this->request->get['manufacturer_id']; } else { $manufacturer_id = 0; } $filterpro_seo = false; $url_data = false; if(isset($this->request->get['filter_id'])) { $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "filterpro_seo WHERE `url`='" . $this->db->escape("filter_id=" . $this->request->get['filter_id']) . "'"); if($query->num_rows) { $filterpro_data = unserialize($query->row['data']); $filterpro_seo = $filterpro_data['lang'][(int)$this->config->get('config_language_id')]; parse_str(str_replace("&", "&", $filterpro_data['url']), $url_data); $url_data['filer_news'] = false; if (!isset($url_data['manufacturer_id']) || $url_data['manufacturer_id'] != $manufacturer_id) { $this->redirect($this->url->link('error/not_found')); } } } if (isset($this->request->get['sort'])) { $sort = $this->request->get['sort']; } else { $sort = 'p.sort_order'; } if (isset($this->request->get['order'])) { $order = $this->request->get['order']; } else { $order = 'ASC'; } if (isset($this->request->get['page'])) { $page = $this->request->get['page']; } else { $page = 1; } if (isset($this->request->get['limit'])) { $limit = $this->request->get['limit']; } else { $limit = $this->config->get('config_catalog_limit'); } $this->data['breadcrumbs'] = array(); $this->data['breadcrumbs'][] = array( 'text' => $this->language->get('text_home'), 'href' => $this->url->link('common/home'), 'separator' => false ); $this->data['breadcrumbs'][] = array( 'text' => $this->language->get('text_brand'), 'href' => $this->url->link('product/manufacturer'), 'separator' => $this->language->get('text_separator') ); $manufacturer_info = $this->model_catalog_manufacturer->getManufacturer($manufacturer_id); if ($manufacturer_info) { if ($manufacturer_info['seo_title']) { $this->document->setTitle($manufacturer_info['seo_title']); } else { $this->document->setTitle($manufacturer_info['name']); } $this->document->addScript('catalog/view/javascript/jquery/jquery.total-storage.min.js'); $this->document->setDescription($manufacturer_info['meta_description']); $this->document->setKeywords($manufacturer_info['meta_keyword']); $url = ''; if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['page'])) { $url .= '&page=' . $this->request->get['page']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['breadcrumbs'][] = array( 'text' => $manufacturer_info['name'], 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . $url), 'separator' => $this->language->get('text_separator') ); if ($manufacturer_info['seo_h1']) { $this->data['heading_title'] = $manufacturer_info['seo_h1']; } else { $this->data['heading_title'] = $manufacturer_info['name']; if($filterpro_seo) { $this->data['description'] = html_entity_decode($filterpro_seo['description'], ENT_QUOTES, 'UTF-8'); $this->data['heading_title'] = $filterpro_seo['h1']; $this->document->setTitle($filterpro_seo['title']); $this->document->setDescription($filterpro_seo['meta_description']); $this->document->setKeywords($filterpro_seo['meta_keywords']); } } $this->data['description'] = html_entity_decode($manufacturer_info['description'], ENT_QUOTES, 'UTF-8'); $this->data['text_empty'] = $this->language->get('text_empty'); $this->data['text_quantity'] = $this->language->get('text_quantity'); $this->data['text_manufacturer'] = $this->language->get('text_manufacturer'); $this->data['text_model'] = $this->language->get('text_model'); $this->data['text_price'] = $this->language->get('text_price'); $this->data['text_tax'] = $this->language->get('text_tax'); $this->data['text_points'] = $this->language->get('text_points'); $this->data['text_compare'] = sprintf($this->language->get('text_compare'), (isset($this->session->data['compare']) ? count($this->session->data['compare']) : 0)); $this->data['text_display'] = $this->language->get('text_display'); $this->data['text_list'] = $this->language->get('text_list'); $this->data['text_grid'] = $this->language->get('text_grid'); $this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock'); $this->data['text_sort'] = $this->language->get('text_sort'); $this->data['text_limit'] = $this->language->get('text_limit'); $this->data['button_cart'] = $this->language->get('button_cart'); $this->data['button_out_of_stock'] = $this->language->get('button_out_of_stock'); $this->data['button_wishlist'] = $this->language->get('button_wishlist'); $this->data['button_compare'] = $this->language->get('button_compare'); $this->data['button_continue'] = $this->language->get('button_continue'); $this->data['compare'] = $this->url->link('product/compare'); $this->data['products'] = array(); $data = array( 'filter_manufacturer_id' => $manufacturer_id, 'sort' => $sort, 'order' => $order, 'start' => ($page - 1) * $limit, 'limit' => $limit ); if($url_data) { $get = $this->request->get; unset($get['route']); unset($get['filter_id']); $this->request->get['filter_redirect'] = $this->url->link('product/category', http_build_query($get)); $this->request->post = $url_data; $this->load->model('module/filterpro'); list($f1, $f2, $f3, $f4, $f5, $f5, $f6, $url_data) = $this->model_module_filterpro->getData(); $url_data['filer_news'] = false; $product_total = $this->model_module_filterpro->getTotalProducts($url_data); $results = $this->model_module_filterpro->getProducts($url_data); } else { $product_total = $this->model_catalog_product->getTotalProducts($data); $results = $this->model_catalog_product->getProducts($data); } //Вызов метода getFoundProducts должен проводится сразу же после getProducts //только тогда он выдает правильное значения когдачества товаров //$product_total = $this->model_catalog_product->getTotalProducts($data); foreach ($results as $result) { if ($result['image']) { $image = $this->model_tool_image->resize($result['image'], $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')); } else { $image = false; } if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { $price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax'))); } else { $price = false; } if ((float)$result['special']) { $special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax'))); } else { $special = false; } if ($this->config->get('config_tax')) { $tax = $this->currency->format((float)$result['special'] ? $result['special'] : $result['price']); } else { $tax = false; } if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }} if ($this->config->get('config_review_status')) { $rating = (int)$result['rating']; } else { $rating = false; } // module attribute to text $options = $this->config->get('attribute_to_text_options'); if (isset($options['show_catalog_attributes'])) { $this->load->model('catalog/attributes_to_text'); $description = $this->model_catalog_attributes_to_text->getText($result['product_id'], $options); if (empty($description) || $description == '<span class="attributes-text"></span>') { $description = utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 300) . '..'; } } else { $description = utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 300) . '..'; } $this->data['products'][] = array( 'promotion' => $result['promotions']['category'], 'statuses' => $result['statuses']['category'], 'stickers' => $result['statuses']['category_stickers'], 'product_id' => $result['product_id'], 'quantity' => $result['quantity'], 'stock' => $result['stock_status'], 'thumb' => $image, 'name' => $result['name'], //produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds 'description' => $description, 'price' => $price, 'special' => $special, 'tax' => $tax, 'rating' => $result['rating'], 'reviews' => sprintf($this->language->get('text_reviews'), (int)$result['reviews']), 'href' => $this->url->link('product/product', '&manufacturer_id=' . $result['manufacturer_id'] . '&product_id=' . $result['product_id'] . $url) ); } $url = ''; if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['sorts'] = array(); $this->data['sorts'][] = array( 'text' => $this->language->get('text_default'), 'value' => 'p.sort_order-ASC', 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=p.sort_order&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_name_asc'), 'value' => 'pd.name-ASC', 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=pd.name&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_name_desc'), 'value' => 'pd.name-DESC', 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=pd.name&order=DESC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_price_asc'), 'value' => 'p.price-ASC', 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=p.price&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_price_desc'), 'value' => 'p.price-DESC', 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=p.price&order=DESC' . $url) ); if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }} if ($this->config->get('config_review_status')) { $this->data['sorts'][] = array( 'text' => $this->language->get('text_rating_desc'), 'value' => 'rating-DESC', 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=rating&order=DESC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_rating_asc'), 'value' => 'rating-ASC', 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=rating&order=ASC' . $url) ); } $this->data['sorts'][] = array( 'text' => $this->language->get('text_model_asc'), 'value' => 'p.model-ASC', 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=p.model&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_model_desc'), 'value' => 'p.model-DESC', 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=p.model&order=DESC' . $url) ); $url = ''; if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } $this->data['limits'] = array(); $limits = array_unique(array($this->config->get('config_catalog_limit'), 25, 50, 75, 100)); sort($limits); foreach($limits as $value){ $this->data['limits'][] = array( 'text' => $value, 'value' => $value, 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . $url . '&limit=' . $value) ); } $url = ''; if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $pagination = new Pagination(); $pagination->total = $product_total; $pagination->page = $page; $pagination->limit = $limit; $pagination->text = $this->language->get('text_pagination'); $pagination->url = $this->url->link('product/manufacturer/info','manufacturer_id=' . $this->request->get['manufacturer_id'] . $url . '&page={page}'); $this->data['pagination'] = $pagination->render(); $this->data['sort'] = $sort; $this->data['order'] = $order; $this->data['limit'] = $limit; $this->data['continue'] = $this->url->link('common/home'); if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/manufacturer_info.tpl')) { $this->template = $this->config->get('config_template') . '/template/product/manufacturer_info.tpl'; } else { $this->template = 'default/template/product/manufacturer_info.tpl'; } $this->children = array( 'common/column_left', 'common/column_right', 'common/content_top', 'common/content_bottom', 'common/footer', 'common/header' ); $this->response->setOutput($this->render()); } else { $url = ''; if (isset($this->request->get['manufacturer_id'])) { $url .= '&manufacturer_id=' . $this->request->get['manufacturer_id']; } if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['page'])) { $url .= '&page=' . $this->request->get['page']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['breadcrumbs'][] = array( 'text' => $this->language->get('text_error'), 'href' => $this->url->link('product/category', $url), 'separator' => $this->language->get('text_separator') ); $this->document->setTitle($this->language->get('text_error')); $this->data['heading_title'] = $this->language->get('text_error'); $this->data['text_error'] = $this->language->get('text_error'); $this->data['button_continue'] = $this->language->get('button_continue'); $this->data['continue'] = $this->url->link('common/home'); if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/error/not_found.tpl')) { $this->template = $this->config->get('config_template') . '/template/error/not_found.tpl'; } else { $this->template = 'default/template/error/not_found.tpl'; } $this->children = array( 'common/column_left', 'common/column_right', 'common/content_top', 'common/content_bottom', 'common/footer', 'common/header' ); $this->response->setOutput($this->render()); } } } ?> vq2-catalog_controller_product_category.php Спойлер <?php class ControllerProductCategory extends Controller { public function index() { $this->language->load('product/category'); $this->load->model('catalog/category'); $this->load->model('catalog/product'); $this->load->model('tool/image'); if (isset($this->request->get['filter'])) { $filter = $this->request->get['filter']; } else { $filter = ''; } if (isset($this->request->get['sort'])) { $sort = $this->request->get['sort']; } else { $sort = 'p.sort_order'; } if (isset($this->request->get['order'])) { $order = $this->request->get['order']; } else { $order = 'ASC'; } if (isset($this->request->get['page'])) { $page = $this->request->get['page']; } else { $page = 1; } if (isset($this->request->get['limit'])) { $limit = $this->request->get['limit']; } else { $limit = $this->config->get('config_catalog_limit'); } $this->data['breadcrumbs'] = array(); $this->data['breadcrumbs'][] = array( 'text' => $this->language->get('text_home'), 'href' => $this->url->link('common/home'), 'separator' => false ); if (isset($this->request->get['path'])) { $url = ''; if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $path = ''; $parts = explode('_', (string)$this->request->get['path']); $category_id = (int)array_pop($parts); foreach ($parts as $path_id) { if (!$path) { $path = (int)$path_id; } else { $path .= '_' . (int)$path_id; } $category_info = $this->model_catalog_category->getCategory($path_id); if ($category_info) { $this->data['breadcrumbs'][] = array( 'text' => $category_info['name'], 'href' => $this->url->link('product/category', 'path=' . $path . $url), 'separator' => $this->language->get('text_separator') ); } } } else { $category_id = 0; } $filterpro_seo = false; $url_data = false; if(isset($this->request->get['filter_id'])) { $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "filterpro_seo WHERE `url`='" . $this->db->escape("filter_id=" . $this->request->get['filter_id']) . "'"); if($query->num_rows) { $filterpro_data = unserialize($query->row['data']); $filterpro_seo = $filterpro_data['lang'][(int)$this->config->get('config_language_id')]; parse_str(str_replace("&", "&", $filterpro_data['url']), $url_data); $url_data['filer_news'] = false; if(!isset($url_data['category_id']) || $url_data['category_id'] != $category_id) { $this->redirect($this->url->link('error/not_found')); } } } $category_info = $this->model_catalog_category->getCategory($category_id); if ($category_info) { if ($category_info['seo_title']) { $this->document->setTitle($category_info['seo_title']); } else { $this->document->setTitle($category_info['name']); } $this->document->setDescription($category_info['meta_description']); $this->document->setKeywords($category_info['meta_keyword']); $this->document->addScript('catalog/view/javascript/jquery/jquery.total-storage.min.js'); if ($category_info['seo_h1']) { $this->data['heading_title'] = $category_info['seo_h1']; } else { $this->data['heading_title'] = $category_info['name']; } $this->data['text_refine'] = $this->language->get('text_refine'); $this->data['text_empty'] = $this->language->get('text_empty'); $this->data['text_quantity'] = $this->language->get('text_quantity'); $this->data['text_manufacturer'] = $this->language->get('text_manufacturer'); $this->data['text_model'] = $this->language->get('text_model'); $this->data['text_price'] = $this->language->get('text_price'); $this->data['text_tax'] = $this->language->get('text_tax'); $this->data['text_points'] = $this->language->get('text_points'); $this->data['text_compare'] = sprintf($this->language->get('text_compare'), (isset($this->session->data['compare']) ? count($this->session->data['compare']) : 0)); $this->data['text_display'] = $this->language->get('text_display'); $this->data['text_list'] = $this->language->get('text_list'); $this->data['text_grid'] = $this->language->get('text_grid'); $this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock'); $this->data['text_sort'] = $this->language->get('text_sort'); $this->data['text_limit'] = $this->language->get('text_limit'); $this->data['button_cart'] = $this->language->get('button_cart'); $this->data['button_out_of_stock'] = $this->language->get('button_out_of_stock'); $this->data['button_wishlist'] = $this->language->get('button_wishlist'); $this->data['button_compare'] = $this->language->get('button_compare'); $this->data['button_continue'] = $this->language->get('button_continue'); // Set the last category breadcrumb $url = ''; if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['page'])) { $url .= '&page=' . $this->request->get['page']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['breadcrumbs'][] = array( 'text' => $category_info['name'], 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path']), 'separator' => $this->language->get('text_separator') ); if ($category_info['image']) { $this->data['thumb'] = $this->model_tool_image->resize($category_info['image'], $this->config->get('config_image_category_width'), $this->config->get('config_image_category_height')); $this->document->setOgImage($this->data['thumb']); } else { $this->data['thumb'] = ''; } $this->data['description'] = html_entity_decode($category_info['description'], ENT_QUOTES, 'UTF-8'); if($filterpro_seo) { $this->data['description'] = html_entity_decode($filterpro_seo['description'], ENT_QUOTES, 'UTF-8'); $this->data['heading_title'] = $filterpro_seo['h1']; $this->document->setTitle($filterpro_seo['title']); $this->document->setDescription($filterpro_seo['meta_description']); $this->document->setKeywords($filterpro_seo['meta_keywords']); } $this->data['compare'] = $this->url->link('product/compare'); $url = ''; if (isset($this->request->get['filter'])) { $url .= '&filter=' . $this->request->get['filter']; } if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['categories'] = array(); $results = $this->model_catalog_category->getCategories($category_id); foreach ($results as $result) { $data = array( 'filter_category_id' => $result['category_id'], 'filter_sub_category' => true ); $product_total = $this->model_catalog_product->getTotalProducts($data); $this->data['categories'][] = array( 'name' => $result['name'] . ($this->config->get('config_product_count') ? ' (' . $product_total . ')' : ''), 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '_' . $result['category_id'] . $url), 'thumb' => $this->model_tool_image->resize(($result['image']=='' ? 'no_image.jpg' : $result['image']), $this->config->get('config_image_category_width'), $this->config->get('config_image_category_height')) ); } $this->data['products'] = array(); $data = array( 'filter_category_id' => $category_id, 'filter_filter' => $filter, 'sort' => $sort, 'order' => $order, 'start' => ($page - 1) * $limit, 'limit' => $limit ); if($url_data) { $get = $this->request->get; unset($get['route']); unset($get['filter_id']); $this->request->get['filter_redirect'] = $this->url->link('product/category', http_build_query($get)); $this->request->post = $url_data; $this->load->model('module/filterpro'); list($f1, $f2, $f3, $f4, $f5, $f5, $f6, $url_data) = $this->model_module_filterpro->getData(); $url_data['filer_news'] = false; $product_total = $this->model_module_filterpro->getTotalProducts($url_data); $results = $this->model_module_filterpro->getProducts($url_data); } else { $product_total = $this->model_catalog_product->getTotalProducts($data); $results = $this->model_catalog_product->getProducts($data); } //Вызов метода getFoundProducts должен проводится сразу же после getProducts //только тогда он выдает правильное значения когдачества товаров //$product_total = $this->model_catalog_product->getTotalProducts($data); foreach ($results as $result) { if ($result['image']) { $image = $this->model_tool_image->resize($result['image'], $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')); } else { $image = $this->model_tool_image->resize('no_image.jpg', $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')); } if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { $price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax'))); } else { $price = false; } if ((float)$result['special']) { $special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax'))); } else { $special = false; } if ($this->config->get('config_tax')) { $tax = $this->currency->format((float)$result['special'] ? $result['special'] : $result['price']); } else { $tax = false; } if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }} if ($this->config->get('config_review_status')) { $rating = (int)$result['rating']; } else { $rating = false; } // module attribute to text $options = $this->config->get('attribute_to_text_options'); if (isset($options['show_catalog_attributes'])) { $this->load->model('catalog/attributes_to_text'); $description = $this->model_catalog_attributes_to_text->getText($result['product_id'], $options); if (empty($description) || $description == '<span class="attributes-text"></span>') { $description = utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 300) . '..'; } } else { $description = utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 300) . '..'; } $this->data['products'][] = array( 'promotion' => $result['promotions']['category'], 'statuses' => $result['statuses']['category'], 'stickers' => $result['statuses']['category_stickers'], 'product_id' => $result['product_id'], 'quantity' => $result['quantity'], 'stock' => $result['stock_status'], 'thumb' => $image, 'name' => $result['name'], //produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds 'description' => $description, 'price' => $price, 'special' => $special, 'tax' => $tax, 'rating' => $result['rating'], 'reviews' => sprintf($this->language->get('text_reviews'), (int)$result['reviews']), 'href' => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id'] . $url) ); } $url = ''; if (isset($this->request->get['filter'])) { $url .= '&filter=' . $this->request->get['filter']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['sorts'] = array(); $this->data['sorts'][] = array( 'text' => $this->language->get('text_default'), 'value' => 'p.sort_order-ASC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.sort_order&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_name_asc'), 'value' => 'pd.name-ASC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=pd.name&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_name_desc'), 'value' => 'pd.name-DESC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=pd.name&order=DESC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_price_asc'), 'value' => 'p.price-ASC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.price&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_price_desc'), 'value' => 'p.price-DESC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.price&order=DESC' . $url) ); if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }} if ($this->config->get('config_review_status')) { $this->data['sorts'][] = array( 'text' => $this->language->get('text_rating_desc'), 'value' => 'rating-DESC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=rating&order=DESC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_rating_asc'), 'value' => 'rating-ASC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=rating&order=ASC' . $url) ); } $this->data['sorts'][] = array( 'text' => $this->language->get('text_model_asc'), 'value' => 'p.model-ASC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.model&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_model_desc'), 'value' => 'p.model-DESC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.model&order=DESC' . $url) ); $url = ''; if (isset($this->request->get['filter'])) { $url .= '&filter=' . $this->request->get['filter']; } if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } $this->data['limits'] = array(); $limits = array_unique(array($this->config->get('config_catalog_limit'), 25, 50, 75, 100)); sort($limits); foreach($limits as $value){ $this->data['limits'][] = array( 'text' => $value, 'value' => $value, 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . $url . '&limit=' . $value) ); } $url = ''; if (isset($this->request->get['filter'])) { $url .= '&filter=' . $this->request->get['filter']; } if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $pagination = new Pagination(); $pagination->total = $product_total; $pagination->page = $page; $pagination->limit = $limit; $pagination->text = $this->language->get('text_pagination'); $pagination->url = $this->url->link('product/category', 'path=' . $this->request->get['path'] . $url . '&page={page}'); $this->data['pagination'] = $pagination->render(); $this->data['sort'] = $sort; $this->data['order'] = $order; $this->data['limit'] = $limit; $this->data['continue'] = $this->url->link('common/home'); if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/category.tpl')) { $this->template = $this->config->get('config_template') . '/template/product/category.tpl'; } else { $this->template = 'default/template/product/category.tpl'; } $this->children = array( 'common/column_left', 'common/column_right', 'common/content_top', 'common/content_bottom', 'common/footer', 'common/header' ); $this->response->setOutput($this->render()); } else { $url = ''; if (isset($this->request->get['path'])) { $url .= '&path=' . $this->request->get['path']; } if (isset($this->request->get['filter'])) { $url .= '&filter=' . $this->request->get['filter']; } if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['page'])) { $url .= '&page=' . $this->request->get['page']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['breadcrumbs'][] = array( 'text' => $this->language->get('text_error'), 'href' => $this->url->link('product/category', $url), 'separator' => $this->language->get('text_separator') ); $this->document->setTitle($this->language->get('text_error')); $this->data['heading_title'] = $this->language->get('text_error'); $this->data['text_error'] = $this->language->get('text_error'); $this->data['button_continue'] = $this->language->get('button_continue'); $this->data['continue'] = $this->url->link('common/home'); if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/error/not_found.tpl')) { $this->template = $this->config->get('config_template') . '/template/error/not_found.tpl'; } else { $this->template = 'default/template/error/not_found.tpl'; } $this->children = array( 'common/column_left', 'common/column_right', 'common/content_top', 'common/content_bottom', 'common/footer', 'common/header' ); $this->response->setOutput($this->render()); } } } ?> Что заметил. Системные ошибки, связанные с "Product Display Settings", периодически начали появляться после того, как добавился файл "product_statuses.xml" нового модуля "Ситусы Товара PRO Speed, автоситусы, стикеры, текстовые ситусы". Видно им тесно вдвоём ) Link to comment Share on other sites More sharing options... Prev 271 272 273 274 275 276 277 278 279 Next Page 276 of 279 Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 61 Go to topic listing Similar Content filterpro filter Pro By freelancer, June 23, 2012 фильтр filter 2 comments 287,420 views vladplot April 28, 2017 Mega Filter PLUS [powered by Mega Filter PRO][2.x, 3.x] [Подгдержка] 1 2 3 4 56 By OCMegaExtensions, March 27, 2017 mega filter plus filter plus (and 8 more) Tagged with: mega filter plus filter plus mega filter manufacturers filter seo filter filter seo filter brands filter price filter categories filter 1,397 replies 156,366 views FreemanMike February 21 filter Фильтр товаров Dream Filter [Подгдержка] 1 2 3 4 55 By reDream, May 18, 2017 фильтр redream (and 2 more) Tagged with: фильтр redream фильтр товаров фильтрация 1,356 replies 130,150 views reDream March 10 [Подгдержка] Custom templates Pro By halfhope, June 20, 2021 персонализованные шалпотому чтоны custom templates (and 2 more) Tagged with: персонализованные шалпотому чтоны custom templates шаблон для категории шаблон для товара 6 replies 527 views igorfelix March 16 Модуль Акции, Подарки PRO [Подгдержка] 1 2 3 4 9 By sv2109, February 10, 2016 акция акции (and 7 more) Tagged with: акция акции подарки подарок товар категория корзина продажа продажи 203 replies 22,872 views sv2109 Tuesday at 02:13 PM Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Подгдержка и ответы на вопросы Модули и дополнения Filters filter Pro [Подгдержка]
pahanmcs Posted April 22, 2019 Share Posted April 22, 2019 1 час назад, freelancer сказал: @pahanmcs всивьте в сам шаблон filterpro_products.tpl @freelancer, всивлял конечно, в когде появляется скрипт, но не в этом гдело, почему-то именно с вашим фильтром не хочет рилиить в паре. при замене замене конструкции <a class="opening2" href="javscript://">+</a> на <span class="opening2">+</span> все равно в категории с фильтром не рилииет, в осильных рилииет может ли быть конфликт подключаемых библиотек? Link to comment Share on other sites More sharing options...
Ohrikon Posted April 23, 2019 Share Posted April 23, 2019 Добрый гдень Freelancer. Я оплатил за модуль filter pro случайно ошибся с версией мне нужно для Ocstore 2.3 Пожалуйси дайте релиз для версии 2.3 . На какой домен он бугдет усиновлен я писал вам в ЛС . Пожалуйси помогите с нужной версией. Link to comment Share on other sites More sharing options...
freelancer Posted April 25, 2019 Author Share Posted April 25, 2019 @pahanmcs ггде можно увигдеть то, что вы гделаете? Link to comment Share on other sites More sharing options... pahanmcs Posted April 25, 2019 Share Posted April 25, 2019 5 часов назад, freelancer сказал: @pahanmcs ггде можно увигдеть то, что вы гделаете? я уже решил проблему: изменил скрипт, ик как фильтр перерисовывает согдержимое и теряются обрилитлики событий. Link to comment Share on other sites More sharing options... serg34 Posted April 26, 2019 Share Posted April 26, 2019 Здравствуйте! Подскажите в чем может быть проблема. На версии 2.4 сео настройка рилииет нормально, сивлю версию v2.5.17.6_beta (speed), корректно не рилииет. Переходит только на сам атрибут, а меи-теги не отображает. Link to comment Share on other sites More sharing options... 2 weeks later... qweezz Posted May 5, 2019 Share Posted May 5, 2019 Здравствуйте В фильтре можно сортировать порядок вывода атрибутов? У нас все атрибуты в одной группе атрибутов: 1 2 3 4 Надо чтобы на страниэто сайи в фильтре порядок был другой, например 2 4 3 Link to comment Share on other sites More sharing options... freelancer Posted May 8, 2019 Author Share Posted May 8, 2019 @qweezz тут есть про сортировки для разных версий Link to comment Share on other sites More sharing options... promikes Posted May 13, 2019 Share Posted May 13, 2019 Добрый гдень! Столкнулся с проблемой, покупал лиэтонзию Вашего фильтра еещё лет 5 назад. Вот сейчас гделаем переход на https, т.к. уже требуют все рекламные площадки, и после перехода у нас ion_cube соответственно не пропускает наш сайт, т.к. слииет, что мы пыиемся дублировать лиэтонзию. Написал в ЛС, сюда дублирую, т.к. кейс может быть интересен другим пользователям, полагаю. Link to comment Share on other sites More sharing options... 2 weeks later... thecatus Posted May 27, 2019 Share Posted May 27, 2019 @freelancer, здравствуйте, прошу ответить на личное сообещёние от 21.05. по вопросу подгдержки модуля Link to comment Share on other sites More sharing options... 4 weeks later... Zapuzin Posted June 19, 2019 Share Posted June 19, 2019 (edited) В 13.05.2019 в 13:23, promikes сказал: Вот сейчас гделаем переход на https, т.к. уже требуют все рекламные площадки... Тоже в проэтоссе перехода на https. Вопрос о лиэтонзии данного модуля "filterpro v2.4.4(seo)" и "SeoGen 4.1" очень актунон! Без ясности данного вопроса переходить не хочется ) С осильными авторами модулей в проэтоссе выяснения. freelancer, написАл в ЛС Edited June 19, 2019 by Zapuzin Link to comment Share on other sites More sharing options... Zapuzin Posted June 20, 2019 Share Posted June 20, 2019 (edited) Не дождался отвеи и перешёл на https. Все лиэтонзионные модули, в том лисле и данные, рилииют как и рилиили. Проблем не обнаружил ) По осильным модулям был спокоен, ик как разрилитлики вышли на связь и подтвердили, что от перехода с http на https лиэтонзия сохраняется. freelancer, уже не актуально. Edited June 20, 2019 by Zapuzin Link to comment Share on other sites More sharing options... 4 weeks later... Zapuzin Posted July 14, 2019 Share Posted July 14, 2019 (edited) filterpro_v2.4.4(seo) (29.02.2016, #433262) ocStore-1.5.5.1.2 Усиновлен Product Display Settings vqmod В этолом этот модуль с фильтром подружил, осилась только одна проблемка. Вот её никак не могу самостоятельно попотому чтороть ) Если товара нет в налилии, то "Налилие" отображается правильно, на том языке, который выбран на сайте. Если товар есть в налилии, то "Налилие" отображается неправильно - "pds_instock". Вот скрины для наглядности: Налилие без фильтра: Налилие с фильтром: "catalog/controller/product/category.php" из файла "product-display-settings.xml": Спойлер <file name="catalog/controller/product/category.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }}]]></add> </operation> <operation> <search position="after"><![CDATA['name' => $result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->data['text_grid'] = $this->language->get('text_grid');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> "catalog/controller/module/filterpro.php" из файла "product-display-settings.xml": Спойлер <file name="catalog/controller/module/filterpro.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }}]]></add> </operation> <operation> <search position="after"><![CDATA['name' => $result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->data['text_grid'] = $this->language->get('text_grid');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> Вот языковой файл "catalog/language/russian/product/pds.php": Спойлер <?php $_['pds_model'] = 'Код товара:'; $_['pds_sku'] = 'Страна производитель:'; $_['pds_brand'] = 'Бренд:'; $_['pds_upc'] = 'UPC:'; $_['pds_location'] = 'Гарантия:'; $_['pds_stock'] = 'Налилие:'; $_['pds_instock'] = 'В налилии:'; $_['pds_weight'] = 'Вес:'; ?> " vq2-catalog_controller_module_filterpro.php" Спойлер <?php class ControllerModuleFilterPro extends Controller { protected function index($setting) { if($setting['type'] == 1) { $this->language->load('product/filter'); $this->data['text_display'] = $this->language->get('text_display'); $this->data['text_list'] = $this->language->get('text_list'); $this->data['text_grid'] = $this->language->get('text_grid'); $this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock'); $this->data['text_sort'] = $this->language->get('text_sort'); $this->data['text_limit'] = $this->language->get('text_limit'); $sort = 'p.sort_order'; $order = 'ASC'; $limit = $this->config->get('config_catalog_limit'); $url = ''; if(isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['sorts'] = array(); $this->data['sorts'][] = array( 'text' => $this->language->get('text_default'), 'value' => 'p.sort_order-ASC', 'href' => $this->url->link('product/filter', 'sort=p.sort_order&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_name_asc'), 'value' => 'pd.name-ASC', 'href' => $this->url->link('product/filter', 'sort=pd.name&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_name_desc'), 'value' => 'pd.name-DESC', 'href' => $this->url->link('product/filter', 'sort=pd.name&order=DESC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_price_asc'), 'value' => 'p.price-ASC', 'href' => $this->url->link('product/filter', 'sort=p.price&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_price_desc'), 'value' => 'p.price-DESC', 'href' => $this->url->link('product/filter', 'sort=p.price&order=DESC' . $url) ); if($this->config->get('config_review_status')) { $this->data['sorts'][] = array( 'text' => $this->language->get('text_rating_desc'), 'value' => 'rating-DESC', 'href' => $this->url->link('product/filter', 'sort=rating&order=DESC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_rating_asc'), 'value' => 'rating-ASC', 'href' => $this->url->link('product/filter', 'sort=rating&order=ASC' . $url) ); } $this->data['sorts'][] = array( 'text' => $this->language->get('text_model_asc'), 'value' => 'p.model-ASC', 'href' => $this->url->link('product/filter', 'sort=p.model&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_model_desc'), 'value' => 'p.model-DESC', 'href' => $this->url->link('product/filter', 'sort=p.model&order=DESC' . $url) ); $url = ''; if(isset($this->request->get['sort'])) { $url .= 'sort=' . $this->request->get['sort']; } if(isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } $this->data['limits'] = array(); $this->data['limits'][] = array( 'text' => $this->config->get('config_catalog_limit'), 'value' => $this->config->get('config_catalog_limit'), 'href' => $this->url->link('product/filter', $url . '&limit=' . $this->config->get('config_catalog_limit')) ); $this->data['limits'][] = array( 'text' => 25, 'value' => 25, 'href' => $this->url->link('product/filter', $url . '&limit=25') ); $this->data['limits'][] = array( 'text' => 50, 'value' => 50, 'href' => $this->url->link('product/filter', $url . '&limit=50') ); $this->data['limits'][] = array( 'text' => 75, 'value' => 75, 'href' => $this->url->link('product/filter', $url . '&limit=75') ); $this->data['limits'][] = array( 'text' => 100, 'value' => 100, 'href' => $this->url->link('product/filter', $url . '&limit=100') ); $this->data['sort'] = $sort; $this->data['order'] = $order; $this->data['limit'] = $limit; $this->document->addScript('catalog/view/javascript/jquery/jquery.total-storage.min.js'); $this->data += $this->language->load('product/category'); $this->data['text_compare'] = sprintf($this->language->get('text_compare'), (isset($this->session->data['compare']) ? count($this->session->data['compare']) : 0)); if(file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/filterpro_container.tpl')) { $this->template = $this->config->get('config_template') . '/template/module/filterpro_container.tpl'; } else { $this->template = 'default/template/module/filterpro_container.tpl'; } } else { $this->language->load('module/filterpro'); if (isset($this->request->get['sort'])) { $sort = $this->request->get['sort']; } else { $sort = 'p.sort_order'; } if (isset($this->request->get['order'])) { $order = $this->request->get['order']; } else { $order = 'ASC'; } if (isset($this->request->get['page'])) { $page = $this->request->get['page']; } else { $page = 1; } if (isset($this->request->get['limit'])) { $limit = $this->request->get['limit']; } else { $limit = $this->config->get('config_catalog_limit'); } $this->data['sort'] = $sort; $this->data['order'] = $order; $this->data['page'] = $page; $this->data['limit'] = $limit; $this->data['text_tax'] = $this->language->get('text_tax'); $this->data['button_cart'] = $this->language->get('button_cart'); $this->data['button_out_of_stock'] = $this->language->get('button_out_of_stock'); $this->data['button_wishlist'] = $this->language->get('button_wishlist'); $this->data['button_compare'] = $this->language->get('button_compare'); $this->data['text_price_range'] = $this->language->get('text_price_range'); $this->data['text_manufacturers'] = $this->language->get('text_manufacturers'); $this->data['text_tags'] = $this->language->get('text_tags'); $this->data['text_categories'] = $this->language->get('text_categories'); $this->data['text_attributes'] = $this->language->get('text_attributes'); $this->data['text_all'] = $this->language->get('text_all'); $this->data['clear_filter'] = $this->language->get('clear_filter'); $this->data['text_instock'] = $this->language->get('text_instock'); $this->data['text_filer_special'] = $this->language->get('text_filer_special'); $this->data['text_filer_news'] = $this->language->get('text_filer_news'); $this->data['text_show_filer_special'] = $this->language->get('text_show_filer_special'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock'); $this->data['symbol_right'] = $this->currency->getSymbolRight(); $this->data['symbol_left'] = $this->currency->getSymbolLeft(); $this->data['setting'] = $setting; if(VERSION == '1.5.0') { $filterpro_setting = unserialize($this->config->get('filterpro_setting')); } else { $filterpro_setting = $this->config->get('filterpro_setting'); } $this->data['text_show_filer_news'] = sprintf($this->language->get('text_show_filer_news'), $filterpro_setting['news_days']); $this->data['heading_title'] = $filterpro_setting['filterpro_name']; $this->data['heading_title'] = $this->language->get('heading_title'); $is_special = isset($this->request->get['route']) && $this->request->get['route'] == "product/special"; $is_bydate = isset($this->request->get['route']) && $this->request->get['route'] == "product/productsbydate"; $category_id = false; $this->data['path'] = ""; if(isset($this->request->get['path'])) { $this->data['path'] = $this->request->get['path']; $parts = explode('_', (string)$this->request->get['path']); $category_id = array_pop($parts); } $manufacturer_id = false; if(isset($this->request->get['manufacturer_id'])) { $manufacturer_id = $this->request->get['manufacturer_id']; $data = array( 'filter_manufacturer_id' => $this->request->get['manufacturer_id'] ); } else { $data = array( 'filter_category_id' => $category_id, 'filter_sub_category' => isset($filterpro_setting['subcategories']) ); } $this->load->model('catalog/product'); $product_total = $this->model_catalog_product->getTotalProducts($data); if($product_total < 2) { return; } $this->data['category_id'] = $category_id; $data = array('category_id' => $category_id, 'manufacturer_id' => $manufacturer_id, 'special' => $is_special, 'by_date' => $is_bydate,); $this->load->model('module/filterpro'); $this->data['manufacturers'] = false; if(isset($this->request->get['manufacturer_id'])) { $this->data['manufacturer_id'] = $this->request->get['manufacturer_id']; } else { if($filterpro_setting['display_manufacturer'] != 'none') { $this->data['manufacturers'] = $this->model_module_filterpro->getManufacturers($data); $this->data['display_manufacturer'] = $filterpro_setting['display_manufacturer']; $this->data['expanded_manufacturer'] = isset($filterpro_setting['expanded_manufacturer']) ? 1 : 0; } } $this->data['options'] = $this->model_module_filterpro->getOptions($data); $this->load->model('tool/image'); foreach($this->data['options'] as $i => $option) { if(!isset($filterpro_setting['display_option_' . $option['option_id']])) { $filterpro_setting['display_option_' . $option['option_id']] = 'none'; } $display_option = $filterpro_setting['display_option_' . $option['option_id']]; if($display_option != 'none') { $this->data['options'][$i]['display'] = $display_option; $this->data['options'][$i]['expanded'] = isset($filterpro_setting['expanded_option_' . $option['option_id']]) ? 1 : 0; foreach($this->data['options'][$i]['option_values'] as $j => $option_value) { $this->data['options'][$i]['option_values'][$j]['thumb'] = $this->model_tool_image->resize($this->data['options'][$i]['option_values'][$j]['image'], (int)$filterpro_setting['option_images_w'], (int)$filterpro_setting['option_images_h']); } } else { unset($this->data['options'][$i]); } } $this->data['tags'] = array(); if(version_compare(VERSION, "1.5.4") <= 0 && $filterpro_setting['display_tags'] != 'none') { $this->data['tags'] = $this->model_module_filterpro->getTags($data); $this->data['expanded_tags'] = isset($filterpro_setting['expanded_tags']) ? 1 : 0; } $this->data['categories'] = false; if($filterpro_setting['display_categories'] != 'none') { $this->data['categories'] = $this->model_module_filterpro->getSubCategories($data); $this->data['expanded_categories'] = isset($filterpro_setting['expanded_categories']) ? 1 : 0; } $this->data['attributes'] = $this->model_module_filterpro->getAttributes($data); foreach($this->data['attributes'] as $j => $attribute_group) { foreach($attribute_group['attribute_values'] as $attribute_id => $attribute) { if(!isset($filterpro_setting['display_attribute_' . $attribute_id])) { $filterpro_setting['display_attribute_' . $attribute_id] = 'none'; } $display_attribute = $filterpro_setting['display_attribute_' . $attribute_id]; if($display_attribute != 'none') { if($display_attribute == 'slider') { $values = $this->data['attributes'][$j]['attribute_values'][$attribute_id]['values']; $first = $values[0]; $this->data['attributes'][$j]['attribute_values'][$attribute_id]['suffix'] = preg_replace("/^[0-9]*(\\.[0-9]*)?/", '', $first); $values = array_map('floatVal', $values); $values = array_unique($values); sort($values); $this->data['attributes'][$j]['attribute_values'][$attribute_id]['values'] = $values; } $this->data['attributes'][$j]['attribute_values'][$attribute_id]['display'] = $display_attribute; $this->data['attributes'][$j]['attribute_values'][$attribute_id]['expanded'] = isset($filterpro_setting['expanded_attribute_' . $attribute_id]) ? 1 : 0; } else { unset($this->data['attributes'][$j]['attribute_values'][$attribute_id]); if(!$this->data['attributes'][$j]['attribute_values']) { unset($this->data['attributes'][$j]); } } } } $this->data['filter_groups'] = array(); $this->load->model('catalog/category'); $this->data['option_main_checkbox'] = isset($filterpro_setting['option_main_checkbox']) ? 1 : 0; if(version_compare(VERSION, "1.5.5") >= 0 && $filterpro_setting['filters']==1) { $this->data['expanded_filters'] = isset($filterpro_setting['expanded_filters']) ? 1 : 0; $filter_groups = $this->model_catalog_category->getCategoryFilters($category_id); if ($filter_groups) { foreach ($filter_groups as $filter_group) { $filter_data = array(); foreach ($filter_group['filter'] as $filter) { $data = array( 'filter_category_id' => $category_id, 'filter_filter' => $filter['filter_id'] ); $filter_data[] = array( 'filter_id' => $filter['filter_id'], 'name' => $filter['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($data) . ')' : '') ); } $this->data['filter_groups'][] = array( 'filter_group_id' => $filter_group['filter_group_id'], 'name' => $filter_group['name'], 'filter' => $filter_data ); } } } $this->data['price_slider'] = $filterpro_setting['price_slider']; $this->data['attr_group'] = $filterpro_setting['attr_group']; $this->data['filer_special'] = isset($filterpro_setting['filer_special']); $this->data['filer_news'] = isset($filterpro_setting['filer_news']); $manufacturer = false; if(isset($this->request->get['manufacturer_id'])) { $manufacturer = array($this->request->get['manufacturer_id']); } $categories = false; if($category_id) { $categories = array($category_id); } $arr_data = array( 'instock' => isset($filterpro_setting['instock_checked']), 'option_value' => false, 'manufacturer' => $manufacturer, 'attribute_value' => false, 'tags' => false, 'categories' => $categories, 'attr_slider' => false, 'filter' => false, 'min_price' => 0, 'max_price' => 0, 'start' => 0, 'limit' => 1, 'sort' => false, 'order' => false ); if($this->data['filer_news']) { $product_total = $this->model_module_filterpro->getTotalProducts($arr_data + array('filer_news' => true)); $this->data['filer_news'] = $product_total > 0; // var_dump($product_total); } if($this->data['filer_special']) { $product_total = $this->model_module_filterpro->getTotalProducts($arr_data + array('special' => true, 'filer_news' => false)); $this->data['filer_special'] = $product_total > 0; // var_dump($product_total); } $this->data['instock_checked'] = isset($filterpro_setting['instock_checked']) ? 1 : 0; $this->data['instock_visible'] = isset($filterpro_setting['instock_visible']) ? 1 : 0; if($this->data['tags'] || $this->data['categories'] || $this->data['options'] || $this->data['manufacturers'] || $this->data['attributes'] || $this->data['price_slider']) { $this->document->addScript('catalog/view/javascript/jquery/jquery.tmpl.min.js'); $this->document->addScript('catalog/view/javascript/jquery/jquery.deserialize.min.js'); $this->document->addScript('catalog/view/javascript/jquery/jquery.loadmask.min.js'); $this->document->addScript('catalog/view/javascript/jquery/jquery.lazyload.min.js'); if(isset($filterpro_setting['enable_touch_screen'])) { $this->document->addScript('catalog/view/javascript/jquery/jquery.ui.touch-punch.min.js'); } $this->document->addScript('catalog/view/javascript/filterpro.min.js'); if(isset($filterpro_setting['jscrollpane'])) { $this->document->addScript('catalog/view/javascript/jquery/jscrollpane/jquery.mousewheel.js'); $this->document->addScript('catalog/view/javascript/jquery/jscrollpane/jquery.jscrollpane.min.js'); $this->document->addStyle('catalog/view/javascript/jquery/jscrollpane/jquery.jscrollpane.css'); } if(isset($filterpro_setting['enable_endless_scroller'])) { $this->document->addScript('catalog/view/javascript/jquery/jquery.endlessScroll.js'); } if (isset($filterpro_setting['theme_mega'])){ $this->document->addStyle('catalog/view/theme/default/stylesheet/filterpro-mega.css'); $this->document->addScript('catalog/view/javascript/jquery/qtip2/mega/jquery.qtip.min.js'); $this->document->addStyle('catalog/view/javascript/jquery/qtip2/mega/jquery.qtip.min.css'); } else{ $this->document->addStyle('catalog/view/theme/default/stylesheet/filterpro.css'); $this->document->addScript('catalog/view/javascript/jquery/qtip2/jquery.qtip.min.js'); $this->document->addStyle('catalog/view/javascript/jquery/qtip2/jquery.qtip.min.css'); } $this->document->addStyle('catalog/view/theme/default/stylesheet/jquery.loadmask.css'); if($this->config->get('config_template') == 'shoppica2') { $this->document->addStyle('catalog/view/javascript/jquery/ui/themes/ui-lightness/jquery-ui-1.8.16.custom.css'); } } $filter_hash = ""; if(isset($this->request->get['filter_id'])) { $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "filterpro_seo WHERE `url`='" . $this->db->escape("filter_id=" . $this->request->get['filter_id']) . "'"); if ($query->num_rows){ $filterpro_seo = unserialize($query->row['data']); $filter_hash = $filterpro_seo['url']; } } $this->data['filterpro_container'] = $filterpro_setting['filterpro_container']; $this->data['filterpro_afterload'] = html_entity_decode($filterpro_setting['filterpro_afterload'], ENT_QUOTES, 'UTF-8'); $this->data['filterOptions'] = json_encode(array( 'container' => $filterpro_setting['filterpro_container'], 'filter_redirect' => isset($this->request->get['filter_redirect'])?$this->request->get['filter_redirect']:null, 'filter_hash' => $filter_hash, 'window_hash' => !isset($filterpro_setting['hide_window_hash']), 'hide_count' => isset($filterpro_setting['hide_count']), 'hide_options' => isset($filterpro_setting['hide_options']), 'disable_mask' => isset($filterpro_setting['disable_mask']), 'endless_scroller' => isset($filterpro_setting['enable_endless_scroller']), )); if(file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/filterpro.tpl')) { $this->template = $this->config->get('config_template') . '/template/module/filterpro.tpl'; } else { $this->template = 'default/template/module/filterpro.tpl'; } } $this->render(); } public function getProducts() { if(!isset($this->request->post['min_price'])) { return; } $this->load->model('module/filterpro'); $this->load->model('catalog/product'); $this->load->model('tool/image'); $getTotals = false; if(isset($this->request->post['getTotals']) && $this->request->post['getTotals']) { $getTotals = true; } list($filterpro_setting, $page, $limit, $manufacturer_id, $attribute_value, $option_value, $category_id, $data) = $this->model_module_filterpro->getData(); $is_special = (isset($this->request->post['route']) && $this->request->post['route'] == "product/special") || isset($this->request->post['filer_special']); $is_bydate = isset($this->request->post['route']) && $this->request->post['route'] == "product/productsbydate"; $data['special'] = $is_special; $data['by_date'] = $is_bydate; $data['filer_news'] = isset($this->request->post['filer_news']); $totals_manufacturers = array(); if ($getTotals && $filterpro_setting['display_manufacturer'] != 'none' && !isset($this->request->post['manufacturer_id'])){ $totals_manufacturers = $this->model_module_filterpro->getTotalManufacturers($data); } $totals_options = array(); $totals_attributes = array(); $totals_categories = array(); $totals_tags = array(); if($getTotals) { $totals_options = $this->model_module_filterpro->getTotalOptions($data); if(!isset($this->filterpro_setting['option_total_simple'])) { if($option_value) { foreach($option_value as $option_id => $option_value_id) { foreach($totals_options as $i => $totals_option) { if($totals_option['o'] == $option_id) { unset($totals_options[$i]); } } $temp_data = $data; unset($temp_data['option_value'][$option_id]); foreach($this->model_module_filterpro->getTotalOptions($temp_data) as $option) { if($option['o'] == $option_id) { $totals_options[] = $option; } } } } } $totals_attributes = $this->model_module_filterpro->getTotalAttributes($data); if(!isset($filterpro_setting['attr_total_simple'])) { foreach($attribute_value as $attribute_id => $values) { foreach($totals_attributes as $i => $attribute) { if($attribute['id'] == $attribute_id) { unset($totals_attributes[$i]); } } $temp_data = $data; unset($temp_data['attribute_value'][$attribute_id]); foreach($this->model_module_filterpro->getTotalAttributes($temp_data) as $attribute) { if($attribute['id'] == $attribute_id) { $totals_attributes[] = $attribute; } } } } $totals_tags = array(); if(version_compare(VERSION, "1.5.4") <= 0) { $totals_tags = $this->model_module_filterpro->getTotalTags($data); } $totals_categories = $this->model_module_filterpro->getTotalCategories($data, $category_id); } $results = $this->model_module_filterpro->getProducts($data); $min_price = false; $max_price = false; if(isset($this->request->post['getPriceLimits']) && $this->request->post['getPriceLimits']) { $priceLimits = $this->model_module_filterpro->getPriceLimits(array('category_id' => $category_id, 'manufacturer_id' => $manufacturer_id, 'special' =>$is_special, 'by_date' =>$is_bydate)); $min_price = $priceLimits['min_price']; $max_price = $priceLimits['max_price']; } $this->request->get['path'] = isset($this->request->post['path']) ? $this->request->post['path'] : ''; $product_total = $this->model_module_filterpro->getTotalProducts($data); $result_html = $this->getHtmlProducts($results, $product_total); $pagination = new Pagination(); $pagination->total = $product_total; $pagination->page = $page; $pagination->limit = $limit; $pagination->text = $this->language->get('text_pagination'); if (isset($this->request->post['manufacturer_id'])) { $pagination->url = $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->post['manufacturer_id'] . '&page={page}'); } else { $pagination->url = $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&page={page}'); } $pagination = $pagination->render(); $k = 1; if((float)$filterpro_setting['tax'] > 0) { $k = 1 + (float)$filterpro_setting['tax'] / 100; } $min_price = $this->currency->convert($min_price * $k, $this->config->get('config_currency'), $this->currency->getCode()); $max_price = $this->currency->convert($max_price * $k, $this->config->get('config_currency'), $this->currency->getCode()); $json = json_encode(array('result_html' => $result_html, 'min_price' => $min_price, 'max_price' => $max_price, 'pagination' => $pagination, 'totals_data' => $getTotals ? array( 'product_total' => $product_total, 'manufacturers' => $totals_manufacturers, 'options' => $totals_options, 'attributes' => $totals_attributes, 'categories' => $totals_categories, 'tags' => $totals_tags) : false)); $this->response->setOutput($json); } private function getHtmlProducts($results, $product_total) { $this->data += $this->language->load('product/category'); $this->data['use_lazyload'] = isset($filterpro_setting['use_lazyload']) ? 1 : 0; $this->data['products'] = array(); $this->load->model('catalog/product_status'); $this->load->model('catalog/promotion'); foreach ($results as $result) { $promotions = $this->model_catalog_promotion->getHTMLProductPromotions($result['product_id']); if ($result['image']) { $image = $this->model_tool_image->resize($result['image'], $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')); } else { $image = $this->model_tool_image->resize('no_image.jpg', $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')); } if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { $price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax'))); } else { $price = false; } if ((float)$result['special']) { $special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax'))); } else { $special = false; } if ($this->config->get('config_tax')) { $tax = $this->currency->format((float)$result['special'] ? $result['special'] : $result['price']); } else { $tax = false; } if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }} if ($this->config->get('config_review_status')) { $rating = (int)$result['rating']; } else { $rating = false; } // module attribute to text $options = $this->config->get('attribute_to_text_options'); if (isset($options['show_catalog_attributes'])) { $this->load->model('catalog/attributes_to_text'); $description = $this->model_catalog_attributes_to_text->getText($result['product_id'], $options); if (empty($description) || $description == '<span class="attributes-text"></span>') { $description = utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 300) . '..'; } } else { $description = utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 300) . '..'; } $this->data['products'][] = array( 'promotion' => $result['promotions']['category'], 'statuses' => $result['statuses']['category'], 'stickers' => $result['statuses']['category_stickers'], 'product_id' => $result['product_id'], 'quantity' => $result['quantity'], 'stock' => $result['stock_status'], 'thumb' => $image, 'name' => $result['name'], //produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds 'description' => $description, 'price' => $price, 'special' => $special, 'tax' => $tax, 'rating' => $result['rating'], 'reviews' => sprintf($this->language->get('text_reviews'), (int)$result['reviews']), 'href' => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id']) ); } if(file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/filterpro_list.tpl') && file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/filterpro_grid.tpl') ) { $this->template = $this->config->get('config_template') . '/template/module/filterpro_list.tpl'; $return['list'] = $this->render(); $this->template = $this->config->get('config_template') . '/template/module/filterpro_grid.tpl'; $return['grid'] = $this->render(); return $return; } elseif(file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/filterpro_products.tpl')) { $this->template = $this->config->get('config_template') . '/template/module/filterpro_products.tpl'; } else { $this->template = 'default/template/module/filterpro_products.tpl'; } return $this->render(); } } ?> Может кто знает, как справиться с проблемой? Буду благодарен люпотому чтой помощи. Edited July 14, 2019 by Zapuzin Добавление файла Link to comment Share on other sites More sharing options... Zapuzin Posted July 14, 2019 Share Posted July 14, 2019 Забыл написать, что ошипотому чток в логах нет, как системных, ик и vqmod. Link to comment Share on other sites More sharing options... Zapuzin Posted July 15, 2019 Share Posted July 15, 2019 Странно. Появились ошибки, хотя на сайте модуль Product Display Settings отображает всё, что нужно правильно, только фильтр про не хочет значение "Налилие" товаров, которые есть в налилии, переводить ) Ошибки появились через некоторое время. Во время экспериментов с проблемным модулем кеш листился весь, и они не появлялись ) Спойлер 2019-07-15 0:59:07 - PHP Notice: Undefined variable: result in /home/teploplc/public_html/vqmod/vqcache/vq2-catalog_controller_product_manufacturer.php on line 386 2019-07-15 0:59:07 - PHP Notice: Undefined variable: result in /home/teploplc/public_html/vqmod/vqcache/vq2-catalog_controller_product_manufacturer.php on line 387 2019-07-15 10:57:34 - PHP Notice: Undefined variable: result in /home/teploplc/public_html/vqmod/vqcache/vq2-catalog_controller_product_category.php on line 404 2019-07-15 10:57:34 - PHP Notice: Undefined variable: result in /home/teploplc/public_html/vqmod/vqcache/vq2-catalog_controller_product_category.php on line 405 Весь "product-display-settings.xml" Спойлер <!-- Created using vQmod XML Generator by UKSB - http://www.opencart-extensions.co.uk //--> <modification> <id><![CDATA[Product Display Settings]]></id> <version><![CDATA[1.2]]></version> <vqmver><![CDATA[2.1.5]]></vqmver> <author><![CDATA[Flo from shopencart.com, edited by drbogger]]></author> <file name="admin/controller/setting/setting.php"> <operation> <search position="before" error="log"><![CDATA[if (isset($this->request->post['config_logo'])) {]]></search> <add><![CDATA[ //product display settings if (isset($this->request->post['config_display_sku'])) { $this->data['config_display_sku'] = $this->request->post['config_display_sku']; } else { $this->data['config_display_sku'] = $this->config->get('config_display_sku'); } if (isset($this->request->post['config_display_pweight'])) { $this->data['config_display_pweight'] = $this->request->post['config_display_pweight']; } else { $this->data['config_display_pweight'] = $this->config->get('config_display_pweight'); } if (isset($this->request->post['config_display_skup'])) { $this->data['config_display_skup'] = $this->request->post['config_display_skup']; } else { $this->data['config_display_skup'] = $this->config->get('config_display_skup'); } if (isset($this->request->post['config_display_model'])) { $this->data['config_display_model'] = $this->request->post['config_display_model']; } else { $this->data['config_display_model'] = $this->config->get('config_display_model'); } if (isset($this->request->post['config_display_modelp'])) { $this->data['config_display_modelp'] = $this->request->post['config_display_modelp']; } else { $this->data['config_display_modelp'] = $this->config->get('config_display_modelp'); } if (isset($this->request->post['config_display_brand'])) { $this->data['config_display_brand'] = $this->request->post['config_display_brand']; } else { $this->data['config_display_brand'] = $this->config->get('config_display_brand'); } if (isset($this->request->post['config_display_brandp'])) { $this->data['config_display_brandp'] = $this->request->post['config_display_brandp']; } else { $this->data['config_display_brandp'] = $this->config->get('config_display_brandp'); } if (isset($this->request->post['config_display_rewardsp'])) { $this->data['config_display_rewardsp'] = $this->request->post['config_display_rewardsp']; } else { $this->data['config_display_rewardsp'] = $this->config->get('config_display_rewardsp'); } if (isset($this->request->post['config_display_location'])) { $this->data['config_display_location'] = $this->request->post['config_display_location']; } else { $this->data['config_display_location'] = $this->config->get('config_display_location'); } if (isset($this->request->post['config_display_locationp'])) { $this->data['config_display_locationp'] = $this->request->post['config_display_locationp']; } else { $this->data['config_display_locationp'] = $this->config->get('config_display_locationp'); } if (isset($this->request->post['config_display_listock'])) { $this->data['config_display_listock'] = $this->request->post['config_display_listock']; } else { $this->data['config_display_listock'] = $this->config->get('config_display_listock'); } if (isset($this->request->post['config_display_upc'])) { $this->data['config_display_upc'] = $this->request->post['config_display_upc']; } else { $this->data['config_display_upc'] = $this->config->get('config_display_upc'); } if (isset($this->request->post['config_display_upcp'])) { $this->data['config_display_upcp'] = $this->request->post['config_display_upcp']; } else { $this->data['config_display_upcp'] = $this->config->get('config_display_upcp'); } //end of product display options]]></add> </operation> </file> <file name="admin/view/template/setting/setting.tpl"> <operation> <search position="after"><![CDATA[<div id="tab-option">]]></search> <add><![CDATA[<table class="form"> <tr> <td>Бонусные баллы на страниэто товара?</td> <td><?php if ($config_display_rewardsp) { ?> <input type="radio" name="config_display_rewardsp" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_rewardsp" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_rewardsp" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_rewardsp" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>Вес на страниэто товара?</td> <td><?php if ($config_display_pweight) { ?> <input type="radio" name="config_display_pweight" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_pweight" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_pweight" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_pweight" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>SKU на страниэто товара?</td> <td><?php if ($config_display_sku) { ?> <input type="radio" name="config_display_sku" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_sku" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_sku" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_sku" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>SKU на страниэто категории?</td> <td><?php if ($config_display_skup) { ?> <input type="radio" name="config_display_skup" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_skup" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_skup" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_skup" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>Код товара на страниэто категории?</td> <td><?php if ($config_display_model) { ?> <input type="radio" name="config_display_model" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_model" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_model" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_model" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>Код товара на страниэто товара?</td> <td><?php if ($config_display_modelp) { ?> <input type="radio" name="config_display_modelp" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_modelp" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_modelp" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_modelp" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>Бренд на страниэто категории?</td> <td><?php if ($config_display_brand) { ?> <input type="radio" name="config_display_brand" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_brand" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_brand" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_brand" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>Бренд на страниэто товара?</td> <td><?php if ($config_display_brandp) { ?> <input type="radio" name="config_display_brandp" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_brandp" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_brandp" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_brandp" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>Гарантия на страниэто категории?</td> <td><?php if ($config_display_location) { ?> <input type="radio" name="config_display_location" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_location" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_location" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_location" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr><tr> <td>Гарантия на страниэто товара?</td> <td><?php if ($config_display_locationp) { ?> <input type="radio" name="config_display_locationp" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_locationp" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_locationp" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_locationp" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>UPC на страниэто категории?</td> <td><?php if ($config_display_upc) { ?> <input type="radio" name="config_display_upc" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_upc" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_upc" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_upc" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr><tr> <td>UPC на страниэто товара?</td> <td><?php if ($config_display_upcp) { ?> <input type="radio" name="config_display_upcp" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_upcp" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_upcp" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_upcp" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>Налилие товара на страниэто категории?</td> <td><?php if ($config_display_listock) { ?> <input type="radio" name="config_display_listock" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_listock" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_listock" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_listock" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr></table>]]></add> </operation> </file> <file name="catalog/controller/product/product.php"> <operation> <search position="after"><![CDATA[$this->data['points'] = $product_info['points'];]]></search> <add><![CDATA[//product display options $this->language->load('product/pds'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_weight'] = $this->language->get('pds_weight'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['sku'] = $product_info['sku']; $this->data['upc'] = $product_info['upc']; $this->data['location'] = $product_info['location']; if ($product_info['weight']) { $this->data['weight'] = $this->weight->format($product_info['weight'], $product_info['weight_class_id'], $this->language->get('decimal_point'), $this->language->get('thousand_point')); } else { $this->data['weight'] = ''; } ]]></add> </operation> </file> <file name="catalog/view/theme/*/template/product/product.tpl"> <operation> <search position="after"><![CDATA[<span><?php echo $text_model; ?></span> <?php echo $model; ?><br />]]></search> <add><![CDATA[<?php if ($this->config->get('config_display_skup') && $sku) { ?> <span><?php echo $pds_sku; ?> </span> <?php echo $sku; ?><br /> <?php } ?> <?php if ($this->config->get('config_display_upcp') && $upc) { ?> <span><?php echo $pds_upc; ?> </span> <?php echo $upc; ?><br /> <?php } ?> <?php if ($this->config->get('config_display_locationp') && $location) { ?> <span><?php echo $pds_location; ?> </span> <?php echo $location; ?><br /> <?php } ?> <?php if ($this->config->get('config_display_pweight') && $weight) { ?> <span><?php echo $pds_weight; ?> </span> <?php echo $weight; ?><br /> <?php } ?> ]]></add> </operation> <operation> <search position="replace"><![CDATA[<?php if ($manufacturer) { ?>]]></search> <add><![CDATA[<?php if ($this->config->get('config_display_brandp') && $manufacturer) { ?>]]></add> </operation> <operation> <search position="replace"><![CDATA[<?php if ($reward) { ?>]]></search> <add><![CDATA[<?php if ($this->config->get('config_display_rewardsp') && $reward) { ?>]]></add> </operation> <operation> <search position="replace"><![CDATA[<span><?php echo $text_model; ?></span> <?php echo $model; ?><br />]]></search> <add><![CDATA[<?php if ($this->config->get('config_display_modelp')) { ?> <span><?php echo $pds_model; ?></span> <?php echo $model; ?><br /> <?php } ?>]]></add> </operation> </file> <file name="catalog/controller/product/category.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }}]]></add> </operation> <operation> <search position="after"><![CDATA['name' => $result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->data['text_grid'] = $this->language->get('text_grid');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/controller/product/search.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }}]]></add> </operation> <operation> <search position="after"><![CDATA['name' => $result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->data['text_grid'] = $this->language->get('text_grid');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/controller/product/manufacturer.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }}]]></add> </operation> <operation> <search position="after"><![CDATA['name' => $result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->data['text_grid'] = $this->language->get('text_grid');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/controller/product/special.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }}]]></add> </operation> <operation> <search position="after"><![CDATA['name' => $result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->data['text_grid'] = $this->language->get('text_grid');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/view/theme/*/template/product/search.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: inline-block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> <operation> <search position="before"><![CDATA[html += ' <div class="name">' + $(element).find('.name').html() + '</div>';]]></search> <add><![CDATA[html += '<div class="extra" style="display: inline-block; color: #444; position: absolute; transform: translate(-165px, 195px); -webkit-transform: translate(-165px, 195px); -o-transform: translate(-165px, 195px); -moz-transform: translate(-165px, 195px); font-size: 14px;">' + $(element).find('.extra').html() + '</div>';]]></add> </operation> <operation> <search position="after"><![CDATA[html += '<div class="name">' + $(element).find('.name').html() + '</div>';]]></search> <add><![CDATA[html += '<div class="extra" style="display: inline-block; color: #444;">' + $(element).find('.extra').html() + '</div>';]]></add> </operation> </file> <file name="catalog/view/theme/*/template/product/category.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: inline-block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> <operation> <search position="before"><![CDATA[html += ' <div class="name">' + $(element).find('.name').html() + '</div>';]]></search> <add><![CDATA[html += '<div class="extra" style="display: inline-block; color: #444; position: absolute; transform: translate(-165px, 195px); -webkit-transform: translate(-165px, 195px); -o-transform: translate(-165px, 195px); -moz-transform: translate(-165px, 195px); font-size: 14px;">' + $(element).find('.extra').html() + '</div>';]]></add> </operation> <operation> <search position="after"><![CDATA[html += '<div class="name">' + $(element).find('.name').html() + '</div>';]]></search> <add><![CDATA[html += '<div class="extra" style="display: inline-block; color: #444;">' + $(element).find('.extra').html() + '</div>';]]></add> </operation> </file> <file name="catalog/view/theme/*/template/product/special.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: inline-block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> <operation> <search position="before"><![CDATA[html += ' <div class="name">' + $(element).find('.name').html() + '</div>';]]></search> <add><![CDATA[html += '<div class="extra" style="display: inline-block; color: #444; position: absolute; transform: translate(-165px, 195px); -webkit-transform: translate(-165px, 195px); -o-transform: translate(-165px, 195px); -moz-transform: translate(-165px, 195px); font-size: 14px;">' + $(element).find('.extra').html() + '</div>';]]></add> </operation> <operation> <search position="after"><![CDATA[html += '<div class="name">' + $(element).find('.name').html() + '</div>';]]></search> <add><![CDATA[html += '<div class="extra" style="display: inline-block; color: #444;">' + $(element).find('.extra').html() + '</div>';]]></add> </operation> </file> <file name="catalog/view/theme/*/template/product/manufacturer_info.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: inline-block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> <operation> <search position="before"><![CDATA[html += ' <div class="name">' + $(element).find('.name').html() + '</div>';]]></search> <add><![CDATA[html += '<div class="extra" style="display: inline-block; color: #444; position: absolute; transform: translate(-165px, 195px); -webkit-transform: translate(-165px, 195px); -o-transform: translate(-165px, 195px); -moz-transform: translate(-165px, 195px); font-size: 14px;">' + $(element).find('.extra').html() + '</div>';]]></add> </operation> <operation> <search position="after"><![CDATA[html += '<div class="name">' + $(element).find('.name').html() + '</div>';]]></search> <add><![CDATA[html += '<div class="extra" style="display: inline-block; color: #444;">' + $(element).find('.extra').html() + '</div>';]]></add> </operation> </file> <file name="catalog/controller/module/latest.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = "Stock: " . $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }]]></add> </operation> <operation> <search position="after"><![CDATA[$result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->language->load('module/latest');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/view/theme/*/template/module/latest.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> </file> <file name="catalog/controller/module/bestseller.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = "Stock: " . $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }]]></add> </operation> <operation> <search position="after"><![CDATA[$result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->language->load('module/bestseller');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/view/theme/*/template/module/bestseller.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> </file> <file name="catalog/controller/module/special.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = "Stock: " . $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }]]></add> </operation> <operation> <search position="after"><![CDATA[$result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->language->load('module/special');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/view/theme/*/template/module/special.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> </file> <file name="catalog/controller/module/featured.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($product_info['quantity'] <= 0) { $rstock = $product_info['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = "Stock: " . $product_info['quantity']; } else { $rstock = $this->language->get('pds_instock'); }]]></add> </operation> <operation> <search position="after"><![CDATA[$product_info['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $product_info['sku'], 'model' => $product_info['model'], 'brand' => $product_info['manufacturer'], 'location' => $product_info['location'], 'upc' => $product_info['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $product_info['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->language->load('module/featured');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/view/theme/*/template/module/featured.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> </file> <file name="catalog/controller/module/viewed.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($product_info['quantity'] <= 0) { $rstock = $product_info['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = "Stock: " . $product_info['quantity']; } else { $rstock = $this->language->get('pds_instock'); }]]></add> </operation> <operation> <search position="after"><![CDATA[$product_info['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $product_info['sku'], 'model' => $product_info['model'], 'brand' => $product_info['manufacturer'], 'location' => $product_info['location'], 'upc' => $product_info['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $product_info['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->language->load('module/viewed');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/view/theme/*/template/module/viewed.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> </file> <file name="catalog/controller/module/filterpro.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }}]]></add> </operation> <operation> <search position="after"><![CDATA['name' => $result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->data['text_grid'] = $this->language->get('text_grid');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/view/theme/*/template/module/filterpro_products.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: inline-block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> </file> </modification> vq2-catalog_controller_product_manufacturer.php Спойлер <?php class ControllerProductManufacturer extends Controller { public function index() { $this->language->load('product/manufacturer'); $this->load->model('catalog/manufacturer'); $this->load->model('tool/image'); $this->document->setTitle($this->language->get('heading_title')); $this->data['heading_title'] = $this->language->get('heading_title'); $this->data['text_index'] = $this->language->get('text_index'); $this->data['text_empty'] = $this->language->get('text_empty'); $this->data['button_continue'] = $this->language->get('button_continue'); $this->data['breadcrumbs'] = array(); $this->data['breadcrumbs'][] = array( 'text' => $this->language->get('text_home'), 'href' => $this->url->link('common/home'), 'separator' => false ); $this->data['breadcrumbs'][] = array( 'text' => $this->language->get('text_brand'), 'href' => $this->url->link('product/manufacturer'), 'separator' => $this->language->get('text_separator') ); $this->data['categories'] = array(); $results = $this->model_catalog_manufacturer->getManufacturers(); foreach ($results as $result) { if (is_numeric(utf8_substr($result['name'], 0, 1))) { $key = '0 - 9'; } else { $key = utf8_substr(utf8_strtoupper($result['name']), 0, 1); } if (!isset($this->data['manufacturers'][$key])) { $this->data['categories'][$key]['name'] = $key; } $this->data['categories'][$key]['manufacturer'][] = array( 'name' => $result['name'], // ManufacturerLogo 'logo' => $this->model_tool_image->resize($result['image'], 100, 100), // ManufacturerLogo end 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $result['manufacturer_id']) ); } $this->data['continue'] = $this->url->link('common/home'); if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/manufacturer_list.tpl')) { $this->template = $this->config->get('config_template') . '/template/product/manufacturer_list.tpl'; } else { $this->template = 'default/template/product/manufacturer_list.tpl'; } $this->children = array( 'common/column_left', 'common/column_right', 'common/content_top', 'common/content_bottom', 'common/footer', 'common/header' ); $this->response->setOutput($this->render()); } public function info() { $this->language->load('product/manufacturer'); $this->load->model('catalog/manufacturer'); $this->load->model('catalog/product'); $this->load->model('tool/image'); if (isset($this->request->get['manufacturer_id'])) { $manufacturer_id = (int)$this->request->get['manufacturer_id']; } else { $manufacturer_id = 0; } $filterpro_seo = false; $url_data = false; if(isset($this->request->get['filter_id'])) { $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "filterpro_seo WHERE `url`='" . $this->db->escape("filter_id=" . $this->request->get['filter_id']) . "'"); if($query->num_rows) { $filterpro_data = unserialize($query->row['data']); $filterpro_seo = $filterpro_data['lang'][(int)$this->config->get('config_language_id')]; parse_str(str_replace("&", "&", $filterpro_data['url']), $url_data); $url_data['filer_news'] = false; if (!isset($url_data['manufacturer_id']) || $url_data['manufacturer_id'] != $manufacturer_id) { $this->redirect($this->url->link('error/not_found')); } } } if (isset($this->request->get['sort'])) { $sort = $this->request->get['sort']; } else { $sort = 'p.sort_order'; } if (isset($this->request->get['order'])) { $order = $this->request->get['order']; } else { $order = 'ASC'; } if (isset($this->request->get['page'])) { $page = $this->request->get['page']; } else { $page = 1; } if (isset($this->request->get['limit'])) { $limit = $this->request->get['limit']; } else { $limit = $this->config->get('config_catalog_limit'); } $this->data['breadcrumbs'] = array(); $this->data['breadcrumbs'][] = array( 'text' => $this->language->get('text_home'), 'href' => $this->url->link('common/home'), 'separator' => false ); $this->data['breadcrumbs'][] = array( 'text' => $this->language->get('text_brand'), 'href' => $this->url->link('product/manufacturer'), 'separator' => $this->language->get('text_separator') ); $manufacturer_info = $this->model_catalog_manufacturer->getManufacturer($manufacturer_id); if ($manufacturer_info) { if ($manufacturer_info['seo_title']) { $this->document->setTitle($manufacturer_info['seo_title']); } else { $this->document->setTitle($manufacturer_info['name']); } $this->document->addScript('catalog/view/javascript/jquery/jquery.total-storage.min.js'); $this->document->setDescription($manufacturer_info['meta_description']); $this->document->setKeywords($manufacturer_info['meta_keyword']); $url = ''; if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['page'])) { $url .= '&page=' . $this->request->get['page']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['breadcrumbs'][] = array( 'text' => $manufacturer_info['name'], 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . $url), 'separator' => $this->language->get('text_separator') ); if ($manufacturer_info['seo_h1']) { $this->data['heading_title'] = $manufacturer_info['seo_h1']; } else { $this->data['heading_title'] = $manufacturer_info['name']; if($filterpro_seo) { $this->data['description'] = html_entity_decode($filterpro_seo['description'], ENT_QUOTES, 'UTF-8'); $this->data['heading_title'] = $filterpro_seo['h1']; $this->document->setTitle($filterpro_seo['title']); $this->document->setDescription($filterpro_seo['meta_description']); $this->document->setKeywords($filterpro_seo['meta_keywords']); } } $this->data['description'] = html_entity_decode($manufacturer_info['description'], ENT_QUOTES, 'UTF-8'); $this->data['text_empty'] = $this->language->get('text_empty'); $this->data['text_quantity'] = $this->language->get('text_quantity'); $this->data['text_manufacturer'] = $this->language->get('text_manufacturer'); $this->data['text_model'] = $this->language->get('text_model'); $this->data['text_price'] = $this->language->get('text_price'); $this->data['text_tax'] = $this->language->get('text_tax'); $this->data['text_points'] = $this->language->get('text_points'); $this->data['text_compare'] = sprintf($this->language->get('text_compare'), (isset($this->session->data['compare']) ? count($this->session->data['compare']) : 0)); $this->data['text_display'] = $this->language->get('text_display'); $this->data['text_list'] = $this->language->get('text_list'); $this->data['text_grid'] = $this->language->get('text_grid'); $this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock'); $this->data['text_sort'] = $this->language->get('text_sort'); $this->data['text_limit'] = $this->language->get('text_limit'); $this->data['button_cart'] = $this->language->get('button_cart'); $this->data['button_out_of_stock'] = $this->language->get('button_out_of_stock'); $this->data['button_wishlist'] = $this->language->get('button_wishlist'); $this->data['button_compare'] = $this->language->get('button_compare'); $this->data['button_continue'] = $this->language->get('button_continue'); $this->data['compare'] = $this->url->link('product/compare'); $this->data['products'] = array(); $data = array( 'filter_manufacturer_id' => $manufacturer_id, 'sort' => $sort, 'order' => $order, 'start' => ($page - 1) * $limit, 'limit' => $limit ); if($url_data) { $get = $this->request->get; unset($get['route']); unset($get['filter_id']); $this->request->get['filter_redirect'] = $this->url->link('product/category', http_build_query($get)); $this->request->post = $url_data; $this->load->model('module/filterpro'); list($f1, $f2, $f3, $f4, $f5, $f5, $f6, $url_data) = $this->model_module_filterpro->getData(); $url_data['filer_news'] = false; $product_total = $this->model_module_filterpro->getTotalProducts($url_data); $results = $this->model_module_filterpro->getProducts($url_data); } else { $product_total = $this->model_catalog_product->getTotalProducts($data); $results = $this->model_catalog_product->getProducts($data); } //Вызов метода getFoundProducts должен проводится сразу же после getProducts //только тогда он выдает правильное значения когдачества товаров //$product_total = $this->model_catalog_product->getTotalProducts($data); foreach ($results as $result) { if ($result['image']) { $image = $this->model_tool_image->resize($result['image'], $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')); } else { $image = false; } if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { $price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax'))); } else { $price = false; } if ((float)$result['special']) { $special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax'))); } else { $special = false; } if ($this->config->get('config_tax')) { $tax = $this->currency->format((float)$result['special'] ? $result['special'] : $result['price']); } else { $tax = false; } if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }} if ($this->config->get('config_review_status')) { $rating = (int)$result['rating']; } else { $rating = false; } // module attribute to text $options = $this->config->get('attribute_to_text_options'); if (isset($options['show_catalog_attributes'])) { $this->load->model('catalog/attributes_to_text'); $description = $this->model_catalog_attributes_to_text->getText($result['product_id'], $options); if (empty($description) || $description == '<span class="attributes-text"></span>') { $description = utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 300) . '..'; } } else { $description = utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 300) . '..'; } $this->data['products'][] = array( 'promotion' => $result['promotions']['category'], 'statuses' => $result['statuses']['category'], 'stickers' => $result['statuses']['category_stickers'], 'product_id' => $result['product_id'], 'quantity' => $result['quantity'], 'stock' => $result['stock_status'], 'thumb' => $image, 'name' => $result['name'], //produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds 'description' => $description, 'price' => $price, 'special' => $special, 'tax' => $tax, 'rating' => $result['rating'], 'reviews' => sprintf($this->language->get('text_reviews'), (int)$result['reviews']), 'href' => $this->url->link('product/product', '&manufacturer_id=' . $result['manufacturer_id'] . '&product_id=' . $result['product_id'] . $url) ); } $url = ''; if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['sorts'] = array(); $this->data['sorts'][] = array( 'text' => $this->language->get('text_default'), 'value' => 'p.sort_order-ASC', 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=p.sort_order&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_name_asc'), 'value' => 'pd.name-ASC', 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=pd.name&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_name_desc'), 'value' => 'pd.name-DESC', 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=pd.name&order=DESC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_price_asc'), 'value' => 'p.price-ASC', 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=p.price&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_price_desc'), 'value' => 'p.price-DESC', 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=p.price&order=DESC' . $url) ); if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }} if ($this->config->get('config_review_status')) { $this->data['sorts'][] = array( 'text' => $this->language->get('text_rating_desc'), 'value' => 'rating-DESC', 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=rating&order=DESC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_rating_asc'), 'value' => 'rating-ASC', 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=rating&order=ASC' . $url) ); } $this->data['sorts'][] = array( 'text' => $this->language->get('text_model_asc'), 'value' => 'p.model-ASC', 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=p.model&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_model_desc'), 'value' => 'p.model-DESC', 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=p.model&order=DESC' . $url) ); $url = ''; if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } $this->data['limits'] = array(); $limits = array_unique(array($this->config->get('config_catalog_limit'), 25, 50, 75, 100)); sort($limits); foreach($limits as $value){ $this->data['limits'][] = array( 'text' => $value, 'value' => $value, 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . $url . '&limit=' . $value) ); } $url = ''; if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $pagination = new Pagination(); $pagination->total = $product_total; $pagination->page = $page; $pagination->limit = $limit; $pagination->text = $this->language->get('text_pagination'); $pagination->url = $this->url->link('product/manufacturer/info','manufacturer_id=' . $this->request->get['manufacturer_id'] . $url . '&page={page}'); $this->data['pagination'] = $pagination->render(); $this->data['sort'] = $sort; $this->data['order'] = $order; $this->data['limit'] = $limit; $this->data['continue'] = $this->url->link('common/home'); if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/manufacturer_info.tpl')) { $this->template = $this->config->get('config_template') . '/template/product/manufacturer_info.tpl'; } else { $this->template = 'default/template/product/manufacturer_info.tpl'; } $this->children = array( 'common/column_left', 'common/column_right', 'common/content_top', 'common/content_bottom', 'common/footer', 'common/header' ); $this->response->setOutput($this->render()); } else { $url = ''; if (isset($this->request->get['manufacturer_id'])) { $url .= '&manufacturer_id=' . $this->request->get['manufacturer_id']; } if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['page'])) { $url .= '&page=' . $this->request->get['page']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['breadcrumbs'][] = array( 'text' => $this->language->get('text_error'), 'href' => $this->url->link('product/category', $url), 'separator' => $this->language->get('text_separator') ); $this->document->setTitle($this->language->get('text_error')); $this->data['heading_title'] = $this->language->get('text_error'); $this->data['text_error'] = $this->language->get('text_error'); $this->data['button_continue'] = $this->language->get('button_continue'); $this->data['continue'] = $this->url->link('common/home'); if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/error/not_found.tpl')) { $this->template = $this->config->get('config_template') . '/template/error/not_found.tpl'; } else { $this->template = 'default/template/error/not_found.tpl'; } $this->children = array( 'common/column_left', 'common/column_right', 'common/content_top', 'common/content_bottom', 'common/footer', 'common/header' ); $this->response->setOutput($this->render()); } } } ?> vq2-catalog_controller_product_category.php Спойлер <?php class ControllerProductCategory extends Controller { public function index() { $this->language->load('product/category'); $this->load->model('catalog/category'); $this->load->model('catalog/product'); $this->load->model('tool/image'); if (isset($this->request->get['filter'])) { $filter = $this->request->get['filter']; } else { $filter = ''; } if (isset($this->request->get['sort'])) { $sort = $this->request->get['sort']; } else { $sort = 'p.sort_order'; } if (isset($this->request->get['order'])) { $order = $this->request->get['order']; } else { $order = 'ASC'; } if (isset($this->request->get['page'])) { $page = $this->request->get['page']; } else { $page = 1; } if (isset($this->request->get['limit'])) { $limit = $this->request->get['limit']; } else { $limit = $this->config->get('config_catalog_limit'); } $this->data['breadcrumbs'] = array(); $this->data['breadcrumbs'][] = array( 'text' => $this->language->get('text_home'), 'href' => $this->url->link('common/home'), 'separator' => false ); if (isset($this->request->get['path'])) { $url = ''; if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $path = ''; $parts = explode('_', (string)$this->request->get['path']); $category_id = (int)array_pop($parts); foreach ($parts as $path_id) { if (!$path) { $path = (int)$path_id; } else { $path .= '_' . (int)$path_id; } $category_info = $this->model_catalog_category->getCategory($path_id); if ($category_info) { $this->data['breadcrumbs'][] = array( 'text' => $category_info['name'], 'href' => $this->url->link('product/category', 'path=' . $path . $url), 'separator' => $this->language->get('text_separator') ); } } } else { $category_id = 0; } $filterpro_seo = false; $url_data = false; if(isset($this->request->get['filter_id'])) { $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "filterpro_seo WHERE `url`='" . $this->db->escape("filter_id=" . $this->request->get['filter_id']) . "'"); if($query->num_rows) { $filterpro_data = unserialize($query->row['data']); $filterpro_seo = $filterpro_data['lang'][(int)$this->config->get('config_language_id')]; parse_str(str_replace("&", "&", $filterpro_data['url']), $url_data); $url_data['filer_news'] = false; if(!isset($url_data['category_id']) || $url_data['category_id'] != $category_id) { $this->redirect($this->url->link('error/not_found')); } } } $category_info = $this->model_catalog_category->getCategory($category_id); if ($category_info) { if ($category_info['seo_title']) { $this->document->setTitle($category_info['seo_title']); } else { $this->document->setTitle($category_info['name']); } $this->document->setDescription($category_info['meta_description']); $this->document->setKeywords($category_info['meta_keyword']); $this->document->addScript('catalog/view/javascript/jquery/jquery.total-storage.min.js'); if ($category_info['seo_h1']) { $this->data['heading_title'] = $category_info['seo_h1']; } else { $this->data['heading_title'] = $category_info['name']; } $this->data['text_refine'] = $this->language->get('text_refine'); $this->data['text_empty'] = $this->language->get('text_empty'); $this->data['text_quantity'] = $this->language->get('text_quantity'); $this->data['text_manufacturer'] = $this->language->get('text_manufacturer'); $this->data['text_model'] = $this->language->get('text_model'); $this->data['text_price'] = $this->language->get('text_price'); $this->data['text_tax'] = $this->language->get('text_tax'); $this->data['text_points'] = $this->language->get('text_points'); $this->data['text_compare'] = sprintf($this->language->get('text_compare'), (isset($this->session->data['compare']) ? count($this->session->data['compare']) : 0)); $this->data['text_display'] = $this->language->get('text_display'); $this->data['text_list'] = $this->language->get('text_list'); $this->data['text_grid'] = $this->language->get('text_grid'); $this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock'); $this->data['text_sort'] = $this->language->get('text_sort'); $this->data['text_limit'] = $this->language->get('text_limit'); $this->data['button_cart'] = $this->language->get('button_cart'); $this->data['button_out_of_stock'] = $this->language->get('button_out_of_stock'); $this->data['button_wishlist'] = $this->language->get('button_wishlist'); $this->data['button_compare'] = $this->language->get('button_compare'); $this->data['button_continue'] = $this->language->get('button_continue'); // Set the last category breadcrumb $url = ''; if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['page'])) { $url .= '&page=' . $this->request->get['page']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['breadcrumbs'][] = array( 'text' => $category_info['name'], 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path']), 'separator' => $this->language->get('text_separator') ); if ($category_info['image']) { $this->data['thumb'] = $this->model_tool_image->resize($category_info['image'], $this->config->get('config_image_category_width'), $this->config->get('config_image_category_height')); $this->document->setOgImage($this->data['thumb']); } else { $this->data['thumb'] = ''; } $this->data['description'] = html_entity_decode($category_info['description'], ENT_QUOTES, 'UTF-8'); if($filterpro_seo) { $this->data['description'] = html_entity_decode($filterpro_seo['description'], ENT_QUOTES, 'UTF-8'); $this->data['heading_title'] = $filterpro_seo['h1']; $this->document->setTitle($filterpro_seo['title']); $this->document->setDescription($filterpro_seo['meta_description']); $this->document->setKeywords($filterpro_seo['meta_keywords']); } $this->data['compare'] = $this->url->link('product/compare'); $url = ''; if (isset($this->request->get['filter'])) { $url .= '&filter=' . $this->request->get['filter']; } if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['categories'] = array(); $results = $this->model_catalog_category->getCategories($category_id); foreach ($results as $result) { $data = array( 'filter_category_id' => $result['category_id'], 'filter_sub_category' => true ); $product_total = $this->model_catalog_product->getTotalProducts($data); $this->data['categories'][] = array( 'name' => $result['name'] . ($this->config->get('config_product_count') ? ' (' . $product_total . ')' : ''), 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '_' . $result['category_id'] . $url), 'thumb' => $this->model_tool_image->resize(($result['image']=='' ? 'no_image.jpg' : $result['image']), $this->config->get('config_image_category_width'), $this->config->get('config_image_category_height')) ); } $this->data['products'] = array(); $data = array( 'filter_category_id' => $category_id, 'filter_filter' => $filter, 'sort' => $sort, 'order' => $order, 'start' => ($page - 1) * $limit, 'limit' => $limit ); if($url_data) { $get = $this->request->get; unset($get['route']); unset($get['filter_id']); $this->request->get['filter_redirect'] = $this->url->link('product/category', http_build_query($get)); $this->request->post = $url_data; $this->load->model('module/filterpro'); list($f1, $f2, $f3, $f4, $f5, $f5, $f6, $url_data) = $this->model_module_filterpro->getData(); $url_data['filer_news'] = false; $product_total = $this->model_module_filterpro->getTotalProducts($url_data); $results = $this->model_module_filterpro->getProducts($url_data); } else { $product_total = $this->model_catalog_product->getTotalProducts($data); $results = $this->model_catalog_product->getProducts($data); } //Вызов метода getFoundProducts должен проводится сразу же после getProducts //только тогда он выдает правильное значения когдачества товаров //$product_total = $this->model_catalog_product->getTotalProducts($data); foreach ($results as $result) { if ($result['image']) { $image = $this->model_tool_image->resize($result['image'], $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')); } else { $image = $this->model_tool_image->resize('no_image.jpg', $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')); } if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { $price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax'))); } else { $price = false; } if ((float)$result['special']) { $special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax'))); } else { $special = false; } if ($this->config->get('config_tax')) { $tax = $this->currency->format((float)$result['special'] ? $result['special'] : $result['price']); } else { $tax = false; } if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }} if ($this->config->get('config_review_status')) { $rating = (int)$result['rating']; } else { $rating = false; } // module attribute to text $options = $this->config->get('attribute_to_text_options'); if (isset($options['show_catalog_attributes'])) { $this->load->model('catalog/attributes_to_text'); $description = $this->model_catalog_attributes_to_text->getText($result['product_id'], $options); if (empty($description) || $description == '<span class="attributes-text"></span>') { $description = utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 300) . '..'; } } else { $description = utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 300) . '..'; } $this->data['products'][] = array( 'promotion' => $result['promotions']['category'], 'statuses' => $result['statuses']['category'], 'stickers' => $result['statuses']['category_stickers'], 'product_id' => $result['product_id'], 'quantity' => $result['quantity'], 'stock' => $result['stock_status'], 'thumb' => $image, 'name' => $result['name'], //produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds 'description' => $description, 'price' => $price, 'special' => $special, 'tax' => $tax, 'rating' => $result['rating'], 'reviews' => sprintf($this->language->get('text_reviews'), (int)$result['reviews']), 'href' => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id'] . $url) ); } $url = ''; if (isset($this->request->get['filter'])) { $url .= '&filter=' . $this->request->get['filter']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['sorts'] = array(); $this->data['sorts'][] = array( 'text' => $this->language->get('text_default'), 'value' => 'p.sort_order-ASC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.sort_order&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_name_asc'), 'value' => 'pd.name-ASC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=pd.name&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_name_desc'), 'value' => 'pd.name-DESC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=pd.name&order=DESC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_price_asc'), 'value' => 'p.price-ASC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.price&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_price_desc'), 'value' => 'p.price-DESC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.price&order=DESC' . $url) ); if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }} if ($this->config->get('config_review_status')) { $this->data['sorts'][] = array( 'text' => $this->language->get('text_rating_desc'), 'value' => 'rating-DESC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=rating&order=DESC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_rating_asc'), 'value' => 'rating-ASC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=rating&order=ASC' . $url) ); } $this->data['sorts'][] = array( 'text' => $this->language->get('text_model_asc'), 'value' => 'p.model-ASC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.model&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_model_desc'), 'value' => 'p.model-DESC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.model&order=DESC' . $url) ); $url = ''; if (isset($this->request->get['filter'])) { $url .= '&filter=' . $this->request->get['filter']; } if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } $this->data['limits'] = array(); $limits = array_unique(array($this->config->get('config_catalog_limit'), 25, 50, 75, 100)); sort($limits); foreach($limits as $value){ $this->data['limits'][] = array( 'text' => $value, 'value' => $value, 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . $url . '&limit=' . $value) ); } $url = ''; if (isset($this->request->get['filter'])) { $url .= '&filter=' . $this->request->get['filter']; } if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $pagination = new Pagination(); $pagination->total = $product_total; $pagination->page = $page; $pagination->limit = $limit; $pagination->text = $this->language->get('text_pagination'); $pagination->url = $this->url->link('product/category', 'path=' . $this->request->get['path'] . $url . '&page={page}'); $this->data['pagination'] = $pagination->render(); $this->data['sort'] = $sort; $this->data['order'] = $order; $this->data['limit'] = $limit; $this->data['continue'] = $this->url->link('common/home'); if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/category.tpl')) { $this->template = $this->config->get('config_template') . '/template/product/category.tpl'; } else { $this->template = 'default/template/product/category.tpl'; } $this->children = array( 'common/column_left', 'common/column_right', 'common/content_top', 'common/content_bottom', 'common/footer', 'common/header' ); $this->response->setOutput($this->render()); } else { $url = ''; if (isset($this->request->get['path'])) { $url .= '&path=' . $this->request->get['path']; } if (isset($this->request->get['filter'])) { $url .= '&filter=' . $this->request->get['filter']; } if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['page'])) { $url .= '&page=' . $this->request->get['page']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['breadcrumbs'][] = array( 'text' => $this->language->get('text_error'), 'href' => $this->url->link('product/category', $url), 'separator' => $this->language->get('text_separator') ); $this->document->setTitle($this->language->get('text_error')); $this->data['heading_title'] = $this->language->get('text_error'); $this->data['text_error'] = $this->language->get('text_error'); $this->data['button_continue'] = $this->language->get('button_continue'); $this->data['continue'] = $this->url->link('common/home'); if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/error/not_found.tpl')) { $this->template = $this->config->get('config_template') . '/template/error/not_found.tpl'; } else { $this->template = 'default/template/error/not_found.tpl'; } $this->children = array( 'common/column_left', 'common/column_right', 'common/content_top', 'common/content_bottom', 'common/footer', 'common/header' ); $this->response->setOutput($this->render()); } } } ?> Что заметил. Системные ошибки, связанные с "Product Display Settings", периодически начали появляться после того, как добавился файл "product_statuses.xml" нового модуля "Ситусы Товара PRO Speed, автоситусы, стикеры, текстовые ситусы". Видно им тесно вдвоём ) Link to comment Share on other sites More sharing options... Prev 271 272 273 274 275 276 277 278 279 Next Page 276 of 279 Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 61 Go to topic listing Similar Content filterpro filter Pro By freelancer, June 23, 2012 фильтр filter 2 comments 287,420 views vladplot April 28, 2017 Mega Filter PLUS [powered by Mega Filter PRO][2.x, 3.x] [Подгдержка] 1 2 3 4 56 By OCMegaExtensions, March 27, 2017 mega filter plus filter plus (and 8 more) Tagged with: mega filter plus filter plus mega filter manufacturers filter seo filter filter seo filter brands filter price filter categories filter 1,397 replies 156,366 views FreemanMike February 21 filter Фильтр товаров Dream Filter [Подгдержка] 1 2 3 4 55 By reDream, May 18, 2017 фильтр redream (and 2 more) Tagged with: фильтр redream фильтр товаров фильтрация 1,356 replies 130,150 views reDream March 10 [Подгдержка] Custom templates Pro By halfhope, June 20, 2021 персонализованные шалпотому чтоны custom templates (and 2 more) Tagged with: персонализованные шалпотому чтоны custom templates шаблон для категории шаблон для товара 6 replies 527 views igorfelix March 16 Модуль Акции, Подарки PRO [Подгдержка] 1 2 3 4 9 By sv2109, February 10, 2016 акция акции (and 7 more) Tagged with: акция акции подарки подарок товар категория корзина продажа продажи 203 replies 22,872 views sv2109 Tuesday at 02:13 PM Recently Browsing 0 members No registered users viewing this page.
pahanmcs Posted April 25, 2019 Share Posted April 25, 2019 5 часов назад, freelancer сказал: @pahanmcs ггде можно увигдеть то, что вы гделаете? я уже решил проблему: изменил скрипт, ик как фильтр перерисовывает согдержимое и теряются обрилитлики событий. Link to comment Share on other sites More sharing options...
serg34 Posted April 26, 2019 Share Posted April 26, 2019 Здравствуйте! Подскажите в чем может быть проблема. На версии 2.4 сео настройка рилииет нормально, сивлю версию v2.5.17.6_beta (speed), корректно не рилииет. Переходит только на сам атрибут, а меи-теги не отображает. Link to comment Share on other sites More sharing options...
qweezz Posted May 5, 2019 Share Posted May 5, 2019 Здравствуйте В фильтре можно сортировать порядок вывода атрибутов? У нас все атрибуты в одной группе атрибутов: 1 2 3 4 Надо чтобы на страниэто сайи в фильтре порядок был другой, например 2 4 3 Link to comment Share on other sites More sharing options...
freelancer Posted May 8, 2019 Author Share Posted May 8, 2019 @qweezz тут есть про сортировки для разных версий Link to comment Share on other sites More sharing options... promikes Posted May 13, 2019 Share Posted May 13, 2019 Добрый гдень! Столкнулся с проблемой, покупал лиэтонзию Вашего фильтра еещё лет 5 назад. Вот сейчас гделаем переход на https, т.к. уже требуют все рекламные площадки, и после перехода у нас ion_cube соответственно не пропускает наш сайт, т.к. слииет, что мы пыиемся дублировать лиэтонзию. Написал в ЛС, сюда дублирую, т.к. кейс может быть интересен другим пользователям, полагаю. Link to comment Share on other sites More sharing options... 2 weeks later... thecatus Posted May 27, 2019 Share Posted May 27, 2019 @freelancer, здравствуйте, прошу ответить на личное сообещёние от 21.05. по вопросу подгдержки модуля Link to comment Share on other sites More sharing options... 4 weeks later... Zapuzin Posted June 19, 2019 Share Posted June 19, 2019 (edited) В 13.05.2019 в 13:23, promikes сказал: Вот сейчас гделаем переход на https, т.к. уже требуют все рекламные площадки... Тоже в проэтоссе перехода на https. Вопрос о лиэтонзии данного модуля "filterpro v2.4.4(seo)" и "SeoGen 4.1" очень актунон! Без ясности данного вопроса переходить не хочется ) С осильными авторами модулей в проэтоссе выяснения. freelancer, написАл в ЛС Edited June 19, 2019 by Zapuzin Link to comment Share on other sites More sharing options... Zapuzin Posted June 20, 2019 Share Posted June 20, 2019 (edited) Не дождался отвеи и перешёл на https. Все лиэтонзионные модули, в том лисле и данные, рилииют как и рилиили. Проблем не обнаружил ) По осильным модулям был спокоен, ик как разрилитлики вышли на связь и подтвердили, что от перехода с http на https лиэтонзия сохраняется. freelancer, уже не актуально. Edited June 20, 2019 by Zapuzin Link to comment Share on other sites More sharing options... 4 weeks later... Zapuzin Posted July 14, 2019 Share Posted July 14, 2019 (edited) filterpro_v2.4.4(seo) (29.02.2016, #433262) ocStore-1.5.5.1.2 Усиновлен Product Display Settings vqmod В этолом этот модуль с фильтром подружил, осилась только одна проблемка. Вот её никак не могу самостоятельно попотому чтороть ) Если товара нет в налилии, то "Налилие" отображается правильно, на том языке, который выбран на сайте. Если товар есть в налилии, то "Налилие" отображается неправильно - "pds_instock". Вот скрины для наглядности: Налилие без фильтра: Налилие с фильтром: "catalog/controller/product/category.php" из файла "product-display-settings.xml": Спойлер <file name="catalog/controller/product/category.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }}]]></add> </operation> <operation> <search position="after"><![CDATA['name' => $result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->data['text_grid'] = $this->language->get('text_grid');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> "catalog/controller/module/filterpro.php" из файла "product-display-settings.xml": Спойлер <file name="catalog/controller/module/filterpro.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }}]]></add> </operation> <operation> <search position="after"><![CDATA['name' => $result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->data['text_grid'] = $this->language->get('text_grid');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> Вот языковой файл "catalog/language/russian/product/pds.php": Спойлер <?php $_['pds_model'] = 'Код товара:'; $_['pds_sku'] = 'Страна производитель:'; $_['pds_brand'] = 'Бренд:'; $_['pds_upc'] = 'UPC:'; $_['pds_location'] = 'Гарантия:'; $_['pds_stock'] = 'Налилие:'; $_['pds_instock'] = 'В налилии:'; $_['pds_weight'] = 'Вес:'; ?> " vq2-catalog_controller_module_filterpro.php" Спойлер <?php class ControllerModuleFilterPro extends Controller { protected function index($setting) { if($setting['type'] == 1) { $this->language->load('product/filter'); $this->data['text_display'] = $this->language->get('text_display'); $this->data['text_list'] = $this->language->get('text_list'); $this->data['text_grid'] = $this->language->get('text_grid'); $this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock'); $this->data['text_sort'] = $this->language->get('text_sort'); $this->data['text_limit'] = $this->language->get('text_limit'); $sort = 'p.sort_order'; $order = 'ASC'; $limit = $this->config->get('config_catalog_limit'); $url = ''; if(isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['sorts'] = array(); $this->data['sorts'][] = array( 'text' => $this->language->get('text_default'), 'value' => 'p.sort_order-ASC', 'href' => $this->url->link('product/filter', 'sort=p.sort_order&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_name_asc'), 'value' => 'pd.name-ASC', 'href' => $this->url->link('product/filter', 'sort=pd.name&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_name_desc'), 'value' => 'pd.name-DESC', 'href' => $this->url->link('product/filter', 'sort=pd.name&order=DESC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_price_asc'), 'value' => 'p.price-ASC', 'href' => $this->url->link('product/filter', 'sort=p.price&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_price_desc'), 'value' => 'p.price-DESC', 'href' => $this->url->link('product/filter', 'sort=p.price&order=DESC' . $url) ); if($this->config->get('config_review_status')) { $this->data['sorts'][] = array( 'text' => $this->language->get('text_rating_desc'), 'value' => 'rating-DESC', 'href' => $this->url->link('product/filter', 'sort=rating&order=DESC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_rating_asc'), 'value' => 'rating-ASC', 'href' => $this->url->link('product/filter', 'sort=rating&order=ASC' . $url) ); } $this->data['sorts'][] = array( 'text' => $this->language->get('text_model_asc'), 'value' => 'p.model-ASC', 'href' => $this->url->link('product/filter', 'sort=p.model&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_model_desc'), 'value' => 'p.model-DESC', 'href' => $this->url->link('product/filter', 'sort=p.model&order=DESC' . $url) ); $url = ''; if(isset($this->request->get['sort'])) { $url .= 'sort=' . $this->request->get['sort']; } if(isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } $this->data['limits'] = array(); $this->data['limits'][] = array( 'text' => $this->config->get('config_catalog_limit'), 'value' => $this->config->get('config_catalog_limit'), 'href' => $this->url->link('product/filter', $url . '&limit=' . $this->config->get('config_catalog_limit')) ); $this->data['limits'][] = array( 'text' => 25, 'value' => 25, 'href' => $this->url->link('product/filter', $url . '&limit=25') ); $this->data['limits'][] = array( 'text' => 50, 'value' => 50, 'href' => $this->url->link('product/filter', $url . '&limit=50') ); $this->data['limits'][] = array( 'text' => 75, 'value' => 75, 'href' => $this->url->link('product/filter', $url . '&limit=75') ); $this->data['limits'][] = array( 'text' => 100, 'value' => 100, 'href' => $this->url->link('product/filter', $url . '&limit=100') ); $this->data['sort'] = $sort; $this->data['order'] = $order; $this->data['limit'] = $limit; $this->document->addScript('catalog/view/javascript/jquery/jquery.total-storage.min.js'); $this->data += $this->language->load('product/category'); $this->data['text_compare'] = sprintf($this->language->get('text_compare'), (isset($this->session->data['compare']) ? count($this->session->data['compare']) : 0)); if(file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/filterpro_container.tpl')) { $this->template = $this->config->get('config_template') . '/template/module/filterpro_container.tpl'; } else { $this->template = 'default/template/module/filterpro_container.tpl'; } } else { $this->language->load('module/filterpro'); if (isset($this->request->get['sort'])) { $sort = $this->request->get['sort']; } else { $sort = 'p.sort_order'; } if (isset($this->request->get['order'])) { $order = $this->request->get['order']; } else { $order = 'ASC'; } if (isset($this->request->get['page'])) { $page = $this->request->get['page']; } else { $page = 1; } if (isset($this->request->get['limit'])) { $limit = $this->request->get['limit']; } else { $limit = $this->config->get('config_catalog_limit'); } $this->data['sort'] = $sort; $this->data['order'] = $order; $this->data['page'] = $page; $this->data['limit'] = $limit; $this->data['text_tax'] = $this->language->get('text_tax'); $this->data['button_cart'] = $this->language->get('button_cart'); $this->data['button_out_of_stock'] = $this->language->get('button_out_of_stock'); $this->data['button_wishlist'] = $this->language->get('button_wishlist'); $this->data['button_compare'] = $this->language->get('button_compare'); $this->data['text_price_range'] = $this->language->get('text_price_range'); $this->data['text_manufacturers'] = $this->language->get('text_manufacturers'); $this->data['text_tags'] = $this->language->get('text_tags'); $this->data['text_categories'] = $this->language->get('text_categories'); $this->data['text_attributes'] = $this->language->get('text_attributes'); $this->data['text_all'] = $this->language->get('text_all'); $this->data['clear_filter'] = $this->language->get('clear_filter'); $this->data['text_instock'] = $this->language->get('text_instock'); $this->data['text_filer_special'] = $this->language->get('text_filer_special'); $this->data['text_filer_news'] = $this->language->get('text_filer_news'); $this->data['text_show_filer_special'] = $this->language->get('text_show_filer_special'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock'); $this->data['symbol_right'] = $this->currency->getSymbolRight(); $this->data['symbol_left'] = $this->currency->getSymbolLeft(); $this->data['setting'] = $setting; if(VERSION == '1.5.0') { $filterpro_setting = unserialize($this->config->get('filterpro_setting')); } else { $filterpro_setting = $this->config->get('filterpro_setting'); } $this->data['text_show_filer_news'] = sprintf($this->language->get('text_show_filer_news'), $filterpro_setting['news_days']); $this->data['heading_title'] = $filterpro_setting['filterpro_name']; $this->data['heading_title'] = $this->language->get('heading_title'); $is_special = isset($this->request->get['route']) && $this->request->get['route'] == "product/special"; $is_bydate = isset($this->request->get['route']) && $this->request->get['route'] == "product/productsbydate"; $category_id = false; $this->data['path'] = ""; if(isset($this->request->get['path'])) { $this->data['path'] = $this->request->get['path']; $parts = explode('_', (string)$this->request->get['path']); $category_id = array_pop($parts); } $manufacturer_id = false; if(isset($this->request->get['manufacturer_id'])) { $manufacturer_id = $this->request->get['manufacturer_id']; $data = array( 'filter_manufacturer_id' => $this->request->get['manufacturer_id'] ); } else { $data = array( 'filter_category_id' => $category_id, 'filter_sub_category' => isset($filterpro_setting['subcategories']) ); } $this->load->model('catalog/product'); $product_total = $this->model_catalog_product->getTotalProducts($data); if($product_total < 2) { return; } $this->data['category_id'] = $category_id; $data = array('category_id' => $category_id, 'manufacturer_id' => $manufacturer_id, 'special' => $is_special, 'by_date' => $is_bydate,); $this->load->model('module/filterpro'); $this->data['manufacturers'] = false; if(isset($this->request->get['manufacturer_id'])) { $this->data['manufacturer_id'] = $this->request->get['manufacturer_id']; } else { if($filterpro_setting['display_manufacturer'] != 'none') { $this->data['manufacturers'] = $this->model_module_filterpro->getManufacturers($data); $this->data['display_manufacturer'] = $filterpro_setting['display_manufacturer']; $this->data['expanded_manufacturer'] = isset($filterpro_setting['expanded_manufacturer']) ? 1 : 0; } } $this->data['options'] = $this->model_module_filterpro->getOptions($data); $this->load->model('tool/image'); foreach($this->data['options'] as $i => $option) { if(!isset($filterpro_setting['display_option_' . $option['option_id']])) { $filterpro_setting['display_option_' . $option['option_id']] = 'none'; } $display_option = $filterpro_setting['display_option_' . $option['option_id']]; if($display_option != 'none') { $this->data['options'][$i]['display'] = $display_option; $this->data['options'][$i]['expanded'] = isset($filterpro_setting['expanded_option_' . $option['option_id']]) ? 1 : 0; foreach($this->data['options'][$i]['option_values'] as $j => $option_value) { $this->data['options'][$i]['option_values'][$j]['thumb'] = $this->model_tool_image->resize($this->data['options'][$i]['option_values'][$j]['image'], (int)$filterpro_setting['option_images_w'], (int)$filterpro_setting['option_images_h']); } } else { unset($this->data['options'][$i]); } } $this->data['tags'] = array(); if(version_compare(VERSION, "1.5.4") <= 0 && $filterpro_setting['display_tags'] != 'none') { $this->data['tags'] = $this->model_module_filterpro->getTags($data); $this->data['expanded_tags'] = isset($filterpro_setting['expanded_tags']) ? 1 : 0; } $this->data['categories'] = false; if($filterpro_setting['display_categories'] != 'none') { $this->data['categories'] = $this->model_module_filterpro->getSubCategories($data); $this->data['expanded_categories'] = isset($filterpro_setting['expanded_categories']) ? 1 : 0; } $this->data['attributes'] = $this->model_module_filterpro->getAttributes($data); foreach($this->data['attributes'] as $j => $attribute_group) { foreach($attribute_group['attribute_values'] as $attribute_id => $attribute) { if(!isset($filterpro_setting['display_attribute_' . $attribute_id])) { $filterpro_setting['display_attribute_' . $attribute_id] = 'none'; } $display_attribute = $filterpro_setting['display_attribute_' . $attribute_id]; if($display_attribute != 'none') { if($display_attribute == 'slider') { $values = $this->data['attributes'][$j]['attribute_values'][$attribute_id]['values']; $first = $values[0]; $this->data['attributes'][$j]['attribute_values'][$attribute_id]['suffix'] = preg_replace("/^[0-9]*(\\.[0-9]*)?/", '', $first); $values = array_map('floatVal', $values); $values = array_unique($values); sort($values); $this->data['attributes'][$j]['attribute_values'][$attribute_id]['values'] = $values; } $this->data['attributes'][$j]['attribute_values'][$attribute_id]['display'] = $display_attribute; $this->data['attributes'][$j]['attribute_values'][$attribute_id]['expanded'] = isset($filterpro_setting['expanded_attribute_' . $attribute_id]) ? 1 : 0; } else { unset($this->data['attributes'][$j]['attribute_values'][$attribute_id]); if(!$this->data['attributes'][$j]['attribute_values']) { unset($this->data['attributes'][$j]); } } } } $this->data['filter_groups'] = array(); $this->load->model('catalog/category'); $this->data['option_main_checkbox'] = isset($filterpro_setting['option_main_checkbox']) ? 1 : 0; if(version_compare(VERSION, "1.5.5") >= 0 && $filterpro_setting['filters']==1) { $this->data['expanded_filters'] = isset($filterpro_setting['expanded_filters']) ? 1 : 0; $filter_groups = $this->model_catalog_category->getCategoryFilters($category_id); if ($filter_groups) { foreach ($filter_groups as $filter_group) { $filter_data = array(); foreach ($filter_group['filter'] as $filter) { $data = array( 'filter_category_id' => $category_id, 'filter_filter' => $filter['filter_id'] ); $filter_data[] = array( 'filter_id' => $filter['filter_id'], 'name' => $filter['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($data) . ')' : '') ); } $this->data['filter_groups'][] = array( 'filter_group_id' => $filter_group['filter_group_id'], 'name' => $filter_group['name'], 'filter' => $filter_data ); } } } $this->data['price_slider'] = $filterpro_setting['price_slider']; $this->data['attr_group'] = $filterpro_setting['attr_group']; $this->data['filer_special'] = isset($filterpro_setting['filer_special']); $this->data['filer_news'] = isset($filterpro_setting['filer_news']); $manufacturer = false; if(isset($this->request->get['manufacturer_id'])) { $manufacturer = array($this->request->get['manufacturer_id']); } $categories = false; if($category_id) { $categories = array($category_id); } $arr_data = array( 'instock' => isset($filterpro_setting['instock_checked']), 'option_value' => false, 'manufacturer' => $manufacturer, 'attribute_value' => false, 'tags' => false, 'categories' => $categories, 'attr_slider' => false, 'filter' => false, 'min_price' => 0, 'max_price' => 0, 'start' => 0, 'limit' => 1, 'sort' => false, 'order' => false ); if($this->data['filer_news']) { $product_total = $this->model_module_filterpro->getTotalProducts($arr_data + array('filer_news' => true)); $this->data['filer_news'] = $product_total > 0; // var_dump($product_total); } if($this->data['filer_special']) { $product_total = $this->model_module_filterpro->getTotalProducts($arr_data + array('special' => true, 'filer_news' => false)); $this->data['filer_special'] = $product_total > 0; // var_dump($product_total); } $this->data['instock_checked'] = isset($filterpro_setting['instock_checked']) ? 1 : 0; $this->data['instock_visible'] = isset($filterpro_setting['instock_visible']) ? 1 : 0; if($this->data['tags'] || $this->data['categories'] || $this->data['options'] || $this->data['manufacturers'] || $this->data['attributes'] || $this->data['price_slider']) { $this->document->addScript('catalog/view/javascript/jquery/jquery.tmpl.min.js'); $this->document->addScript('catalog/view/javascript/jquery/jquery.deserialize.min.js'); $this->document->addScript('catalog/view/javascript/jquery/jquery.loadmask.min.js'); $this->document->addScript('catalog/view/javascript/jquery/jquery.lazyload.min.js'); if(isset($filterpro_setting['enable_touch_screen'])) { $this->document->addScript('catalog/view/javascript/jquery/jquery.ui.touch-punch.min.js'); } $this->document->addScript('catalog/view/javascript/filterpro.min.js'); if(isset($filterpro_setting['jscrollpane'])) { $this->document->addScript('catalog/view/javascript/jquery/jscrollpane/jquery.mousewheel.js'); $this->document->addScript('catalog/view/javascript/jquery/jscrollpane/jquery.jscrollpane.min.js'); $this->document->addStyle('catalog/view/javascript/jquery/jscrollpane/jquery.jscrollpane.css'); } if(isset($filterpro_setting['enable_endless_scroller'])) { $this->document->addScript('catalog/view/javascript/jquery/jquery.endlessScroll.js'); } if (isset($filterpro_setting['theme_mega'])){ $this->document->addStyle('catalog/view/theme/default/stylesheet/filterpro-mega.css'); $this->document->addScript('catalog/view/javascript/jquery/qtip2/mega/jquery.qtip.min.js'); $this->document->addStyle('catalog/view/javascript/jquery/qtip2/mega/jquery.qtip.min.css'); } else{ $this->document->addStyle('catalog/view/theme/default/stylesheet/filterpro.css'); $this->document->addScript('catalog/view/javascript/jquery/qtip2/jquery.qtip.min.js'); $this->document->addStyle('catalog/view/javascript/jquery/qtip2/jquery.qtip.min.css'); } $this->document->addStyle('catalog/view/theme/default/stylesheet/jquery.loadmask.css'); if($this->config->get('config_template') == 'shoppica2') { $this->document->addStyle('catalog/view/javascript/jquery/ui/themes/ui-lightness/jquery-ui-1.8.16.custom.css'); } } $filter_hash = ""; if(isset($this->request->get['filter_id'])) { $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "filterpro_seo WHERE `url`='" . $this->db->escape("filter_id=" . $this->request->get['filter_id']) . "'"); if ($query->num_rows){ $filterpro_seo = unserialize($query->row['data']); $filter_hash = $filterpro_seo['url']; } } $this->data['filterpro_container'] = $filterpro_setting['filterpro_container']; $this->data['filterpro_afterload'] = html_entity_decode($filterpro_setting['filterpro_afterload'], ENT_QUOTES, 'UTF-8'); $this->data['filterOptions'] = json_encode(array( 'container' => $filterpro_setting['filterpro_container'], 'filter_redirect' => isset($this->request->get['filter_redirect'])?$this->request->get['filter_redirect']:null, 'filter_hash' => $filter_hash, 'window_hash' => !isset($filterpro_setting['hide_window_hash']), 'hide_count' => isset($filterpro_setting['hide_count']), 'hide_options' => isset($filterpro_setting['hide_options']), 'disable_mask' => isset($filterpro_setting['disable_mask']), 'endless_scroller' => isset($filterpro_setting['enable_endless_scroller']), )); if(file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/filterpro.tpl')) { $this->template = $this->config->get('config_template') . '/template/module/filterpro.tpl'; } else { $this->template = 'default/template/module/filterpro.tpl'; } } $this->render(); } public function getProducts() { if(!isset($this->request->post['min_price'])) { return; } $this->load->model('module/filterpro'); $this->load->model('catalog/product'); $this->load->model('tool/image'); $getTotals = false; if(isset($this->request->post['getTotals']) && $this->request->post['getTotals']) { $getTotals = true; } list($filterpro_setting, $page, $limit, $manufacturer_id, $attribute_value, $option_value, $category_id, $data) = $this->model_module_filterpro->getData(); $is_special = (isset($this->request->post['route']) && $this->request->post['route'] == "product/special") || isset($this->request->post['filer_special']); $is_bydate = isset($this->request->post['route']) && $this->request->post['route'] == "product/productsbydate"; $data['special'] = $is_special; $data['by_date'] = $is_bydate; $data['filer_news'] = isset($this->request->post['filer_news']); $totals_manufacturers = array(); if ($getTotals && $filterpro_setting['display_manufacturer'] != 'none' && !isset($this->request->post['manufacturer_id'])){ $totals_manufacturers = $this->model_module_filterpro->getTotalManufacturers($data); } $totals_options = array(); $totals_attributes = array(); $totals_categories = array(); $totals_tags = array(); if($getTotals) { $totals_options = $this->model_module_filterpro->getTotalOptions($data); if(!isset($this->filterpro_setting['option_total_simple'])) { if($option_value) { foreach($option_value as $option_id => $option_value_id) { foreach($totals_options as $i => $totals_option) { if($totals_option['o'] == $option_id) { unset($totals_options[$i]); } } $temp_data = $data; unset($temp_data['option_value'][$option_id]); foreach($this->model_module_filterpro->getTotalOptions($temp_data) as $option) { if($option['o'] == $option_id) { $totals_options[] = $option; } } } } } $totals_attributes = $this->model_module_filterpro->getTotalAttributes($data); if(!isset($filterpro_setting['attr_total_simple'])) { foreach($attribute_value as $attribute_id => $values) { foreach($totals_attributes as $i => $attribute) { if($attribute['id'] == $attribute_id) { unset($totals_attributes[$i]); } } $temp_data = $data; unset($temp_data['attribute_value'][$attribute_id]); foreach($this->model_module_filterpro->getTotalAttributes($temp_data) as $attribute) { if($attribute['id'] == $attribute_id) { $totals_attributes[] = $attribute; } } } } $totals_tags = array(); if(version_compare(VERSION, "1.5.4") <= 0) { $totals_tags = $this->model_module_filterpro->getTotalTags($data); } $totals_categories = $this->model_module_filterpro->getTotalCategories($data, $category_id); } $results = $this->model_module_filterpro->getProducts($data); $min_price = false; $max_price = false; if(isset($this->request->post['getPriceLimits']) && $this->request->post['getPriceLimits']) { $priceLimits = $this->model_module_filterpro->getPriceLimits(array('category_id' => $category_id, 'manufacturer_id' => $manufacturer_id, 'special' =>$is_special, 'by_date' =>$is_bydate)); $min_price = $priceLimits['min_price']; $max_price = $priceLimits['max_price']; } $this->request->get['path'] = isset($this->request->post['path']) ? $this->request->post['path'] : ''; $product_total = $this->model_module_filterpro->getTotalProducts($data); $result_html = $this->getHtmlProducts($results, $product_total); $pagination = new Pagination(); $pagination->total = $product_total; $pagination->page = $page; $pagination->limit = $limit; $pagination->text = $this->language->get('text_pagination'); if (isset($this->request->post['manufacturer_id'])) { $pagination->url = $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->post['manufacturer_id'] . '&page={page}'); } else { $pagination->url = $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&page={page}'); } $pagination = $pagination->render(); $k = 1; if((float)$filterpro_setting['tax'] > 0) { $k = 1 + (float)$filterpro_setting['tax'] / 100; } $min_price = $this->currency->convert($min_price * $k, $this->config->get('config_currency'), $this->currency->getCode()); $max_price = $this->currency->convert($max_price * $k, $this->config->get('config_currency'), $this->currency->getCode()); $json = json_encode(array('result_html' => $result_html, 'min_price' => $min_price, 'max_price' => $max_price, 'pagination' => $pagination, 'totals_data' => $getTotals ? array( 'product_total' => $product_total, 'manufacturers' => $totals_manufacturers, 'options' => $totals_options, 'attributes' => $totals_attributes, 'categories' => $totals_categories, 'tags' => $totals_tags) : false)); $this->response->setOutput($json); } private function getHtmlProducts($results, $product_total) { $this->data += $this->language->load('product/category'); $this->data['use_lazyload'] = isset($filterpro_setting['use_lazyload']) ? 1 : 0; $this->data['products'] = array(); $this->load->model('catalog/product_status'); $this->load->model('catalog/promotion'); foreach ($results as $result) { $promotions = $this->model_catalog_promotion->getHTMLProductPromotions($result['product_id']); if ($result['image']) { $image = $this->model_tool_image->resize($result['image'], $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')); } else { $image = $this->model_tool_image->resize('no_image.jpg', $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')); } if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { $price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax'))); } else { $price = false; } if ((float)$result['special']) { $special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax'))); } else { $special = false; } if ($this->config->get('config_tax')) { $tax = $this->currency->format((float)$result['special'] ? $result['special'] : $result['price']); } else { $tax = false; } if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }} if ($this->config->get('config_review_status')) { $rating = (int)$result['rating']; } else { $rating = false; } // module attribute to text $options = $this->config->get('attribute_to_text_options'); if (isset($options['show_catalog_attributes'])) { $this->load->model('catalog/attributes_to_text'); $description = $this->model_catalog_attributes_to_text->getText($result['product_id'], $options); if (empty($description) || $description == '<span class="attributes-text"></span>') { $description = utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 300) . '..'; } } else { $description = utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 300) . '..'; } $this->data['products'][] = array( 'promotion' => $result['promotions']['category'], 'statuses' => $result['statuses']['category'], 'stickers' => $result['statuses']['category_stickers'], 'product_id' => $result['product_id'], 'quantity' => $result['quantity'], 'stock' => $result['stock_status'], 'thumb' => $image, 'name' => $result['name'], //produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds 'description' => $description, 'price' => $price, 'special' => $special, 'tax' => $tax, 'rating' => $result['rating'], 'reviews' => sprintf($this->language->get('text_reviews'), (int)$result['reviews']), 'href' => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id']) ); } if(file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/filterpro_list.tpl') && file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/filterpro_grid.tpl') ) { $this->template = $this->config->get('config_template') . '/template/module/filterpro_list.tpl'; $return['list'] = $this->render(); $this->template = $this->config->get('config_template') . '/template/module/filterpro_grid.tpl'; $return['grid'] = $this->render(); return $return; } elseif(file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/filterpro_products.tpl')) { $this->template = $this->config->get('config_template') . '/template/module/filterpro_products.tpl'; } else { $this->template = 'default/template/module/filterpro_products.tpl'; } return $this->render(); } } ?> Может кто знает, как справиться с проблемой? Буду благодарен люпотому чтой помощи. Edited July 14, 2019 by Zapuzin Добавление файла Link to comment Share on other sites More sharing options... Zapuzin Posted July 14, 2019 Share Posted July 14, 2019 Забыл написать, что ошипотому чток в логах нет, как системных, ик и vqmod. Link to comment Share on other sites More sharing options... Zapuzin Posted July 15, 2019 Share Posted July 15, 2019 Странно. Появились ошибки, хотя на сайте модуль Product Display Settings отображает всё, что нужно правильно, только фильтр про не хочет значение "Налилие" товаров, которые есть в налилии, переводить ) Ошибки появились через некоторое время. Во время экспериментов с проблемным модулем кеш листился весь, и они не появлялись ) Спойлер 2019-07-15 0:59:07 - PHP Notice: Undefined variable: result in /home/teploplc/public_html/vqmod/vqcache/vq2-catalog_controller_product_manufacturer.php on line 386 2019-07-15 0:59:07 - PHP Notice: Undefined variable: result in /home/teploplc/public_html/vqmod/vqcache/vq2-catalog_controller_product_manufacturer.php on line 387 2019-07-15 10:57:34 - PHP Notice: Undefined variable: result in /home/teploplc/public_html/vqmod/vqcache/vq2-catalog_controller_product_category.php on line 404 2019-07-15 10:57:34 - PHP Notice: Undefined variable: result in /home/teploplc/public_html/vqmod/vqcache/vq2-catalog_controller_product_category.php on line 405 Весь "product-display-settings.xml" Спойлер <!-- Created using vQmod XML Generator by UKSB - http://www.opencart-extensions.co.uk //--> <modification> <id><![CDATA[Product Display Settings]]></id> <version><![CDATA[1.2]]></version> <vqmver><![CDATA[2.1.5]]></vqmver> <author><![CDATA[Flo from shopencart.com, edited by drbogger]]></author> <file name="admin/controller/setting/setting.php"> <operation> <search position="before" error="log"><![CDATA[if (isset($this->request->post['config_logo'])) {]]></search> <add><![CDATA[ //product display settings if (isset($this->request->post['config_display_sku'])) { $this->data['config_display_sku'] = $this->request->post['config_display_sku']; } else { $this->data['config_display_sku'] = $this->config->get('config_display_sku'); } if (isset($this->request->post['config_display_pweight'])) { $this->data['config_display_pweight'] = $this->request->post['config_display_pweight']; } else { $this->data['config_display_pweight'] = $this->config->get('config_display_pweight'); } if (isset($this->request->post['config_display_skup'])) { $this->data['config_display_skup'] = $this->request->post['config_display_skup']; } else { $this->data['config_display_skup'] = $this->config->get('config_display_skup'); } if (isset($this->request->post['config_display_model'])) { $this->data['config_display_model'] = $this->request->post['config_display_model']; } else { $this->data['config_display_model'] = $this->config->get('config_display_model'); } if (isset($this->request->post['config_display_modelp'])) { $this->data['config_display_modelp'] = $this->request->post['config_display_modelp']; } else { $this->data['config_display_modelp'] = $this->config->get('config_display_modelp'); } if (isset($this->request->post['config_display_brand'])) { $this->data['config_display_brand'] = $this->request->post['config_display_brand']; } else { $this->data['config_display_brand'] = $this->config->get('config_display_brand'); } if (isset($this->request->post['config_display_brandp'])) { $this->data['config_display_brandp'] = $this->request->post['config_display_brandp']; } else { $this->data['config_display_brandp'] = $this->config->get('config_display_brandp'); } if (isset($this->request->post['config_display_rewardsp'])) { $this->data['config_display_rewardsp'] = $this->request->post['config_display_rewardsp']; } else { $this->data['config_display_rewardsp'] = $this->config->get('config_display_rewardsp'); } if (isset($this->request->post['config_display_location'])) { $this->data['config_display_location'] = $this->request->post['config_display_location']; } else { $this->data['config_display_location'] = $this->config->get('config_display_location'); } if (isset($this->request->post['config_display_locationp'])) { $this->data['config_display_locationp'] = $this->request->post['config_display_locationp']; } else { $this->data['config_display_locationp'] = $this->config->get('config_display_locationp'); } if (isset($this->request->post['config_display_listock'])) { $this->data['config_display_listock'] = $this->request->post['config_display_listock']; } else { $this->data['config_display_listock'] = $this->config->get('config_display_listock'); } if (isset($this->request->post['config_display_upc'])) { $this->data['config_display_upc'] = $this->request->post['config_display_upc']; } else { $this->data['config_display_upc'] = $this->config->get('config_display_upc'); } if (isset($this->request->post['config_display_upcp'])) { $this->data['config_display_upcp'] = $this->request->post['config_display_upcp']; } else { $this->data['config_display_upcp'] = $this->config->get('config_display_upcp'); } //end of product display options]]></add> </operation> </file> <file name="admin/view/template/setting/setting.tpl"> <operation> <search position="after"><![CDATA[<div id="tab-option">]]></search> <add><![CDATA[<table class="form"> <tr> <td>Бонусные баллы на страниэто товара?</td> <td><?php if ($config_display_rewardsp) { ?> <input type="radio" name="config_display_rewardsp" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_rewardsp" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_rewardsp" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_rewardsp" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>Вес на страниэто товара?</td> <td><?php if ($config_display_pweight) { ?> <input type="radio" name="config_display_pweight" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_pweight" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_pweight" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_pweight" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>SKU на страниэто товара?</td> <td><?php if ($config_display_sku) { ?> <input type="radio" name="config_display_sku" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_sku" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_sku" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_sku" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>SKU на страниэто категории?</td> <td><?php if ($config_display_skup) { ?> <input type="radio" name="config_display_skup" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_skup" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_skup" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_skup" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>Код товара на страниэто категории?</td> <td><?php if ($config_display_model) { ?> <input type="radio" name="config_display_model" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_model" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_model" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_model" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>Код товара на страниэто товара?</td> <td><?php if ($config_display_modelp) { ?> <input type="radio" name="config_display_modelp" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_modelp" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_modelp" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_modelp" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>Бренд на страниэто категории?</td> <td><?php if ($config_display_brand) { ?> <input type="radio" name="config_display_brand" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_brand" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_brand" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_brand" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>Бренд на страниэто товара?</td> <td><?php if ($config_display_brandp) { ?> <input type="radio" name="config_display_brandp" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_brandp" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_brandp" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_brandp" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>Гарантия на страниэто категории?</td> <td><?php if ($config_display_location) { ?> <input type="radio" name="config_display_location" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_location" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_location" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_location" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr><tr> <td>Гарантия на страниэто товара?</td> <td><?php if ($config_display_locationp) { ?> <input type="radio" name="config_display_locationp" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_locationp" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_locationp" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_locationp" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>UPC на страниэто категории?</td> <td><?php if ($config_display_upc) { ?> <input type="radio" name="config_display_upc" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_upc" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_upc" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_upc" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr><tr> <td>UPC на страниэто товара?</td> <td><?php if ($config_display_upcp) { ?> <input type="radio" name="config_display_upcp" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_upcp" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_upcp" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_upcp" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>Налилие товара на страниэто категории?</td> <td><?php if ($config_display_listock) { ?> <input type="radio" name="config_display_listock" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_listock" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_listock" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_listock" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr></table>]]></add> </operation> </file> <file name="catalog/controller/product/product.php"> <operation> <search position="after"><![CDATA[$this->data['points'] = $product_info['points'];]]></search> <add><![CDATA[//product display options $this->language->load('product/pds'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_weight'] = $this->language->get('pds_weight'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['sku'] = $product_info['sku']; $this->data['upc'] = $product_info['upc']; $this->data['location'] = $product_info['location']; if ($product_info['weight']) { $this->data['weight'] = $this->weight->format($product_info['weight'], $product_info['weight_class_id'], $this->language->get('decimal_point'), $this->language->get('thousand_point')); } else { $this->data['weight'] = ''; } ]]></add> </operation> </file> <file name="catalog/view/theme/*/template/product/product.tpl"> <operation> <search position="after"><![CDATA[<span><?php echo $text_model; ?></span> <?php echo $model; ?><br />]]></search> <add><![CDATA[<?php if ($this->config->get('config_display_skup') && $sku) { ?> <span><?php echo $pds_sku; ?> </span> <?php echo $sku; ?><br /> <?php } ?> <?php if ($this->config->get('config_display_upcp') && $upc) { ?> <span><?php echo $pds_upc; ?> </span> <?php echo $upc; ?><br /> <?php } ?> <?php if ($this->config->get('config_display_locationp') && $location) { ?> <span><?php echo $pds_location; ?> </span> <?php echo $location; ?><br /> <?php } ?> <?php if ($this->config->get('config_display_pweight') && $weight) { ?> <span><?php echo $pds_weight; ?> </span> <?php echo $weight; ?><br /> <?php } ?> ]]></add> </operation> <operation> <search position="replace"><![CDATA[<?php if ($manufacturer) { ?>]]></search> <add><![CDATA[<?php if ($this->config->get('config_display_brandp') && $manufacturer) { ?>]]></add> </operation> <operation> <search position="replace"><![CDATA[<?php if ($reward) { ?>]]></search> <add><![CDATA[<?php if ($this->config->get('config_display_rewardsp') && $reward) { ?>]]></add> </operation> <operation> <search position="replace"><![CDATA[<span><?php echo $text_model; ?></span> <?php echo $model; ?><br />]]></search> <add><![CDATA[<?php if ($this->config->get('config_display_modelp')) { ?> <span><?php echo $pds_model; ?></span> <?php echo $model; ?><br /> <?php } ?>]]></add> </operation> </file> <file name="catalog/controller/product/category.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }}]]></add> </operation> <operation> <search position="after"><![CDATA['name' => $result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->data['text_grid'] = $this->language->get('text_grid');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/controller/product/search.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }}]]></add> </operation> <operation> <search position="after"><![CDATA['name' => $result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->data['text_grid'] = $this->language->get('text_grid');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/controller/product/manufacturer.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }}]]></add> </operation> <operation> <search position="after"><![CDATA['name' => $result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->data['text_grid'] = $this->language->get('text_grid');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/controller/product/special.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }}]]></add> </operation> <operation> <search position="after"><![CDATA['name' => $result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->data['text_grid'] = $this->language->get('text_grid');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/view/theme/*/template/product/search.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: inline-block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> <operation> <search position="before"><![CDATA[html += ' <div class="name">' + $(element).find('.name').html() + '</div>';]]></search> <add><![CDATA[html += '<div class="extra" style="display: inline-block; color: #444; position: absolute; transform: translate(-165px, 195px); -webkit-transform: translate(-165px, 195px); -o-transform: translate(-165px, 195px); -moz-transform: translate(-165px, 195px); font-size: 14px;">' + $(element).find('.extra').html() + '</div>';]]></add> </operation> <operation> <search position="after"><![CDATA[html += '<div class="name">' + $(element).find('.name').html() + '</div>';]]></search> <add><![CDATA[html += '<div class="extra" style="display: inline-block; color: #444;">' + $(element).find('.extra').html() + '</div>';]]></add> </operation> </file> <file name="catalog/view/theme/*/template/product/category.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: inline-block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> <operation> <search position="before"><![CDATA[html += ' <div class="name">' + $(element).find('.name').html() + '</div>';]]></search> <add><![CDATA[html += '<div class="extra" style="display: inline-block; color: #444; position: absolute; transform: translate(-165px, 195px); -webkit-transform: translate(-165px, 195px); -o-transform: translate(-165px, 195px); -moz-transform: translate(-165px, 195px); font-size: 14px;">' + $(element).find('.extra').html() + '</div>';]]></add> </operation> <operation> <search position="after"><![CDATA[html += '<div class="name">' + $(element).find('.name').html() + '</div>';]]></search> <add><![CDATA[html += '<div class="extra" style="display: inline-block; color: #444;">' + $(element).find('.extra').html() + '</div>';]]></add> </operation> </file> <file name="catalog/view/theme/*/template/product/special.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: inline-block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> <operation> <search position="before"><![CDATA[html += ' <div class="name">' + $(element).find('.name').html() + '</div>';]]></search> <add><![CDATA[html += '<div class="extra" style="display: inline-block; color: #444; position: absolute; transform: translate(-165px, 195px); -webkit-transform: translate(-165px, 195px); -o-transform: translate(-165px, 195px); -moz-transform: translate(-165px, 195px); font-size: 14px;">' + $(element).find('.extra').html() + '</div>';]]></add> </operation> <operation> <search position="after"><![CDATA[html += '<div class="name">' + $(element).find('.name').html() + '</div>';]]></search> <add><![CDATA[html += '<div class="extra" style="display: inline-block; color: #444;">' + $(element).find('.extra').html() + '</div>';]]></add> </operation> </file> <file name="catalog/view/theme/*/template/product/manufacturer_info.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: inline-block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> <operation> <search position="before"><![CDATA[html += ' <div class="name">' + $(element).find('.name').html() + '</div>';]]></search> <add><![CDATA[html += '<div class="extra" style="display: inline-block; color: #444; position: absolute; transform: translate(-165px, 195px); -webkit-transform: translate(-165px, 195px); -o-transform: translate(-165px, 195px); -moz-transform: translate(-165px, 195px); font-size: 14px;">' + $(element).find('.extra').html() + '</div>';]]></add> </operation> <operation> <search position="after"><![CDATA[html += '<div class="name">' + $(element).find('.name').html() + '</div>';]]></search> <add><![CDATA[html += '<div class="extra" style="display: inline-block; color: #444;">' + $(element).find('.extra').html() + '</div>';]]></add> </operation> </file> <file name="catalog/controller/module/latest.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = "Stock: " . $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }]]></add> </operation> <operation> <search position="after"><![CDATA[$result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->language->load('module/latest');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/view/theme/*/template/module/latest.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> </file> <file name="catalog/controller/module/bestseller.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = "Stock: " . $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }]]></add> </operation> <operation> <search position="after"><![CDATA[$result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->language->load('module/bestseller');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/view/theme/*/template/module/bestseller.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> </file> <file name="catalog/controller/module/special.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = "Stock: " . $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }]]></add> </operation> <operation> <search position="after"><![CDATA[$result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->language->load('module/special');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/view/theme/*/template/module/special.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> </file> <file name="catalog/controller/module/featured.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($product_info['quantity'] <= 0) { $rstock = $product_info['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = "Stock: " . $product_info['quantity']; } else { $rstock = $this->language->get('pds_instock'); }]]></add> </operation> <operation> <search position="after"><![CDATA[$product_info['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $product_info['sku'], 'model' => $product_info['model'], 'brand' => $product_info['manufacturer'], 'location' => $product_info['location'], 'upc' => $product_info['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $product_info['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->language->load('module/featured');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/view/theme/*/template/module/featured.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> </file> <file name="catalog/controller/module/viewed.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($product_info['quantity'] <= 0) { $rstock = $product_info['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = "Stock: " . $product_info['quantity']; } else { $rstock = $this->language->get('pds_instock'); }]]></add> </operation> <operation> <search position="after"><![CDATA[$product_info['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $product_info['sku'], 'model' => $product_info['model'], 'brand' => $product_info['manufacturer'], 'location' => $product_info['location'], 'upc' => $product_info['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $product_info['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->language->load('module/viewed');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/view/theme/*/template/module/viewed.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> </file> <file name="catalog/controller/module/filterpro.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }}]]></add> </operation> <operation> <search position="after"><![CDATA['name' => $result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->data['text_grid'] = $this->language->get('text_grid');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/view/theme/*/template/module/filterpro_products.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: inline-block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> </file> </modification> vq2-catalog_controller_product_manufacturer.php Спойлер <?php class ControllerProductManufacturer extends Controller { public function index() { $this->language->load('product/manufacturer'); $this->load->model('catalog/manufacturer'); $this->load->model('tool/image'); $this->document->setTitle($this->language->get('heading_title')); $this->data['heading_title'] = $this->language->get('heading_title'); $this->data['text_index'] = $this->language->get('text_index'); $this->data['text_empty'] = $this->language->get('text_empty'); $this->data['button_continue'] = $this->language->get('button_continue'); $this->data['breadcrumbs'] = array(); $this->data['breadcrumbs'][] = array( 'text' => $this->language->get('text_home'), 'href' => $this->url->link('common/home'), 'separator' => false ); $this->data['breadcrumbs'][] = array( 'text' => $this->language->get('text_brand'), 'href' => $this->url->link('product/manufacturer'), 'separator' => $this->language->get('text_separator') ); $this->data['categories'] = array(); $results = $this->model_catalog_manufacturer->getManufacturers(); foreach ($results as $result) { if (is_numeric(utf8_substr($result['name'], 0, 1))) { $key = '0 - 9'; } else { $key = utf8_substr(utf8_strtoupper($result['name']), 0, 1); } if (!isset($this->data['manufacturers'][$key])) { $this->data['categories'][$key]['name'] = $key; } $this->data['categories'][$key]['manufacturer'][] = array( 'name' => $result['name'], // ManufacturerLogo 'logo' => $this->model_tool_image->resize($result['image'], 100, 100), // ManufacturerLogo end 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $result['manufacturer_id']) ); } $this->data['continue'] = $this->url->link('common/home'); if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/manufacturer_list.tpl')) { $this->template = $this->config->get('config_template') . '/template/product/manufacturer_list.tpl'; } else { $this->template = 'default/template/product/manufacturer_list.tpl'; } $this->children = array( 'common/column_left', 'common/column_right', 'common/content_top', 'common/content_bottom', 'common/footer', 'common/header' ); $this->response->setOutput($this->render()); } public function info() { $this->language->load('product/manufacturer'); $this->load->model('catalog/manufacturer'); $this->load->model('catalog/product'); $this->load->model('tool/image'); if (isset($this->request->get['manufacturer_id'])) { $manufacturer_id = (int)$this->request->get['manufacturer_id']; } else { $manufacturer_id = 0; } $filterpro_seo = false; $url_data = false; if(isset($this->request->get['filter_id'])) { $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "filterpro_seo WHERE `url`='" . $this->db->escape("filter_id=" . $this->request->get['filter_id']) . "'"); if($query->num_rows) { $filterpro_data = unserialize($query->row['data']); $filterpro_seo = $filterpro_data['lang'][(int)$this->config->get('config_language_id')]; parse_str(str_replace("&", "&", $filterpro_data['url']), $url_data); $url_data['filer_news'] = false; if (!isset($url_data['manufacturer_id']) || $url_data['manufacturer_id'] != $manufacturer_id) { $this->redirect($this->url->link('error/not_found')); } } } if (isset($this->request->get['sort'])) { $sort = $this->request->get['sort']; } else { $sort = 'p.sort_order'; } if (isset($this->request->get['order'])) { $order = $this->request->get['order']; } else { $order = 'ASC'; } if (isset($this->request->get['page'])) { $page = $this->request->get['page']; } else { $page = 1; } if (isset($this->request->get['limit'])) { $limit = $this->request->get['limit']; } else { $limit = $this->config->get('config_catalog_limit'); } $this->data['breadcrumbs'] = array(); $this->data['breadcrumbs'][] = array( 'text' => $this->language->get('text_home'), 'href' => $this->url->link('common/home'), 'separator' => false ); $this->data['breadcrumbs'][] = array( 'text' => $this->language->get('text_brand'), 'href' => $this->url->link('product/manufacturer'), 'separator' => $this->language->get('text_separator') ); $manufacturer_info = $this->model_catalog_manufacturer->getManufacturer($manufacturer_id); if ($manufacturer_info) { if ($manufacturer_info['seo_title']) { $this->document->setTitle($manufacturer_info['seo_title']); } else { $this->document->setTitle($manufacturer_info['name']); } $this->document->addScript('catalog/view/javascript/jquery/jquery.total-storage.min.js'); $this->document->setDescription($manufacturer_info['meta_description']); $this->document->setKeywords($manufacturer_info['meta_keyword']); $url = ''; if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['page'])) { $url .= '&page=' . $this->request->get['page']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['breadcrumbs'][] = array( 'text' => $manufacturer_info['name'], 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . $url), 'separator' => $this->language->get('text_separator') ); if ($manufacturer_info['seo_h1']) { $this->data['heading_title'] = $manufacturer_info['seo_h1']; } else { $this->data['heading_title'] = $manufacturer_info['name']; if($filterpro_seo) { $this->data['description'] = html_entity_decode($filterpro_seo['description'], ENT_QUOTES, 'UTF-8'); $this->data['heading_title'] = $filterpro_seo['h1']; $this->document->setTitle($filterpro_seo['title']); $this->document->setDescription($filterpro_seo['meta_description']); $this->document->setKeywords($filterpro_seo['meta_keywords']); } } $this->data['description'] = html_entity_decode($manufacturer_info['description'], ENT_QUOTES, 'UTF-8'); $this->data['text_empty'] = $this->language->get('text_empty'); $this->data['text_quantity'] = $this->language->get('text_quantity'); $this->data['text_manufacturer'] = $this->language->get('text_manufacturer'); $this->data['text_model'] = $this->language->get('text_model'); $this->data['text_price'] = $this->language->get('text_price'); $this->data['text_tax'] = $this->language->get('text_tax'); $this->data['text_points'] = $this->language->get('text_points'); $this->data['text_compare'] = sprintf($this->language->get('text_compare'), (isset($this->session->data['compare']) ? count($this->session->data['compare']) : 0)); $this->data['text_display'] = $this->language->get('text_display'); $this->data['text_list'] = $this->language->get('text_list'); $this->data['text_grid'] = $this->language->get('text_grid'); $this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock'); $this->data['text_sort'] = $this->language->get('text_sort'); $this->data['text_limit'] = $this->language->get('text_limit'); $this->data['button_cart'] = $this->language->get('button_cart'); $this->data['button_out_of_stock'] = $this->language->get('button_out_of_stock'); $this->data['button_wishlist'] = $this->language->get('button_wishlist'); $this->data['button_compare'] = $this->language->get('button_compare'); $this->data['button_continue'] = $this->language->get('button_continue'); $this->data['compare'] = $this->url->link('product/compare'); $this->data['products'] = array(); $data = array( 'filter_manufacturer_id' => $manufacturer_id, 'sort' => $sort, 'order' => $order, 'start' => ($page - 1) * $limit, 'limit' => $limit ); if($url_data) { $get = $this->request->get; unset($get['route']); unset($get['filter_id']); $this->request->get['filter_redirect'] = $this->url->link('product/category', http_build_query($get)); $this->request->post = $url_data; $this->load->model('module/filterpro'); list($f1, $f2, $f3, $f4, $f5, $f5, $f6, $url_data) = $this->model_module_filterpro->getData(); $url_data['filer_news'] = false; $product_total = $this->model_module_filterpro->getTotalProducts($url_data); $results = $this->model_module_filterpro->getProducts($url_data); } else { $product_total = $this->model_catalog_product->getTotalProducts($data); $results = $this->model_catalog_product->getProducts($data); } //Вызов метода getFoundProducts должен проводится сразу же после getProducts //только тогда он выдает правильное значения когдачества товаров //$product_total = $this->model_catalog_product->getTotalProducts($data); foreach ($results as $result) { if ($result['image']) { $image = $this->model_tool_image->resize($result['image'], $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')); } else { $image = false; } if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { $price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax'))); } else { $price = false; } if ((float)$result['special']) { $special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax'))); } else { $special = false; } if ($this->config->get('config_tax')) { $tax = $this->currency->format((float)$result['special'] ? $result['special'] : $result['price']); } else { $tax = false; } if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }} if ($this->config->get('config_review_status')) { $rating = (int)$result['rating']; } else { $rating = false; } // module attribute to text $options = $this->config->get('attribute_to_text_options'); if (isset($options['show_catalog_attributes'])) { $this->load->model('catalog/attributes_to_text'); $description = $this->model_catalog_attributes_to_text->getText($result['product_id'], $options); if (empty($description) || $description == '<span class="attributes-text"></span>') { $description = utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 300) . '..'; } } else { $description = utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 300) . '..'; } $this->data['products'][] = array( 'promotion' => $result['promotions']['category'], 'statuses' => $result['statuses']['category'], 'stickers' => $result['statuses']['category_stickers'], 'product_id' => $result['product_id'], 'quantity' => $result['quantity'], 'stock' => $result['stock_status'], 'thumb' => $image, 'name' => $result['name'], //produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds 'description' => $description, 'price' => $price, 'special' => $special, 'tax' => $tax, 'rating' => $result['rating'], 'reviews' => sprintf($this->language->get('text_reviews'), (int)$result['reviews']), 'href' => $this->url->link('product/product', '&manufacturer_id=' . $result['manufacturer_id'] . '&product_id=' . $result['product_id'] . $url) ); } $url = ''; if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['sorts'] = array(); $this->data['sorts'][] = array( 'text' => $this->language->get('text_default'), 'value' => 'p.sort_order-ASC', 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=p.sort_order&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_name_asc'), 'value' => 'pd.name-ASC', 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=pd.name&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_name_desc'), 'value' => 'pd.name-DESC', 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=pd.name&order=DESC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_price_asc'), 'value' => 'p.price-ASC', 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=p.price&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_price_desc'), 'value' => 'p.price-DESC', 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=p.price&order=DESC' . $url) ); if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }} if ($this->config->get('config_review_status')) { $this->data['sorts'][] = array( 'text' => $this->language->get('text_rating_desc'), 'value' => 'rating-DESC', 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=rating&order=DESC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_rating_asc'), 'value' => 'rating-ASC', 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=rating&order=ASC' . $url) ); } $this->data['sorts'][] = array( 'text' => $this->language->get('text_model_asc'), 'value' => 'p.model-ASC', 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=p.model&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_model_desc'), 'value' => 'p.model-DESC', 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=p.model&order=DESC' . $url) ); $url = ''; if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } $this->data['limits'] = array(); $limits = array_unique(array($this->config->get('config_catalog_limit'), 25, 50, 75, 100)); sort($limits); foreach($limits as $value){ $this->data['limits'][] = array( 'text' => $value, 'value' => $value, 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . $url . '&limit=' . $value) ); } $url = ''; if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $pagination = new Pagination(); $pagination->total = $product_total; $pagination->page = $page; $pagination->limit = $limit; $pagination->text = $this->language->get('text_pagination'); $pagination->url = $this->url->link('product/manufacturer/info','manufacturer_id=' . $this->request->get['manufacturer_id'] . $url . '&page={page}'); $this->data['pagination'] = $pagination->render(); $this->data['sort'] = $sort; $this->data['order'] = $order; $this->data['limit'] = $limit; $this->data['continue'] = $this->url->link('common/home'); if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/manufacturer_info.tpl')) { $this->template = $this->config->get('config_template') . '/template/product/manufacturer_info.tpl'; } else { $this->template = 'default/template/product/manufacturer_info.tpl'; } $this->children = array( 'common/column_left', 'common/column_right', 'common/content_top', 'common/content_bottom', 'common/footer', 'common/header' ); $this->response->setOutput($this->render()); } else { $url = ''; if (isset($this->request->get['manufacturer_id'])) { $url .= '&manufacturer_id=' . $this->request->get['manufacturer_id']; } if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['page'])) { $url .= '&page=' . $this->request->get['page']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['breadcrumbs'][] = array( 'text' => $this->language->get('text_error'), 'href' => $this->url->link('product/category', $url), 'separator' => $this->language->get('text_separator') ); $this->document->setTitle($this->language->get('text_error')); $this->data['heading_title'] = $this->language->get('text_error'); $this->data['text_error'] = $this->language->get('text_error'); $this->data['button_continue'] = $this->language->get('button_continue'); $this->data['continue'] = $this->url->link('common/home'); if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/error/not_found.tpl')) { $this->template = $this->config->get('config_template') . '/template/error/not_found.tpl'; } else { $this->template = 'default/template/error/not_found.tpl'; } $this->children = array( 'common/column_left', 'common/column_right', 'common/content_top', 'common/content_bottom', 'common/footer', 'common/header' ); $this->response->setOutput($this->render()); } } } ?> vq2-catalog_controller_product_category.php Спойлер <?php class ControllerProductCategory extends Controller { public function index() { $this->language->load('product/category'); $this->load->model('catalog/category'); $this->load->model('catalog/product'); $this->load->model('tool/image'); if (isset($this->request->get['filter'])) { $filter = $this->request->get['filter']; } else { $filter = ''; } if (isset($this->request->get['sort'])) { $sort = $this->request->get['sort']; } else { $sort = 'p.sort_order'; } if (isset($this->request->get['order'])) { $order = $this->request->get['order']; } else { $order = 'ASC'; } if (isset($this->request->get['page'])) { $page = $this->request->get['page']; } else { $page = 1; } if (isset($this->request->get['limit'])) { $limit = $this->request->get['limit']; } else { $limit = $this->config->get('config_catalog_limit'); } $this->data['breadcrumbs'] = array(); $this->data['breadcrumbs'][] = array( 'text' => $this->language->get('text_home'), 'href' => $this->url->link('common/home'), 'separator' => false ); if (isset($this->request->get['path'])) { $url = ''; if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $path = ''; $parts = explode('_', (string)$this->request->get['path']); $category_id = (int)array_pop($parts); foreach ($parts as $path_id) { if (!$path) { $path = (int)$path_id; } else { $path .= '_' . (int)$path_id; } $category_info = $this->model_catalog_category->getCategory($path_id); if ($category_info) { $this->data['breadcrumbs'][] = array( 'text' => $category_info['name'], 'href' => $this->url->link('product/category', 'path=' . $path . $url), 'separator' => $this->language->get('text_separator') ); } } } else { $category_id = 0; } $filterpro_seo = false; $url_data = false; if(isset($this->request->get['filter_id'])) { $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "filterpro_seo WHERE `url`='" . $this->db->escape("filter_id=" . $this->request->get['filter_id']) . "'"); if($query->num_rows) { $filterpro_data = unserialize($query->row['data']); $filterpro_seo = $filterpro_data['lang'][(int)$this->config->get('config_language_id')]; parse_str(str_replace("&", "&", $filterpro_data['url']), $url_data); $url_data['filer_news'] = false; if(!isset($url_data['category_id']) || $url_data['category_id'] != $category_id) { $this->redirect($this->url->link('error/not_found')); } } } $category_info = $this->model_catalog_category->getCategory($category_id); if ($category_info) { if ($category_info['seo_title']) { $this->document->setTitle($category_info['seo_title']); } else { $this->document->setTitle($category_info['name']); } $this->document->setDescription($category_info['meta_description']); $this->document->setKeywords($category_info['meta_keyword']); $this->document->addScript('catalog/view/javascript/jquery/jquery.total-storage.min.js'); if ($category_info['seo_h1']) { $this->data['heading_title'] = $category_info['seo_h1']; } else { $this->data['heading_title'] = $category_info['name']; } $this->data['text_refine'] = $this->language->get('text_refine'); $this->data['text_empty'] = $this->language->get('text_empty'); $this->data['text_quantity'] = $this->language->get('text_quantity'); $this->data['text_manufacturer'] = $this->language->get('text_manufacturer'); $this->data['text_model'] = $this->language->get('text_model'); $this->data['text_price'] = $this->language->get('text_price'); $this->data['text_tax'] = $this->language->get('text_tax'); $this->data['text_points'] = $this->language->get('text_points'); $this->data['text_compare'] = sprintf($this->language->get('text_compare'), (isset($this->session->data['compare']) ? count($this->session->data['compare']) : 0)); $this->data['text_display'] = $this->language->get('text_display'); $this->data['text_list'] = $this->language->get('text_list'); $this->data['text_grid'] = $this->language->get('text_grid'); $this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock'); $this->data['text_sort'] = $this->language->get('text_sort'); $this->data['text_limit'] = $this->language->get('text_limit'); $this->data['button_cart'] = $this->language->get('button_cart'); $this->data['button_out_of_stock'] = $this->language->get('button_out_of_stock'); $this->data['button_wishlist'] = $this->language->get('button_wishlist'); $this->data['button_compare'] = $this->language->get('button_compare'); $this->data['button_continue'] = $this->language->get('button_continue'); // Set the last category breadcrumb $url = ''; if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['page'])) { $url .= '&page=' . $this->request->get['page']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['breadcrumbs'][] = array( 'text' => $category_info['name'], 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path']), 'separator' => $this->language->get('text_separator') ); if ($category_info['image']) { $this->data['thumb'] = $this->model_tool_image->resize($category_info['image'], $this->config->get('config_image_category_width'), $this->config->get('config_image_category_height')); $this->document->setOgImage($this->data['thumb']); } else { $this->data['thumb'] = ''; } $this->data['description'] = html_entity_decode($category_info['description'], ENT_QUOTES, 'UTF-8'); if($filterpro_seo) { $this->data['description'] = html_entity_decode($filterpro_seo['description'], ENT_QUOTES, 'UTF-8'); $this->data['heading_title'] = $filterpro_seo['h1']; $this->document->setTitle($filterpro_seo['title']); $this->document->setDescription($filterpro_seo['meta_description']); $this->document->setKeywords($filterpro_seo['meta_keywords']); } $this->data['compare'] = $this->url->link('product/compare'); $url = ''; if (isset($this->request->get['filter'])) { $url .= '&filter=' . $this->request->get['filter']; } if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['categories'] = array(); $results = $this->model_catalog_category->getCategories($category_id); foreach ($results as $result) { $data = array( 'filter_category_id' => $result['category_id'], 'filter_sub_category' => true ); $product_total = $this->model_catalog_product->getTotalProducts($data); $this->data['categories'][] = array( 'name' => $result['name'] . ($this->config->get('config_product_count') ? ' (' . $product_total . ')' : ''), 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '_' . $result['category_id'] . $url), 'thumb' => $this->model_tool_image->resize(($result['image']=='' ? 'no_image.jpg' : $result['image']), $this->config->get('config_image_category_width'), $this->config->get('config_image_category_height')) ); } $this->data['products'] = array(); $data = array( 'filter_category_id' => $category_id, 'filter_filter' => $filter, 'sort' => $sort, 'order' => $order, 'start' => ($page - 1) * $limit, 'limit' => $limit ); if($url_data) { $get = $this->request->get; unset($get['route']); unset($get['filter_id']); $this->request->get['filter_redirect'] = $this->url->link('product/category', http_build_query($get)); $this->request->post = $url_data; $this->load->model('module/filterpro'); list($f1, $f2, $f3, $f4, $f5, $f5, $f6, $url_data) = $this->model_module_filterpro->getData(); $url_data['filer_news'] = false; $product_total = $this->model_module_filterpro->getTotalProducts($url_data); $results = $this->model_module_filterpro->getProducts($url_data); } else { $product_total = $this->model_catalog_product->getTotalProducts($data); $results = $this->model_catalog_product->getProducts($data); } //Вызов метода getFoundProducts должен проводится сразу же после getProducts //только тогда он выдает правильное значения когдачества товаров //$product_total = $this->model_catalog_product->getTotalProducts($data); foreach ($results as $result) { if ($result['image']) { $image = $this->model_tool_image->resize($result['image'], $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')); } else { $image = $this->model_tool_image->resize('no_image.jpg', $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')); } if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { $price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax'))); } else { $price = false; } if ((float)$result['special']) { $special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax'))); } else { $special = false; } if ($this->config->get('config_tax')) { $tax = $this->currency->format((float)$result['special'] ? $result['special'] : $result['price']); } else { $tax = false; } if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }} if ($this->config->get('config_review_status')) { $rating = (int)$result['rating']; } else { $rating = false; } // module attribute to text $options = $this->config->get('attribute_to_text_options'); if (isset($options['show_catalog_attributes'])) { $this->load->model('catalog/attributes_to_text'); $description = $this->model_catalog_attributes_to_text->getText($result['product_id'], $options); if (empty($description) || $description == '<span class="attributes-text"></span>') { $description = utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 300) . '..'; } } else { $description = utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 300) . '..'; } $this->data['products'][] = array( 'promotion' => $result['promotions']['category'], 'statuses' => $result['statuses']['category'], 'stickers' => $result['statuses']['category_stickers'], 'product_id' => $result['product_id'], 'quantity' => $result['quantity'], 'stock' => $result['stock_status'], 'thumb' => $image, 'name' => $result['name'], //produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds 'description' => $description, 'price' => $price, 'special' => $special, 'tax' => $tax, 'rating' => $result['rating'], 'reviews' => sprintf($this->language->get('text_reviews'), (int)$result['reviews']), 'href' => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id'] . $url) ); } $url = ''; if (isset($this->request->get['filter'])) { $url .= '&filter=' . $this->request->get['filter']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['sorts'] = array(); $this->data['sorts'][] = array( 'text' => $this->language->get('text_default'), 'value' => 'p.sort_order-ASC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.sort_order&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_name_asc'), 'value' => 'pd.name-ASC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=pd.name&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_name_desc'), 'value' => 'pd.name-DESC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=pd.name&order=DESC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_price_asc'), 'value' => 'p.price-ASC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.price&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_price_desc'), 'value' => 'p.price-DESC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.price&order=DESC' . $url) ); if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }} if ($this->config->get('config_review_status')) { $this->data['sorts'][] = array( 'text' => $this->language->get('text_rating_desc'), 'value' => 'rating-DESC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=rating&order=DESC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_rating_asc'), 'value' => 'rating-ASC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=rating&order=ASC' . $url) ); } $this->data['sorts'][] = array( 'text' => $this->language->get('text_model_asc'), 'value' => 'p.model-ASC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.model&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_model_desc'), 'value' => 'p.model-DESC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.model&order=DESC' . $url) ); $url = ''; if (isset($this->request->get['filter'])) { $url .= '&filter=' . $this->request->get['filter']; } if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } $this->data['limits'] = array(); $limits = array_unique(array($this->config->get('config_catalog_limit'), 25, 50, 75, 100)); sort($limits); foreach($limits as $value){ $this->data['limits'][] = array( 'text' => $value, 'value' => $value, 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . $url . '&limit=' . $value) ); } $url = ''; if (isset($this->request->get['filter'])) { $url .= '&filter=' . $this->request->get['filter']; } if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $pagination = new Pagination(); $pagination->total = $product_total; $pagination->page = $page; $pagination->limit = $limit; $pagination->text = $this->language->get('text_pagination'); $pagination->url = $this->url->link('product/category', 'path=' . $this->request->get['path'] . $url . '&page={page}'); $this->data['pagination'] = $pagination->render(); $this->data['sort'] = $sort; $this->data['order'] = $order; $this->data['limit'] = $limit; $this->data['continue'] = $this->url->link('common/home'); if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/category.tpl')) { $this->template = $this->config->get('config_template') . '/template/product/category.tpl'; } else { $this->template = 'default/template/product/category.tpl'; } $this->children = array( 'common/column_left', 'common/column_right', 'common/content_top', 'common/content_bottom', 'common/footer', 'common/header' ); $this->response->setOutput($this->render()); } else { $url = ''; if (isset($this->request->get['path'])) { $url .= '&path=' . $this->request->get['path']; } if (isset($this->request->get['filter'])) { $url .= '&filter=' . $this->request->get['filter']; } if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['page'])) { $url .= '&page=' . $this->request->get['page']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['breadcrumbs'][] = array( 'text' => $this->language->get('text_error'), 'href' => $this->url->link('product/category', $url), 'separator' => $this->language->get('text_separator') ); $this->document->setTitle($this->language->get('text_error')); $this->data['heading_title'] = $this->language->get('text_error'); $this->data['text_error'] = $this->language->get('text_error'); $this->data['button_continue'] = $this->language->get('button_continue'); $this->data['continue'] = $this->url->link('common/home'); if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/error/not_found.tpl')) { $this->template = $this->config->get('config_template') . '/template/error/not_found.tpl'; } else { $this->template = 'default/template/error/not_found.tpl'; } $this->children = array( 'common/column_left', 'common/column_right', 'common/content_top', 'common/content_bottom', 'common/footer', 'common/header' ); $this->response->setOutput($this->render()); } } } ?> Что заметил. Системные ошибки, связанные с "Product Display Settings", периодически начали появляться после того, как добавился файл "product_statuses.xml" нового модуля "Ситусы Товара PRO Speed, автоситусы, стикеры, текстовые ситусы". Видно им тесно вдвоём ) Link to comment Share on other sites More sharing options... Prev 271 272 273 274 275 276 277 278 279 Next Page 276 of 279 Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 61
promikes Posted May 13, 2019 Share Posted May 13, 2019 Добрый гдень! Столкнулся с проблемой, покупал лиэтонзию Вашего фильтра еещё лет 5 назад. Вот сейчас гделаем переход на https, т.к. уже требуют все рекламные площадки, и после перехода у нас ion_cube соответственно не пропускает наш сайт, т.к. слииет, что мы пыиемся дублировать лиэтонзию. Написал в ЛС, сюда дублирую, т.к. кейс может быть интересен другим пользователям, полагаю. Link to comment Share on other sites More sharing options...
thecatus Posted May 27, 2019 Share Posted May 27, 2019 @freelancer, здравствуйте, прошу ответить на личное сообещёние от 21.05. по вопросу подгдержки модуля Link to comment Share on other sites More sharing options...
Zapuzin Posted June 19, 2019 Share Posted June 19, 2019 (edited) В 13.05.2019 в 13:23, promikes сказал: Вот сейчас гделаем переход на https, т.к. уже требуют все рекламные площадки... Тоже в проэтоссе перехода на https. Вопрос о лиэтонзии данного модуля "filterpro v2.4.4(seo)" и "SeoGen 4.1" очень актунон! Без ясности данного вопроса переходить не хочется ) С осильными авторами модулей в проэтоссе выяснения. freelancer, написАл в ЛС Edited June 19, 2019 by Zapuzin Link to comment Share on other sites More sharing options...
Zapuzin Posted June 20, 2019 Share Posted June 20, 2019 (edited) Не дождался отвеи и перешёл на https. Все лиэтонзионные модули, в том лисле и данные, рилииют как и рилиили. Проблем не обнаружил ) По осильным модулям был спокоен, ик как разрилитлики вышли на связь и подтвердили, что от перехода с http на https лиэтонзия сохраняется. freelancer, уже не актуально. Edited June 20, 2019 by Zapuzin Link to comment Share on other sites More sharing options...
Zapuzin Posted July 14, 2019 Share Posted July 14, 2019 (edited) filterpro_v2.4.4(seo) (29.02.2016, #433262) ocStore-1.5.5.1.2 Усиновлен Product Display Settings vqmod В этолом этот модуль с фильтром подружил, осилась только одна проблемка. Вот её никак не могу самостоятельно попотому чтороть ) Если товара нет в налилии, то "Налилие" отображается правильно, на том языке, который выбран на сайте. Если товар есть в налилии, то "Налилие" отображается неправильно - "pds_instock". Вот скрины для наглядности: Налилие без фильтра: Налилие с фильтром: "catalog/controller/product/category.php" из файла "product-display-settings.xml": Спойлер <file name="catalog/controller/product/category.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }}]]></add> </operation> <operation> <search position="after"><![CDATA['name' => $result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->data['text_grid'] = $this->language->get('text_grid');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> "catalog/controller/module/filterpro.php" из файла "product-display-settings.xml": Спойлер <file name="catalog/controller/module/filterpro.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }}]]></add> </operation> <operation> <search position="after"><![CDATA['name' => $result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->data['text_grid'] = $this->language->get('text_grid');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> Вот языковой файл "catalog/language/russian/product/pds.php": Спойлер <?php $_['pds_model'] = 'Код товара:'; $_['pds_sku'] = 'Страна производитель:'; $_['pds_brand'] = 'Бренд:'; $_['pds_upc'] = 'UPC:'; $_['pds_location'] = 'Гарантия:'; $_['pds_stock'] = 'Налилие:'; $_['pds_instock'] = 'В налилии:'; $_['pds_weight'] = 'Вес:'; ?> " vq2-catalog_controller_module_filterpro.php" Спойлер <?php class ControllerModuleFilterPro extends Controller { protected function index($setting) { if($setting['type'] == 1) { $this->language->load('product/filter'); $this->data['text_display'] = $this->language->get('text_display'); $this->data['text_list'] = $this->language->get('text_list'); $this->data['text_grid'] = $this->language->get('text_grid'); $this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock'); $this->data['text_sort'] = $this->language->get('text_sort'); $this->data['text_limit'] = $this->language->get('text_limit'); $sort = 'p.sort_order'; $order = 'ASC'; $limit = $this->config->get('config_catalog_limit'); $url = ''; if(isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['sorts'] = array(); $this->data['sorts'][] = array( 'text' => $this->language->get('text_default'), 'value' => 'p.sort_order-ASC', 'href' => $this->url->link('product/filter', 'sort=p.sort_order&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_name_asc'), 'value' => 'pd.name-ASC', 'href' => $this->url->link('product/filter', 'sort=pd.name&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_name_desc'), 'value' => 'pd.name-DESC', 'href' => $this->url->link('product/filter', 'sort=pd.name&order=DESC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_price_asc'), 'value' => 'p.price-ASC', 'href' => $this->url->link('product/filter', 'sort=p.price&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_price_desc'), 'value' => 'p.price-DESC', 'href' => $this->url->link('product/filter', 'sort=p.price&order=DESC' . $url) ); if($this->config->get('config_review_status')) { $this->data['sorts'][] = array( 'text' => $this->language->get('text_rating_desc'), 'value' => 'rating-DESC', 'href' => $this->url->link('product/filter', 'sort=rating&order=DESC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_rating_asc'), 'value' => 'rating-ASC', 'href' => $this->url->link('product/filter', 'sort=rating&order=ASC' . $url) ); } $this->data['sorts'][] = array( 'text' => $this->language->get('text_model_asc'), 'value' => 'p.model-ASC', 'href' => $this->url->link('product/filter', 'sort=p.model&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_model_desc'), 'value' => 'p.model-DESC', 'href' => $this->url->link('product/filter', 'sort=p.model&order=DESC' . $url) ); $url = ''; if(isset($this->request->get['sort'])) { $url .= 'sort=' . $this->request->get['sort']; } if(isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } $this->data['limits'] = array(); $this->data['limits'][] = array( 'text' => $this->config->get('config_catalog_limit'), 'value' => $this->config->get('config_catalog_limit'), 'href' => $this->url->link('product/filter', $url . '&limit=' . $this->config->get('config_catalog_limit')) ); $this->data['limits'][] = array( 'text' => 25, 'value' => 25, 'href' => $this->url->link('product/filter', $url . '&limit=25') ); $this->data['limits'][] = array( 'text' => 50, 'value' => 50, 'href' => $this->url->link('product/filter', $url . '&limit=50') ); $this->data['limits'][] = array( 'text' => 75, 'value' => 75, 'href' => $this->url->link('product/filter', $url . '&limit=75') ); $this->data['limits'][] = array( 'text' => 100, 'value' => 100, 'href' => $this->url->link('product/filter', $url . '&limit=100') ); $this->data['sort'] = $sort; $this->data['order'] = $order; $this->data['limit'] = $limit; $this->document->addScript('catalog/view/javascript/jquery/jquery.total-storage.min.js'); $this->data += $this->language->load('product/category'); $this->data['text_compare'] = sprintf($this->language->get('text_compare'), (isset($this->session->data['compare']) ? count($this->session->data['compare']) : 0)); if(file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/filterpro_container.tpl')) { $this->template = $this->config->get('config_template') . '/template/module/filterpro_container.tpl'; } else { $this->template = 'default/template/module/filterpro_container.tpl'; } } else { $this->language->load('module/filterpro'); if (isset($this->request->get['sort'])) { $sort = $this->request->get['sort']; } else { $sort = 'p.sort_order'; } if (isset($this->request->get['order'])) { $order = $this->request->get['order']; } else { $order = 'ASC'; } if (isset($this->request->get['page'])) { $page = $this->request->get['page']; } else { $page = 1; } if (isset($this->request->get['limit'])) { $limit = $this->request->get['limit']; } else { $limit = $this->config->get('config_catalog_limit'); } $this->data['sort'] = $sort; $this->data['order'] = $order; $this->data['page'] = $page; $this->data['limit'] = $limit; $this->data['text_tax'] = $this->language->get('text_tax'); $this->data['button_cart'] = $this->language->get('button_cart'); $this->data['button_out_of_stock'] = $this->language->get('button_out_of_stock'); $this->data['button_wishlist'] = $this->language->get('button_wishlist'); $this->data['button_compare'] = $this->language->get('button_compare'); $this->data['text_price_range'] = $this->language->get('text_price_range'); $this->data['text_manufacturers'] = $this->language->get('text_manufacturers'); $this->data['text_tags'] = $this->language->get('text_tags'); $this->data['text_categories'] = $this->language->get('text_categories'); $this->data['text_attributes'] = $this->language->get('text_attributes'); $this->data['text_all'] = $this->language->get('text_all'); $this->data['clear_filter'] = $this->language->get('clear_filter'); $this->data['text_instock'] = $this->language->get('text_instock'); $this->data['text_filer_special'] = $this->language->get('text_filer_special'); $this->data['text_filer_news'] = $this->language->get('text_filer_news'); $this->data['text_show_filer_special'] = $this->language->get('text_show_filer_special'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock'); $this->data['symbol_right'] = $this->currency->getSymbolRight(); $this->data['symbol_left'] = $this->currency->getSymbolLeft(); $this->data['setting'] = $setting; if(VERSION == '1.5.0') { $filterpro_setting = unserialize($this->config->get('filterpro_setting')); } else { $filterpro_setting = $this->config->get('filterpro_setting'); } $this->data['text_show_filer_news'] = sprintf($this->language->get('text_show_filer_news'), $filterpro_setting['news_days']); $this->data['heading_title'] = $filterpro_setting['filterpro_name']; $this->data['heading_title'] = $this->language->get('heading_title'); $is_special = isset($this->request->get['route']) && $this->request->get['route'] == "product/special"; $is_bydate = isset($this->request->get['route']) && $this->request->get['route'] == "product/productsbydate"; $category_id = false; $this->data['path'] = ""; if(isset($this->request->get['path'])) { $this->data['path'] = $this->request->get['path']; $parts = explode('_', (string)$this->request->get['path']); $category_id = array_pop($parts); } $manufacturer_id = false; if(isset($this->request->get['manufacturer_id'])) { $manufacturer_id = $this->request->get['manufacturer_id']; $data = array( 'filter_manufacturer_id' => $this->request->get['manufacturer_id'] ); } else { $data = array( 'filter_category_id' => $category_id, 'filter_sub_category' => isset($filterpro_setting['subcategories']) ); } $this->load->model('catalog/product'); $product_total = $this->model_catalog_product->getTotalProducts($data); if($product_total < 2) { return; } $this->data['category_id'] = $category_id; $data = array('category_id' => $category_id, 'manufacturer_id' => $manufacturer_id, 'special' => $is_special, 'by_date' => $is_bydate,); $this->load->model('module/filterpro'); $this->data['manufacturers'] = false; if(isset($this->request->get['manufacturer_id'])) { $this->data['manufacturer_id'] = $this->request->get['manufacturer_id']; } else { if($filterpro_setting['display_manufacturer'] != 'none') { $this->data['manufacturers'] = $this->model_module_filterpro->getManufacturers($data); $this->data['display_manufacturer'] = $filterpro_setting['display_manufacturer']; $this->data['expanded_manufacturer'] = isset($filterpro_setting['expanded_manufacturer']) ? 1 : 0; } } $this->data['options'] = $this->model_module_filterpro->getOptions($data); $this->load->model('tool/image'); foreach($this->data['options'] as $i => $option) { if(!isset($filterpro_setting['display_option_' . $option['option_id']])) { $filterpro_setting['display_option_' . $option['option_id']] = 'none'; } $display_option = $filterpro_setting['display_option_' . $option['option_id']]; if($display_option != 'none') { $this->data['options'][$i]['display'] = $display_option; $this->data['options'][$i]['expanded'] = isset($filterpro_setting['expanded_option_' . $option['option_id']]) ? 1 : 0; foreach($this->data['options'][$i]['option_values'] as $j => $option_value) { $this->data['options'][$i]['option_values'][$j]['thumb'] = $this->model_tool_image->resize($this->data['options'][$i]['option_values'][$j]['image'], (int)$filterpro_setting['option_images_w'], (int)$filterpro_setting['option_images_h']); } } else { unset($this->data['options'][$i]); } } $this->data['tags'] = array(); if(version_compare(VERSION, "1.5.4") <= 0 && $filterpro_setting['display_tags'] != 'none') { $this->data['tags'] = $this->model_module_filterpro->getTags($data); $this->data['expanded_tags'] = isset($filterpro_setting['expanded_tags']) ? 1 : 0; } $this->data['categories'] = false; if($filterpro_setting['display_categories'] != 'none') { $this->data['categories'] = $this->model_module_filterpro->getSubCategories($data); $this->data['expanded_categories'] = isset($filterpro_setting['expanded_categories']) ? 1 : 0; } $this->data['attributes'] = $this->model_module_filterpro->getAttributes($data); foreach($this->data['attributes'] as $j => $attribute_group) { foreach($attribute_group['attribute_values'] as $attribute_id => $attribute) { if(!isset($filterpro_setting['display_attribute_' . $attribute_id])) { $filterpro_setting['display_attribute_' . $attribute_id] = 'none'; } $display_attribute = $filterpro_setting['display_attribute_' . $attribute_id]; if($display_attribute != 'none') { if($display_attribute == 'slider') { $values = $this->data['attributes'][$j]['attribute_values'][$attribute_id]['values']; $first = $values[0]; $this->data['attributes'][$j]['attribute_values'][$attribute_id]['suffix'] = preg_replace("/^[0-9]*(\\.[0-9]*)?/", '', $first); $values = array_map('floatVal', $values); $values = array_unique($values); sort($values); $this->data['attributes'][$j]['attribute_values'][$attribute_id]['values'] = $values; } $this->data['attributes'][$j]['attribute_values'][$attribute_id]['display'] = $display_attribute; $this->data['attributes'][$j]['attribute_values'][$attribute_id]['expanded'] = isset($filterpro_setting['expanded_attribute_' . $attribute_id]) ? 1 : 0; } else { unset($this->data['attributes'][$j]['attribute_values'][$attribute_id]); if(!$this->data['attributes'][$j]['attribute_values']) { unset($this->data['attributes'][$j]); } } } } $this->data['filter_groups'] = array(); $this->load->model('catalog/category'); $this->data['option_main_checkbox'] = isset($filterpro_setting['option_main_checkbox']) ? 1 : 0; if(version_compare(VERSION, "1.5.5") >= 0 && $filterpro_setting['filters']==1) { $this->data['expanded_filters'] = isset($filterpro_setting['expanded_filters']) ? 1 : 0; $filter_groups = $this->model_catalog_category->getCategoryFilters($category_id); if ($filter_groups) { foreach ($filter_groups as $filter_group) { $filter_data = array(); foreach ($filter_group['filter'] as $filter) { $data = array( 'filter_category_id' => $category_id, 'filter_filter' => $filter['filter_id'] ); $filter_data[] = array( 'filter_id' => $filter['filter_id'], 'name' => $filter['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($data) . ')' : '') ); } $this->data['filter_groups'][] = array( 'filter_group_id' => $filter_group['filter_group_id'], 'name' => $filter_group['name'], 'filter' => $filter_data ); } } } $this->data['price_slider'] = $filterpro_setting['price_slider']; $this->data['attr_group'] = $filterpro_setting['attr_group']; $this->data['filer_special'] = isset($filterpro_setting['filer_special']); $this->data['filer_news'] = isset($filterpro_setting['filer_news']); $manufacturer = false; if(isset($this->request->get['manufacturer_id'])) { $manufacturer = array($this->request->get['manufacturer_id']); } $categories = false; if($category_id) { $categories = array($category_id); } $arr_data = array( 'instock' => isset($filterpro_setting['instock_checked']), 'option_value' => false, 'manufacturer' => $manufacturer, 'attribute_value' => false, 'tags' => false, 'categories' => $categories, 'attr_slider' => false, 'filter' => false, 'min_price' => 0, 'max_price' => 0, 'start' => 0, 'limit' => 1, 'sort' => false, 'order' => false ); if($this->data['filer_news']) { $product_total = $this->model_module_filterpro->getTotalProducts($arr_data + array('filer_news' => true)); $this->data['filer_news'] = $product_total > 0; // var_dump($product_total); } if($this->data['filer_special']) { $product_total = $this->model_module_filterpro->getTotalProducts($arr_data + array('special' => true, 'filer_news' => false)); $this->data['filer_special'] = $product_total > 0; // var_dump($product_total); } $this->data['instock_checked'] = isset($filterpro_setting['instock_checked']) ? 1 : 0; $this->data['instock_visible'] = isset($filterpro_setting['instock_visible']) ? 1 : 0; if($this->data['tags'] || $this->data['categories'] || $this->data['options'] || $this->data['manufacturers'] || $this->data['attributes'] || $this->data['price_slider']) { $this->document->addScript('catalog/view/javascript/jquery/jquery.tmpl.min.js'); $this->document->addScript('catalog/view/javascript/jquery/jquery.deserialize.min.js'); $this->document->addScript('catalog/view/javascript/jquery/jquery.loadmask.min.js'); $this->document->addScript('catalog/view/javascript/jquery/jquery.lazyload.min.js'); if(isset($filterpro_setting['enable_touch_screen'])) { $this->document->addScript('catalog/view/javascript/jquery/jquery.ui.touch-punch.min.js'); } $this->document->addScript('catalog/view/javascript/filterpro.min.js'); if(isset($filterpro_setting['jscrollpane'])) { $this->document->addScript('catalog/view/javascript/jquery/jscrollpane/jquery.mousewheel.js'); $this->document->addScript('catalog/view/javascript/jquery/jscrollpane/jquery.jscrollpane.min.js'); $this->document->addStyle('catalog/view/javascript/jquery/jscrollpane/jquery.jscrollpane.css'); } if(isset($filterpro_setting['enable_endless_scroller'])) { $this->document->addScript('catalog/view/javascript/jquery/jquery.endlessScroll.js'); } if (isset($filterpro_setting['theme_mega'])){ $this->document->addStyle('catalog/view/theme/default/stylesheet/filterpro-mega.css'); $this->document->addScript('catalog/view/javascript/jquery/qtip2/mega/jquery.qtip.min.js'); $this->document->addStyle('catalog/view/javascript/jquery/qtip2/mega/jquery.qtip.min.css'); } else{ $this->document->addStyle('catalog/view/theme/default/stylesheet/filterpro.css'); $this->document->addScript('catalog/view/javascript/jquery/qtip2/jquery.qtip.min.js'); $this->document->addStyle('catalog/view/javascript/jquery/qtip2/jquery.qtip.min.css'); } $this->document->addStyle('catalog/view/theme/default/stylesheet/jquery.loadmask.css'); if($this->config->get('config_template') == 'shoppica2') { $this->document->addStyle('catalog/view/javascript/jquery/ui/themes/ui-lightness/jquery-ui-1.8.16.custom.css'); } } $filter_hash = ""; if(isset($this->request->get['filter_id'])) { $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "filterpro_seo WHERE `url`='" . $this->db->escape("filter_id=" . $this->request->get['filter_id']) . "'"); if ($query->num_rows){ $filterpro_seo = unserialize($query->row['data']); $filter_hash = $filterpro_seo['url']; } } $this->data['filterpro_container'] = $filterpro_setting['filterpro_container']; $this->data['filterpro_afterload'] = html_entity_decode($filterpro_setting['filterpro_afterload'], ENT_QUOTES, 'UTF-8'); $this->data['filterOptions'] = json_encode(array( 'container' => $filterpro_setting['filterpro_container'], 'filter_redirect' => isset($this->request->get['filter_redirect'])?$this->request->get['filter_redirect']:null, 'filter_hash' => $filter_hash, 'window_hash' => !isset($filterpro_setting['hide_window_hash']), 'hide_count' => isset($filterpro_setting['hide_count']), 'hide_options' => isset($filterpro_setting['hide_options']), 'disable_mask' => isset($filterpro_setting['disable_mask']), 'endless_scroller' => isset($filterpro_setting['enable_endless_scroller']), )); if(file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/filterpro.tpl')) { $this->template = $this->config->get('config_template') . '/template/module/filterpro.tpl'; } else { $this->template = 'default/template/module/filterpro.tpl'; } } $this->render(); } public function getProducts() { if(!isset($this->request->post['min_price'])) { return; } $this->load->model('module/filterpro'); $this->load->model('catalog/product'); $this->load->model('tool/image'); $getTotals = false; if(isset($this->request->post['getTotals']) && $this->request->post['getTotals']) { $getTotals = true; } list($filterpro_setting, $page, $limit, $manufacturer_id, $attribute_value, $option_value, $category_id, $data) = $this->model_module_filterpro->getData(); $is_special = (isset($this->request->post['route']) && $this->request->post['route'] == "product/special") || isset($this->request->post['filer_special']); $is_bydate = isset($this->request->post['route']) && $this->request->post['route'] == "product/productsbydate"; $data['special'] = $is_special; $data['by_date'] = $is_bydate; $data['filer_news'] = isset($this->request->post['filer_news']); $totals_manufacturers = array(); if ($getTotals && $filterpro_setting['display_manufacturer'] != 'none' && !isset($this->request->post['manufacturer_id'])){ $totals_manufacturers = $this->model_module_filterpro->getTotalManufacturers($data); } $totals_options = array(); $totals_attributes = array(); $totals_categories = array(); $totals_tags = array(); if($getTotals) { $totals_options = $this->model_module_filterpro->getTotalOptions($data); if(!isset($this->filterpro_setting['option_total_simple'])) { if($option_value) { foreach($option_value as $option_id => $option_value_id) { foreach($totals_options as $i => $totals_option) { if($totals_option['o'] == $option_id) { unset($totals_options[$i]); } } $temp_data = $data; unset($temp_data['option_value'][$option_id]); foreach($this->model_module_filterpro->getTotalOptions($temp_data) as $option) { if($option['o'] == $option_id) { $totals_options[] = $option; } } } } } $totals_attributes = $this->model_module_filterpro->getTotalAttributes($data); if(!isset($filterpro_setting['attr_total_simple'])) { foreach($attribute_value as $attribute_id => $values) { foreach($totals_attributes as $i => $attribute) { if($attribute['id'] == $attribute_id) { unset($totals_attributes[$i]); } } $temp_data = $data; unset($temp_data['attribute_value'][$attribute_id]); foreach($this->model_module_filterpro->getTotalAttributes($temp_data) as $attribute) { if($attribute['id'] == $attribute_id) { $totals_attributes[] = $attribute; } } } } $totals_tags = array(); if(version_compare(VERSION, "1.5.4") <= 0) { $totals_tags = $this->model_module_filterpro->getTotalTags($data); } $totals_categories = $this->model_module_filterpro->getTotalCategories($data, $category_id); } $results = $this->model_module_filterpro->getProducts($data); $min_price = false; $max_price = false; if(isset($this->request->post['getPriceLimits']) && $this->request->post['getPriceLimits']) { $priceLimits = $this->model_module_filterpro->getPriceLimits(array('category_id' => $category_id, 'manufacturer_id' => $manufacturer_id, 'special' =>$is_special, 'by_date' =>$is_bydate)); $min_price = $priceLimits['min_price']; $max_price = $priceLimits['max_price']; } $this->request->get['path'] = isset($this->request->post['path']) ? $this->request->post['path'] : ''; $product_total = $this->model_module_filterpro->getTotalProducts($data); $result_html = $this->getHtmlProducts($results, $product_total); $pagination = new Pagination(); $pagination->total = $product_total; $pagination->page = $page; $pagination->limit = $limit; $pagination->text = $this->language->get('text_pagination'); if (isset($this->request->post['manufacturer_id'])) { $pagination->url = $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->post['manufacturer_id'] . '&page={page}'); } else { $pagination->url = $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&page={page}'); } $pagination = $pagination->render(); $k = 1; if((float)$filterpro_setting['tax'] > 0) { $k = 1 + (float)$filterpro_setting['tax'] / 100; } $min_price = $this->currency->convert($min_price * $k, $this->config->get('config_currency'), $this->currency->getCode()); $max_price = $this->currency->convert($max_price * $k, $this->config->get('config_currency'), $this->currency->getCode()); $json = json_encode(array('result_html' => $result_html, 'min_price' => $min_price, 'max_price' => $max_price, 'pagination' => $pagination, 'totals_data' => $getTotals ? array( 'product_total' => $product_total, 'manufacturers' => $totals_manufacturers, 'options' => $totals_options, 'attributes' => $totals_attributes, 'categories' => $totals_categories, 'tags' => $totals_tags) : false)); $this->response->setOutput($json); } private function getHtmlProducts($results, $product_total) { $this->data += $this->language->load('product/category'); $this->data['use_lazyload'] = isset($filterpro_setting['use_lazyload']) ? 1 : 0; $this->data['products'] = array(); $this->load->model('catalog/product_status'); $this->load->model('catalog/promotion'); foreach ($results as $result) { $promotions = $this->model_catalog_promotion->getHTMLProductPromotions($result['product_id']); if ($result['image']) { $image = $this->model_tool_image->resize($result['image'], $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')); } else { $image = $this->model_tool_image->resize('no_image.jpg', $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')); } if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { $price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax'))); } else { $price = false; } if ((float)$result['special']) { $special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax'))); } else { $special = false; } if ($this->config->get('config_tax')) { $tax = $this->currency->format((float)$result['special'] ? $result['special'] : $result['price']); } else { $tax = false; } if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }} if ($this->config->get('config_review_status')) { $rating = (int)$result['rating']; } else { $rating = false; } // module attribute to text $options = $this->config->get('attribute_to_text_options'); if (isset($options['show_catalog_attributes'])) { $this->load->model('catalog/attributes_to_text'); $description = $this->model_catalog_attributes_to_text->getText($result['product_id'], $options); if (empty($description) || $description == '<span class="attributes-text"></span>') { $description = utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 300) . '..'; } } else { $description = utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 300) . '..'; } $this->data['products'][] = array( 'promotion' => $result['promotions']['category'], 'statuses' => $result['statuses']['category'], 'stickers' => $result['statuses']['category_stickers'], 'product_id' => $result['product_id'], 'quantity' => $result['quantity'], 'stock' => $result['stock_status'], 'thumb' => $image, 'name' => $result['name'], //produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds 'description' => $description, 'price' => $price, 'special' => $special, 'tax' => $tax, 'rating' => $result['rating'], 'reviews' => sprintf($this->language->get('text_reviews'), (int)$result['reviews']), 'href' => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id']) ); } if(file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/filterpro_list.tpl') && file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/filterpro_grid.tpl') ) { $this->template = $this->config->get('config_template') . '/template/module/filterpro_list.tpl'; $return['list'] = $this->render(); $this->template = $this->config->get('config_template') . '/template/module/filterpro_grid.tpl'; $return['grid'] = $this->render(); return $return; } elseif(file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/filterpro_products.tpl')) { $this->template = $this->config->get('config_template') . '/template/module/filterpro_products.tpl'; } else { $this->template = 'default/template/module/filterpro_products.tpl'; } return $this->render(); } } ?> Может кто знает, как справиться с проблемой? Буду благодарен люпотому чтой помощи. Edited July 14, 2019 by Zapuzin Добавление файла Link to comment Share on other sites More sharing options...
Zapuzin Posted July 14, 2019 Share Posted July 14, 2019 Забыл написать, что ошипотому чток в логах нет, как системных, ик и vqmod. Link to comment Share on other sites More sharing options...
Zapuzin Posted July 15, 2019 Share Posted July 15, 2019 Странно. Появились ошибки, хотя на сайте модуль Product Display Settings отображает всё, что нужно правильно, только фильтр про не хочет значение "Налилие" товаров, которые есть в налилии, переводить ) Ошибки появились через некоторое время. Во время экспериментов с проблемным модулем кеш листился весь, и они не появлялись ) Спойлер 2019-07-15 0:59:07 - PHP Notice: Undefined variable: result in /home/teploplc/public_html/vqmod/vqcache/vq2-catalog_controller_product_manufacturer.php on line 386 2019-07-15 0:59:07 - PHP Notice: Undefined variable: result in /home/teploplc/public_html/vqmod/vqcache/vq2-catalog_controller_product_manufacturer.php on line 387 2019-07-15 10:57:34 - PHP Notice: Undefined variable: result in /home/teploplc/public_html/vqmod/vqcache/vq2-catalog_controller_product_category.php on line 404 2019-07-15 10:57:34 - PHP Notice: Undefined variable: result in /home/teploplc/public_html/vqmod/vqcache/vq2-catalog_controller_product_category.php on line 405 Весь "product-display-settings.xml" Спойлер <!-- Created using vQmod XML Generator by UKSB - http://www.opencart-extensions.co.uk //--> <modification> <id><![CDATA[Product Display Settings]]></id> <version><![CDATA[1.2]]></version> <vqmver><![CDATA[2.1.5]]></vqmver> <author><![CDATA[Flo from shopencart.com, edited by drbogger]]></author> <file name="admin/controller/setting/setting.php"> <operation> <search position="before" error="log"><![CDATA[if (isset($this->request->post['config_logo'])) {]]></search> <add><![CDATA[ //product display settings if (isset($this->request->post['config_display_sku'])) { $this->data['config_display_sku'] = $this->request->post['config_display_sku']; } else { $this->data['config_display_sku'] = $this->config->get('config_display_sku'); } if (isset($this->request->post['config_display_pweight'])) { $this->data['config_display_pweight'] = $this->request->post['config_display_pweight']; } else { $this->data['config_display_pweight'] = $this->config->get('config_display_pweight'); } if (isset($this->request->post['config_display_skup'])) { $this->data['config_display_skup'] = $this->request->post['config_display_skup']; } else { $this->data['config_display_skup'] = $this->config->get('config_display_skup'); } if (isset($this->request->post['config_display_model'])) { $this->data['config_display_model'] = $this->request->post['config_display_model']; } else { $this->data['config_display_model'] = $this->config->get('config_display_model'); } if (isset($this->request->post['config_display_modelp'])) { $this->data['config_display_modelp'] = $this->request->post['config_display_modelp']; } else { $this->data['config_display_modelp'] = $this->config->get('config_display_modelp'); } if (isset($this->request->post['config_display_brand'])) { $this->data['config_display_brand'] = $this->request->post['config_display_brand']; } else { $this->data['config_display_brand'] = $this->config->get('config_display_brand'); } if (isset($this->request->post['config_display_brandp'])) { $this->data['config_display_brandp'] = $this->request->post['config_display_brandp']; } else { $this->data['config_display_brandp'] = $this->config->get('config_display_brandp'); } if (isset($this->request->post['config_display_rewardsp'])) { $this->data['config_display_rewardsp'] = $this->request->post['config_display_rewardsp']; } else { $this->data['config_display_rewardsp'] = $this->config->get('config_display_rewardsp'); } if (isset($this->request->post['config_display_location'])) { $this->data['config_display_location'] = $this->request->post['config_display_location']; } else { $this->data['config_display_location'] = $this->config->get('config_display_location'); } if (isset($this->request->post['config_display_locationp'])) { $this->data['config_display_locationp'] = $this->request->post['config_display_locationp']; } else { $this->data['config_display_locationp'] = $this->config->get('config_display_locationp'); } if (isset($this->request->post['config_display_listock'])) { $this->data['config_display_listock'] = $this->request->post['config_display_listock']; } else { $this->data['config_display_listock'] = $this->config->get('config_display_listock'); } if (isset($this->request->post['config_display_upc'])) { $this->data['config_display_upc'] = $this->request->post['config_display_upc']; } else { $this->data['config_display_upc'] = $this->config->get('config_display_upc'); } if (isset($this->request->post['config_display_upcp'])) { $this->data['config_display_upcp'] = $this->request->post['config_display_upcp']; } else { $this->data['config_display_upcp'] = $this->config->get('config_display_upcp'); } //end of product display options]]></add> </operation> </file> <file name="admin/view/template/setting/setting.tpl"> <operation> <search position="after"><![CDATA[<div id="tab-option">]]></search> <add><![CDATA[<table class="form"> <tr> <td>Бонусные баллы на страниэто товара?</td> <td><?php if ($config_display_rewardsp) { ?> <input type="radio" name="config_display_rewardsp" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_rewardsp" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_rewardsp" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_rewardsp" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>Вес на страниэто товара?</td> <td><?php if ($config_display_pweight) { ?> <input type="radio" name="config_display_pweight" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_pweight" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_pweight" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_pweight" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>SKU на страниэто товара?</td> <td><?php if ($config_display_sku) { ?> <input type="radio" name="config_display_sku" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_sku" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_sku" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_sku" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>SKU на страниэто категории?</td> <td><?php if ($config_display_skup) { ?> <input type="radio" name="config_display_skup" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_skup" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_skup" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_skup" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>Код товара на страниэто категории?</td> <td><?php if ($config_display_model) { ?> <input type="radio" name="config_display_model" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_model" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_model" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_model" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>Код товара на страниэто товара?</td> <td><?php if ($config_display_modelp) { ?> <input type="radio" name="config_display_modelp" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_modelp" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_modelp" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_modelp" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>Бренд на страниэто категории?</td> <td><?php if ($config_display_brand) { ?> <input type="radio" name="config_display_brand" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_brand" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_brand" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_brand" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>Бренд на страниэто товара?</td> <td><?php if ($config_display_brandp) { ?> <input type="radio" name="config_display_brandp" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_brandp" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_brandp" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_brandp" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>Гарантия на страниэто категории?</td> <td><?php if ($config_display_location) { ?> <input type="radio" name="config_display_location" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_location" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_location" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_location" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr><tr> <td>Гарантия на страниэто товара?</td> <td><?php if ($config_display_locationp) { ?> <input type="radio" name="config_display_locationp" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_locationp" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_locationp" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_locationp" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>UPC на страниэто категории?</td> <td><?php if ($config_display_upc) { ?> <input type="radio" name="config_display_upc" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_upc" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_upc" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_upc" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr><tr> <td>UPC на страниэто товара?</td> <td><?php if ($config_display_upcp) { ?> <input type="radio" name="config_display_upcp" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_upcp" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_upcp" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_upcp" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr> <tr> <td>Налилие товара на страниэто категории?</td> <td><?php if ($config_display_listock) { ?> <input type="radio" name="config_display_listock" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_listock" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="config_display_listock" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="config_display_listock" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr></table>]]></add> </operation> </file> <file name="catalog/controller/product/product.php"> <operation> <search position="after"><![CDATA[$this->data['points'] = $product_info['points'];]]></search> <add><![CDATA[//product display options $this->language->load('product/pds'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_weight'] = $this->language->get('pds_weight'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['sku'] = $product_info['sku']; $this->data['upc'] = $product_info['upc']; $this->data['location'] = $product_info['location']; if ($product_info['weight']) { $this->data['weight'] = $this->weight->format($product_info['weight'], $product_info['weight_class_id'], $this->language->get('decimal_point'), $this->language->get('thousand_point')); } else { $this->data['weight'] = ''; } ]]></add> </operation> </file> <file name="catalog/view/theme/*/template/product/product.tpl"> <operation> <search position="after"><![CDATA[<span><?php echo $text_model; ?></span> <?php echo $model; ?><br />]]></search> <add><![CDATA[<?php if ($this->config->get('config_display_skup') && $sku) { ?> <span><?php echo $pds_sku; ?> </span> <?php echo $sku; ?><br /> <?php } ?> <?php if ($this->config->get('config_display_upcp') && $upc) { ?> <span><?php echo $pds_upc; ?> </span> <?php echo $upc; ?><br /> <?php } ?> <?php if ($this->config->get('config_display_locationp') && $location) { ?> <span><?php echo $pds_location; ?> </span> <?php echo $location; ?><br /> <?php } ?> <?php if ($this->config->get('config_display_pweight') && $weight) { ?> <span><?php echo $pds_weight; ?> </span> <?php echo $weight; ?><br /> <?php } ?> ]]></add> </operation> <operation> <search position="replace"><![CDATA[<?php if ($manufacturer) { ?>]]></search> <add><![CDATA[<?php if ($this->config->get('config_display_brandp') && $manufacturer) { ?>]]></add> </operation> <operation> <search position="replace"><![CDATA[<?php if ($reward) { ?>]]></search> <add><![CDATA[<?php if ($this->config->get('config_display_rewardsp') && $reward) { ?>]]></add> </operation> <operation> <search position="replace"><![CDATA[<span><?php echo $text_model; ?></span> <?php echo $model; ?><br />]]></search> <add><![CDATA[<?php if ($this->config->get('config_display_modelp')) { ?> <span><?php echo $pds_model; ?></span> <?php echo $model; ?><br /> <?php } ?>]]></add> </operation> </file> <file name="catalog/controller/product/category.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }}]]></add> </operation> <operation> <search position="after"><![CDATA['name' => $result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->data['text_grid'] = $this->language->get('text_grid');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/controller/product/search.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }}]]></add> </operation> <operation> <search position="after"><![CDATA['name' => $result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->data['text_grid'] = $this->language->get('text_grid');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/controller/product/manufacturer.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }}]]></add> </operation> <operation> <search position="after"><![CDATA['name' => $result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->data['text_grid'] = $this->language->get('text_grid');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/controller/product/special.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }}]]></add> </operation> <operation> <search position="after"><![CDATA['name' => $result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->data['text_grid'] = $this->language->get('text_grid');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/view/theme/*/template/product/search.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: inline-block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> <operation> <search position="before"><![CDATA[html += ' <div class="name">' + $(element).find('.name').html() + '</div>';]]></search> <add><![CDATA[html += '<div class="extra" style="display: inline-block; color: #444; position: absolute; transform: translate(-165px, 195px); -webkit-transform: translate(-165px, 195px); -o-transform: translate(-165px, 195px); -moz-transform: translate(-165px, 195px); font-size: 14px;">' + $(element).find('.extra').html() + '</div>';]]></add> </operation> <operation> <search position="after"><![CDATA[html += '<div class="name">' + $(element).find('.name').html() + '</div>';]]></search> <add><![CDATA[html += '<div class="extra" style="display: inline-block; color: #444;">' + $(element).find('.extra').html() + '</div>';]]></add> </operation> </file> <file name="catalog/view/theme/*/template/product/category.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: inline-block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> <operation> <search position="before"><![CDATA[html += ' <div class="name">' + $(element).find('.name').html() + '</div>';]]></search> <add><![CDATA[html += '<div class="extra" style="display: inline-block; color: #444; position: absolute; transform: translate(-165px, 195px); -webkit-transform: translate(-165px, 195px); -o-transform: translate(-165px, 195px); -moz-transform: translate(-165px, 195px); font-size: 14px;">' + $(element).find('.extra').html() + '</div>';]]></add> </operation> <operation> <search position="after"><![CDATA[html += '<div class="name">' + $(element).find('.name').html() + '</div>';]]></search> <add><![CDATA[html += '<div class="extra" style="display: inline-block; color: #444;">' + $(element).find('.extra').html() + '</div>';]]></add> </operation> </file> <file name="catalog/view/theme/*/template/product/special.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: inline-block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> <operation> <search position="before"><![CDATA[html += ' <div class="name">' + $(element).find('.name').html() + '</div>';]]></search> <add><![CDATA[html += '<div class="extra" style="display: inline-block; color: #444; position: absolute; transform: translate(-165px, 195px); -webkit-transform: translate(-165px, 195px); -o-transform: translate(-165px, 195px); -moz-transform: translate(-165px, 195px); font-size: 14px;">' + $(element).find('.extra').html() + '</div>';]]></add> </operation> <operation> <search position="after"><![CDATA[html += '<div class="name">' + $(element).find('.name').html() + '</div>';]]></search> <add><![CDATA[html += '<div class="extra" style="display: inline-block; color: #444;">' + $(element).find('.extra').html() + '</div>';]]></add> </operation> </file> <file name="catalog/view/theme/*/template/product/manufacturer_info.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: inline-block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> <operation> <search position="before"><![CDATA[html += ' <div class="name">' + $(element).find('.name').html() + '</div>';]]></search> <add><![CDATA[html += '<div class="extra" style="display: inline-block; color: #444; position: absolute; transform: translate(-165px, 195px); -webkit-transform: translate(-165px, 195px); -o-transform: translate(-165px, 195px); -moz-transform: translate(-165px, 195px); font-size: 14px;">' + $(element).find('.extra').html() + '</div>';]]></add> </operation> <operation> <search position="after"><![CDATA[html += '<div class="name">' + $(element).find('.name').html() + '</div>';]]></search> <add><![CDATA[html += '<div class="extra" style="display: inline-block; color: #444;">' + $(element).find('.extra').html() + '</div>';]]></add> </operation> </file> <file name="catalog/controller/module/latest.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = "Stock: " . $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }]]></add> </operation> <operation> <search position="after"><![CDATA[$result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->language->load('module/latest');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/view/theme/*/template/module/latest.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> </file> <file name="catalog/controller/module/bestseller.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = "Stock: " . $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }]]></add> </operation> <operation> <search position="after"><![CDATA[$result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->language->load('module/bestseller');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/view/theme/*/template/module/bestseller.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> </file> <file name="catalog/controller/module/special.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = "Stock: " . $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }]]></add> </operation> <operation> <search position="after"><![CDATA[$result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->language->load('module/special');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/view/theme/*/template/module/special.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> </file> <file name="catalog/controller/module/featured.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($product_info['quantity'] <= 0) { $rstock = $product_info['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = "Stock: " . $product_info['quantity']; } else { $rstock = $this->language->get('pds_instock'); }]]></add> </operation> <operation> <search position="after"><![CDATA[$product_info['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $product_info['sku'], 'model' => $product_info['model'], 'brand' => $product_info['manufacturer'], 'location' => $product_info['location'], 'upc' => $product_info['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $product_info['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->language->load('module/featured');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/view/theme/*/template/module/featured.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> </file> <file name="catalog/controller/module/viewed.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($product_info['quantity'] <= 0) { $rstock = $product_info['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = "Stock: " . $product_info['quantity']; } else { $rstock = $this->language->get('pds_instock'); }]]></add> </operation> <operation> <search position="after"><![CDATA[$product_info['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $product_info['sku'], 'model' => $product_info['model'], 'brand' => $product_info['manufacturer'], 'location' => $product_info['location'], 'upc' => $product_info['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $product_info['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->language->load('module/viewed');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/view/theme/*/template/module/viewed.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> </file> <file name="catalog/controller/module/filterpro.php"> <operation> <search position="before"><![CDATA[if ($this->config->get('config_review_status')) {]]></search> <add><![CDATA[if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }}]]></add> </operation> <operation> <search position="after"><![CDATA['name' => $result['name'],]]></search> <add><![CDATA[//produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds]]></add> </operation> <operation> <search position="after"><![CDATA[$this->data['text_grid'] = $this->language->get('text_grid');]]></search> <add><![CDATA[$this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock');]]></add> </operation> </file> <file name="catalog/view/theme/*/template/module/filterpro_products.tpl"> <operation> <search position="after"><![CDATA[<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>]]></search> <add><![CDATA[<div class="extra" style="display: inline-block; color: #444;"> <?php if ($this->config->get('config_display_sku') && $product['sku']) { ?> <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> <?php echo $product['sku']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_model') && $product['model']) { ?> <span style="color:#38b0e3"><?php echo $pds_model; ?></span> <?php echo $product['model']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_brand') && $product['brand']) { ?> <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> <a href="<?php echo $product['brand_url']; ?>"><?php echo $product['brand']; ?></a> <br /> <?php } ?> <?php if ($this->config->get('config_display_location') && $product['location']) { ?> <span style="color:#38b0e3"><?php echo $pds_location; ?></span> <?php echo $product['location']; ?> <br /> <?php } ?> <?php if ($product['upc'] && $this->config->get('config_display_upc')) { ?> <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> <?php echo $product['upc']; ?> <br /> <?php } ?> <?php if ($this->config->get('config_display_listock') && $product['stock']) { ?> <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> <?php echo $product['stock']; ?> <br /> <?php } ?> </div>]]></add> </operation> </file> </modification> vq2-catalog_controller_product_manufacturer.php Спойлер <?php class ControllerProductManufacturer extends Controller { public function index() { $this->language->load('product/manufacturer'); $this->load->model('catalog/manufacturer'); $this->load->model('tool/image'); $this->document->setTitle($this->language->get('heading_title')); $this->data['heading_title'] = $this->language->get('heading_title'); $this->data['text_index'] = $this->language->get('text_index'); $this->data['text_empty'] = $this->language->get('text_empty'); $this->data['button_continue'] = $this->language->get('button_continue'); $this->data['breadcrumbs'] = array(); $this->data['breadcrumbs'][] = array( 'text' => $this->language->get('text_home'), 'href' => $this->url->link('common/home'), 'separator' => false ); $this->data['breadcrumbs'][] = array( 'text' => $this->language->get('text_brand'), 'href' => $this->url->link('product/manufacturer'), 'separator' => $this->language->get('text_separator') ); $this->data['categories'] = array(); $results = $this->model_catalog_manufacturer->getManufacturers(); foreach ($results as $result) { if (is_numeric(utf8_substr($result['name'], 0, 1))) { $key = '0 - 9'; } else { $key = utf8_substr(utf8_strtoupper($result['name']), 0, 1); } if (!isset($this->data['manufacturers'][$key])) { $this->data['categories'][$key]['name'] = $key; } $this->data['categories'][$key]['manufacturer'][] = array( 'name' => $result['name'], // ManufacturerLogo 'logo' => $this->model_tool_image->resize($result['image'], 100, 100), // ManufacturerLogo end 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $result['manufacturer_id']) ); } $this->data['continue'] = $this->url->link('common/home'); if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/manufacturer_list.tpl')) { $this->template = $this->config->get('config_template') . '/template/product/manufacturer_list.tpl'; } else { $this->template = 'default/template/product/manufacturer_list.tpl'; } $this->children = array( 'common/column_left', 'common/column_right', 'common/content_top', 'common/content_bottom', 'common/footer', 'common/header' ); $this->response->setOutput($this->render()); } public function info() { $this->language->load('product/manufacturer'); $this->load->model('catalog/manufacturer'); $this->load->model('catalog/product'); $this->load->model('tool/image'); if (isset($this->request->get['manufacturer_id'])) { $manufacturer_id = (int)$this->request->get['manufacturer_id']; } else { $manufacturer_id = 0; } $filterpro_seo = false; $url_data = false; if(isset($this->request->get['filter_id'])) { $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "filterpro_seo WHERE `url`='" . $this->db->escape("filter_id=" . $this->request->get['filter_id']) . "'"); if($query->num_rows) { $filterpro_data = unserialize($query->row['data']); $filterpro_seo = $filterpro_data['lang'][(int)$this->config->get('config_language_id')]; parse_str(str_replace("&", "&", $filterpro_data['url']), $url_data); $url_data['filer_news'] = false; if (!isset($url_data['manufacturer_id']) || $url_data['manufacturer_id'] != $manufacturer_id) { $this->redirect($this->url->link('error/not_found')); } } } if (isset($this->request->get['sort'])) { $sort = $this->request->get['sort']; } else { $sort = 'p.sort_order'; } if (isset($this->request->get['order'])) { $order = $this->request->get['order']; } else { $order = 'ASC'; } if (isset($this->request->get['page'])) { $page = $this->request->get['page']; } else { $page = 1; } if (isset($this->request->get['limit'])) { $limit = $this->request->get['limit']; } else { $limit = $this->config->get('config_catalog_limit'); } $this->data['breadcrumbs'] = array(); $this->data['breadcrumbs'][] = array( 'text' => $this->language->get('text_home'), 'href' => $this->url->link('common/home'), 'separator' => false ); $this->data['breadcrumbs'][] = array( 'text' => $this->language->get('text_brand'), 'href' => $this->url->link('product/manufacturer'), 'separator' => $this->language->get('text_separator') ); $manufacturer_info = $this->model_catalog_manufacturer->getManufacturer($manufacturer_id); if ($manufacturer_info) { if ($manufacturer_info['seo_title']) { $this->document->setTitle($manufacturer_info['seo_title']); } else { $this->document->setTitle($manufacturer_info['name']); } $this->document->addScript('catalog/view/javascript/jquery/jquery.total-storage.min.js'); $this->document->setDescription($manufacturer_info['meta_description']); $this->document->setKeywords($manufacturer_info['meta_keyword']); $url = ''; if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['page'])) { $url .= '&page=' . $this->request->get['page']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['breadcrumbs'][] = array( 'text' => $manufacturer_info['name'], 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . $url), 'separator' => $this->language->get('text_separator') ); if ($manufacturer_info['seo_h1']) { $this->data['heading_title'] = $manufacturer_info['seo_h1']; } else { $this->data['heading_title'] = $manufacturer_info['name']; if($filterpro_seo) { $this->data['description'] = html_entity_decode($filterpro_seo['description'], ENT_QUOTES, 'UTF-8'); $this->data['heading_title'] = $filterpro_seo['h1']; $this->document->setTitle($filterpro_seo['title']); $this->document->setDescription($filterpro_seo['meta_description']); $this->document->setKeywords($filterpro_seo['meta_keywords']); } } $this->data['description'] = html_entity_decode($manufacturer_info['description'], ENT_QUOTES, 'UTF-8'); $this->data['text_empty'] = $this->language->get('text_empty'); $this->data['text_quantity'] = $this->language->get('text_quantity'); $this->data['text_manufacturer'] = $this->language->get('text_manufacturer'); $this->data['text_model'] = $this->language->get('text_model'); $this->data['text_price'] = $this->language->get('text_price'); $this->data['text_tax'] = $this->language->get('text_tax'); $this->data['text_points'] = $this->language->get('text_points'); $this->data['text_compare'] = sprintf($this->language->get('text_compare'), (isset($this->session->data['compare']) ? count($this->session->data['compare']) : 0)); $this->data['text_display'] = $this->language->get('text_display'); $this->data['text_list'] = $this->language->get('text_list'); $this->data['text_grid'] = $this->language->get('text_grid'); $this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock'); $this->data['text_sort'] = $this->language->get('text_sort'); $this->data['text_limit'] = $this->language->get('text_limit'); $this->data['button_cart'] = $this->language->get('button_cart'); $this->data['button_out_of_stock'] = $this->language->get('button_out_of_stock'); $this->data['button_wishlist'] = $this->language->get('button_wishlist'); $this->data['button_compare'] = $this->language->get('button_compare'); $this->data['button_continue'] = $this->language->get('button_continue'); $this->data['compare'] = $this->url->link('product/compare'); $this->data['products'] = array(); $data = array( 'filter_manufacturer_id' => $manufacturer_id, 'sort' => $sort, 'order' => $order, 'start' => ($page - 1) * $limit, 'limit' => $limit ); if($url_data) { $get = $this->request->get; unset($get['route']); unset($get['filter_id']); $this->request->get['filter_redirect'] = $this->url->link('product/category', http_build_query($get)); $this->request->post = $url_data; $this->load->model('module/filterpro'); list($f1, $f2, $f3, $f4, $f5, $f5, $f6, $url_data) = $this->model_module_filterpro->getData(); $url_data['filer_news'] = false; $product_total = $this->model_module_filterpro->getTotalProducts($url_data); $results = $this->model_module_filterpro->getProducts($url_data); } else { $product_total = $this->model_catalog_product->getTotalProducts($data); $results = $this->model_catalog_product->getProducts($data); } //Вызов метода getFoundProducts должен проводится сразу же после getProducts //только тогда он выдает правильное значения когдачества товаров //$product_total = $this->model_catalog_product->getTotalProducts($data); foreach ($results as $result) { if ($result['image']) { $image = $this->model_tool_image->resize($result['image'], $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')); } else { $image = false; } if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { $price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax'))); } else { $price = false; } if ((float)$result['special']) { $special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax'))); } else { $special = false; } if ($this->config->get('config_tax')) { $tax = $this->currency->format((float)$result['special'] ? $result['special'] : $result['price']); } else { $tax = false; } if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }} if ($this->config->get('config_review_status')) { $rating = (int)$result['rating']; } else { $rating = false; } // module attribute to text $options = $this->config->get('attribute_to_text_options'); if (isset($options['show_catalog_attributes'])) { $this->load->model('catalog/attributes_to_text'); $description = $this->model_catalog_attributes_to_text->getText($result['product_id'], $options); if (empty($description) || $description == '<span class="attributes-text"></span>') { $description = utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 300) . '..'; } } else { $description = utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 300) . '..'; } $this->data['products'][] = array( 'promotion' => $result['promotions']['category'], 'statuses' => $result['statuses']['category'], 'stickers' => $result['statuses']['category_stickers'], 'product_id' => $result['product_id'], 'quantity' => $result['quantity'], 'stock' => $result['stock_status'], 'thumb' => $image, 'name' => $result['name'], //produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds 'description' => $description, 'price' => $price, 'special' => $special, 'tax' => $tax, 'rating' => $result['rating'], 'reviews' => sprintf($this->language->get('text_reviews'), (int)$result['reviews']), 'href' => $this->url->link('product/product', '&manufacturer_id=' . $result['manufacturer_id'] . '&product_id=' . $result['product_id'] . $url) ); } $url = ''; if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['sorts'] = array(); $this->data['sorts'][] = array( 'text' => $this->language->get('text_default'), 'value' => 'p.sort_order-ASC', 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=p.sort_order&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_name_asc'), 'value' => 'pd.name-ASC', 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=pd.name&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_name_desc'), 'value' => 'pd.name-DESC', 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=pd.name&order=DESC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_price_asc'), 'value' => 'p.price-ASC', 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=p.price&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_price_desc'), 'value' => 'p.price-DESC', 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=p.price&order=DESC' . $url) ); if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }} if ($this->config->get('config_review_status')) { $this->data['sorts'][] = array( 'text' => $this->language->get('text_rating_desc'), 'value' => 'rating-DESC', 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=rating&order=DESC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_rating_asc'), 'value' => 'rating-ASC', 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=rating&order=ASC' . $url) ); } $this->data['sorts'][] = array( 'text' => $this->language->get('text_model_asc'), 'value' => 'p.model-ASC', 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=p.model&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_model_desc'), 'value' => 'p.model-DESC', 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=p.model&order=DESC' . $url) ); $url = ''; if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } $this->data['limits'] = array(); $limits = array_unique(array($this->config->get('config_catalog_limit'), 25, 50, 75, 100)); sort($limits); foreach($limits as $value){ $this->data['limits'][] = array( 'text' => $value, 'value' => $value, 'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . $url . '&limit=' . $value) ); } $url = ''; if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $pagination = new Pagination(); $pagination->total = $product_total; $pagination->page = $page; $pagination->limit = $limit; $pagination->text = $this->language->get('text_pagination'); $pagination->url = $this->url->link('product/manufacturer/info','manufacturer_id=' . $this->request->get['manufacturer_id'] . $url . '&page={page}'); $this->data['pagination'] = $pagination->render(); $this->data['sort'] = $sort; $this->data['order'] = $order; $this->data['limit'] = $limit; $this->data['continue'] = $this->url->link('common/home'); if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/manufacturer_info.tpl')) { $this->template = $this->config->get('config_template') . '/template/product/manufacturer_info.tpl'; } else { $this->template = 'default/template/product/manufacturer_info.tpl'; } $this->children = array( 'common/column_left', 'common/column_right', 'common/content_top', 'common/content_bottom', 'common/footer', 'common/header' ); $this->response->setOutput($this->render()); } else { $url = ''; if (isset($this->request->get['manufacturer_id'])) { $url .= '&manufacturer_id=' . $this->request->get['manufacturer_id']; } if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['page'])) { $url .= '&page=' . $this->request->get['page']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['breadcrumbs'][] = array( 'text' => $this->language->get('text_error'), 'href' => $this->url->link('product/category', $url), 'separator' => $this->language->get('text_separator') ); $this->document->setTitle($this->language->get('text_error')); $this->data['heading_title'] = $this->language->get('text_error'); $this->data['text_error'] = $this->language->get('text_error'); $this->data['button_continue'] = $this->language->get('button_continue'); $this->data['continue'] = $this->url->link('common/home'); if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/error/not_found.tpl')) { $this->template = $this->config->get('config_template') . '/template/error/not_found.tpl'; } else { $this->template = 'default/template/error/not_found.tpl'; } $this->children = array( 'common/column_left', 'common/column_right', 'common/content_top', 'common/content_bottom', 'common/footer', 'common/header' ); $this->response->setOutput($this->render()); } } } ?> vq2-catalog_controller_product_category.php Спойлер <?php class ControllerProductCategory extends Controller { public function index() { $this->language->load('product/category'); $this->load->model('catalog/category'); $this->load->model('catalog/product'); $this->load->model('tool/image'); if (isset($this->request->get['filter'])) { $filter = $this->request->get['filter']; } else { $filter = ''; } if (isset($this->request->get['sort'])) { $sort = $this->request->get['sort']; } else { $sort = 'p.sort_order'; } if (isset($this->request->get['order'])) { $order = $this->request->get['order']; } else { $order = 'ASC'; } if (isset($this->request->get['page'])) { $page = $this->request->get['page']; } else { $page = 1; } if (isset($this->request->get['limit'])) { $limit = $this->request->get['limit']; } else { $limit = $this->config->get('config_catalog_limit'); } $this->data['breadcrumbs'] = array(); $this->data['breadcrumbs'][] = array( 'text' => $this->language->get('text_home'), 'href' => $this->url->link('common/home'), 'separator' => false ); if (isset($this->request->get['path'])) { $url = ''; if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $path = ''; $parts = explode('_', (string)$this->request->get['path']); $category_id = (int)array_pop($parts); foreach ($parts as $path_id) { if (!$path) { $path = (int)$path_id; } else { $path .= '_' . (int)$path_id; } $category_info = $this->model_catalog_category->getCategory($path_id); if ($category_info) { $this->data['breadcrumbs'][] = array( 'text' => $category_info['name'], 'href' => $this->url->link('product/category', 'path=' . $path . $url), 'separator' => $this->language->get('text_separator') ); } } } else { $category_id = 0; } $filterpro_seo = false; $url_data = false; if(isset($this->request->get['filter_id'])) { $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "filterpro_seo WHERE `url`='" . $this->db->escape("filter_id=" . $this->request->get['filter_id']) . "'"); if($query->num_rows) { $filterpro_data = unserialize($query->row['data']); $filterpro_seo = $filterpro_data['lang'][(int)$this->config->get('config_language_id')]; parse_str(str_replace("&", "&", $filterpro_data['url']), $url_data); $url_data['filer_news'] = false; if(!isset($url_data['category_id']) || $url_data['category_id'] != $category_id) { $this->redirect($this->url->link('error/not_found')); } } } $category_info = $this->model_catalog_category->getCategory($category_id); if ($category_info) { if ($category_info['seo_title']) { $this->document->setTitle($category_info['seo_title']); } else { $this->document->setTitle($category_info['name']); } $this->document->setDescription($category_info['meta_description']); $this->document->setKeywords($category_info['meta_keyword']); $this->document->addScript('catalog/view/javascript/jquery/jquery.total-storage.min.js'); if ($category_info['seo_h1']) { $this->data['heading_title'] = $category_info['seo_h1']; } else { $this->data['heading_title'] = $category_info['name']; } $this->data['text_refine'] = $this->language->get('text_refine'); $this->data['text_empty'] = $this->language->get('text_empty'); $this->data['text_quantity'] = $this->language->get('text_quantity'); $this->data['text_manufacturer'] = $this->language->get('text_manufacturer'); $this->data['text_model'] = $this->language->get('text_model'); $this->data['text_price'] = $this->language->get('text_price'); $this->data['text_tax'] = $this->language->get('text_tax'); $this->data['text_points'] = $this->language->get('text_points'); $this->data['text_compare'] = sprintf($this->language->get('text_compare'), (isset($this->session->data['compare']) ? count($this->session->data['compare']) : 0)); $this->data['text_display'] = $this->language->get('text_display'); $this->data['text_list'] = $this->language->get('text_list'); $this->data['text_grid'] = $this->language->get('text_grid'); $this->language->load('product/pds'); $this->data['pds_sku'] = $this->language->get('pds_sku'); $this->data['pds_upc'] = $this->language->get('pds_upc'); $this->data['pds_location'] = $this->language->get('pds_location'); $this->data['pds_model'] = $this->language->get('pds_model'); $this->data['pds_brand'] = $this->language->get('pds_brand'); $this->data['pds_stock'] = $this->language->get('pds_stock'); $this->data['text_sort'] = $this->language->get('text_sort'); $this->data['text_limit'] = $this->language->get('text_limit'); $this->data['button_cart'] = $this->language->get('button_cart'); $this->data['button_out_of_stock'] = $this->language->get('button_out_of_stock'); $this->data['button_wishlist'] = $this->language->get('button_wishlist'); $this->data['button_compare'] = $this->language->get('button_compare'); $this->data['button_continue'] = $this->language->get('button_continue'); // Set the last category breadcrumb $url = ''; if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['page'])) { $url .= '&page=' . $this->request->get['page']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['breadcrumbs'][] = array( 'text' => $category_info['name'], 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path']), 'separator' => $this->language->get('text_separator') ); if ($category_info['image']) { $this->data['thumb'] = $this->model_tool_image->resize($category_info['image'], $this->config->get('config_image_category_width'), $this->config->get('config_image_category_height')); $this->document->setOgImage($this->data['thumb']); } else { $this->data['thumb'] = ''; } $this->data['description'] = html_entity_decode($category_info['description'], ENT_QUOTES, 'UTF-8'); if($filterpro_seo) { $this->data['description'] = html_entity_decode($filterpro_seo['description'], ENT_QUOTES, 'UTF-8'); $this->data['heading_title'] = $filterpro_seo['h1']; $this->document->setTitle($filterpro_seo['title']); $this->document->setDescription($filterpro_seo['meta_description']); $this->document->setKeywords($filterpro_seo['meta_keywords']); } $this->data['compare'] = $this->url->link('product/compare'); $url = ''; if (isset($this->request->get['filter'])) { $url .= '&filter=' . $this->request->get['filter']; } if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['categories'] = array(); $results = $this->model_catalog_category->getCategories($category_id); foreach ($results as $result) { $data = array( 'filter_category_id' => $result['category_id'], 'filter_sub_category' => true ); $product_total = $this->model_catalog_product->getTotalProducts($data); $this->data['categories'][] = array( 'name' => $result['name'] . ($this->config->get('config_product_count') ? ' (' . $product_total . ')' : ''), 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '_' . $result['category_id'] . $url), 'thumb' => $this->model_tool_image->resize(($result['image']=='' ? 'no_image.jpg' : $result['image']), $this->config->get('config_image_category_width'), $this->config->get('config_image_category_height')) ); } $this->data['products'] = array(); $data = array( 'filter_category_id' => $category_id, 'filter_filter' => $filter, 'sort' => $sort, 'order' => $order, 'start' => ($page - 1) * $limit, 'limit' => $limit ); if($url_data) { $get = $this->request->get; unset($get['route']); unset($get['filter_id']); $this->request->get['filter_redirect'] = $this->url->link('product/category', http_build_query($get)); $this->request->post = $url_data; $this->load->model('module/filterpro'); list($f1, $f2, $f3, $f4, $f5, $f5, $f6, $url_data) = $this->model_module_filterpro->getData(); $url_data['filer_news'] = false; $product_total = $this->model_module_filterpro->getTotalProducts($url_data); $results = $this->model_module_filterpro->getProducts($url_data); } else { $product_total = $this->model_catalog_product->getTotalProducts($data); $results = $this->model_catalog_product->getProducts($data); } //Вызов метода getFoundProducts должен проводится сразу же после getProducts //только тогда он выдает правильное значения когдачества товаров //$product_total = $this->model_catalog_product->getTotalProducts($data); foreach ($results as $result) { if ($result['image']) { $image = $this->model_tool_image->resize($result['image'], $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')); } else { $image = $this->model_tool_image->resize('no_image.jpg', $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')); } if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { $price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax'))); } else { $price = false; } if ((float)$result['special']) { $special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax'))); } else { $special = false; } if ($this->config->get('config_tax')) { $tax = $this->currency->format((float)$result['special'] ? $result['special'] : $result['price']); } else { $tax = false; } if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }} if ($this->config->get('config_review_status')) { $rating = (int)$result['rating']; } else { $rating = false; } // module attribute to text $options = $this->config->get('attribute_to_text_options'); if (isset($options['show_catalog_attributes'])) { $this->load->model('catalog/attributes_to_text'); $description = $this->model_catalog_attributes_to_text->getText($result['product_id'], $options); if (empty($description) || $description == '<span class="attributes-text"></span>') { $description = utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 300) . '..'; } } else { $description = utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 300) . '..'; } $this->data['products'][] = array( 'promotion' => $result['promotions']['category'], 'statuses' => $result['statuses']['category'], 'stickers' => $result['statuses']['category_stickers'], 'product_id' => $result['product_id'], 'quantity' => $result['quantity'], 'stock' => $result['stock_status'], 'thumb' => $image, 'name' => $result['name'], //produc display settings 'sku' => $result['sku'], 'model' => $result['model'], 'brand' => $result['manufacturer'], 'location' => $result['location'], 'upc' => $result['upc'], 'stock' => $rstock, 'brand_url' => $this->url->link('product/manufacturer/product', 'manufacturer_id=' . $result['manufacturer_id']), //end pds 'description' => $description, 'price' => $price, 'special' => $special, 'tax' => $tax, 'rating' => $result['rating'], 'reviews' => sprintf($this->language->get('text_reviews'), (int)$result['reviews']), 'href' => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id'] . $url) ); } $url = ''; if (isset($this->request->get['filter'])) { $url .= '&filter=' . $this->request->get['filter']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['sorts'] = array(); $this->data['sorts'][] = array( 'text' => $this->language->get('text_default'), 'value' => 'p.sort_order-ASC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.sort_order&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_name_asc'), 'value' => 'pd.name-ASC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=pd.name&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_name_desc'), 'value' => 'pd.name-DESC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=pd.name&order=DESC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_price_asc'), 'value' => 'p.price-ASC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.price&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_price_desc'), 'value' => 'p.price-DESC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.price&order=DESC' . $url) ); if ($product_total != 0) { if ($result['quantity'] <= 0) { $rstock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $rstock = $result['quantity']; } else { $rstock = $this->language->get('pds_instock'); }} if ($this->config->get('config_review_status')) { $this->data['sorts'][] = array( 'text' => $this->language->get('text_rating_desc'), 'value' => 'rating-DESC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=rating&order=DESC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_rating_asc'), 'value' => 'rating-ASC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=rating&order=ASC' . $url) ); } $this->data['sorts'][] = array( 'text' => $this->language->get('text_model_asc'), 'value' => 'p.model-ASC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.model&order=ASC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_model_desc'), 'value' => 'p.model-DESC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.model&order=DESC' . $url) ); $url = ''; if (isset($this->request->get['filter'])) { $url .= '&filter=' . $this->request->get['filter']; } if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } $this->data['limits'] = array(); $limits = array_unique(array($this->config->get('config_catalog_limit'), 25, 50, 75, 100)); sort($limits); foreach($limits as $value){ $this->data['limits'][] = array( 'text' => $value, 'value' => $value, 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . $url . '&limit=' . $value) ); } $url = ''; if (isset($this->request->get['filter'])) { $url .= '&filter=' . $this->request->get['filter']; } if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $pagination = new Pagination(); $pagination->total = $product_total; $pagination->page = $page; $pagination->limit = $limit; $pagination->text = $this->language->get('text_pagination'); $pagination->url = $this->url->link('product/category', 'path=' . $this->request->get['path'] . $url . '&page={page}'); $this->data['pagination'] = $pagination->render(); $this->data['sort'] = $sort; $this->data['order'] = $order; $this->data['limit'] = $limit; $this->data['continue'] = $this->url->link('common/home'); if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/category.tpl')) { $this->template = $this->config->get('config_template') . '/template/product/category.tpl'; } else { $this->template = 'default/template/product/category.tpl'; } $this->children = array( 'common/column_left', 'common/column_right', 'common/content_top', 'common/content_bottom', 'common/footer', 'common/header' ); $this->response->setOutput($this->render()); } else { $url = ''; if (isset($this->request->get['path'])) { $url .= '&path=' . $this->request->get['path']; } if (isset($this->request->get['filter'])) { $url .= '&filter=' . $this->request->get['filter']; } if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['page'])) { $url .= '&page=' . $this->request->get['page']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $this->data['breadcrumbs'][] = array( 'text' => $this->language->get('text_error'), 'href' => $this->url->link('product/category', $url), 'separator' => $this->language->get('text_separator') ); $this->document->setTitle($this->language->get('text_error')); $this->data['heading_title'] = $this->language->get('text_error'); $this->data['text_error'] = $this->language->get('text_error'); $this->data['button_continue'] = $this->language->get('button_continue'); $this->data['continue'] = $this->url->link('common/home'); if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/error/not_found.tpl')) { $this->template = $this->config->get('config_template') . '/template/error/not_found.tpl'; } else { $this->template = 'default/template/error/not_found.tpl'; } $this->children = array( 'common/column_left', 'common/column_right', 'common/content_top', 'common/content_bottom', 'common/footer', 'common/header' ); $this->response->setOutput($this->render()); } } } ?> Что заметил. Системные ошибки, связанные с "Product Display Settings", периодически начали появляться после того, как добавился файл "product_statuses.xml" нового модуля "Ситусы Товара PRO Speed, автоситусы, стикеры, текстовые ситусы". Видно им тесно вдвоём ) Link to comment Share on other sites More sharing options...
Recommended Posts