cashfile Posted April 6, 2011 Share Posted April 6, 2011 Подскажите , как перенести функцию увеличения изображения товара на странице самого товара на страницу категории ? То есть у меня будет обрезаны главные страницы самого товара , дальше страницы категории перемещения не будет. Собственно поэтому и возникла необходимость увеличивать картинку товара на странице категории . Всё что могу предположить то что править надо файл контроллера категории и немного файл шаблона. Отблагодарю пивом !!! :rolleyes: Link to comment Share on other sites More sharing options...
AlexFisher Posted April 6, 2011 Share Posted April 6, 2011 Блин, а круто. Надо-надо. 'рел' ему дать, как минимум, а там - как с любой в этом плане показывалкой картинок. Заставлять картинку казать. Че-т типа такого. Я ленив и глуп. Поддержу тему. Покажите как. С уважением. Link to comment Share on other sites More sharing options... 2 weeks later... cashfile Posted April 14, 2011 Author Share Posted April 14, 2011 Блин, а круто. Надо-надо. 'рел' ему дать, как минимум, а там - как с любой в этом плане показывалкой картинок. Заставлять картинку казать. Че-т типа такого. Я ленив и глуп. Поддержу тему. Покажите как. С уважением. Я так предполагаю , что нужно из файла product.tpl вырезать скрипт и запускающую фун-кцию или команду. И из файла controller для product.php перенести соответствующую функцию в файлы category. Для тех кто знает было проще это сделать. Я пробовал но пока не получилось , значит чего-то я не учитываю. Link to comment Share on other sites More sharing options... cashfile Posted April 17, 2011 Author Share Posted April 17, 2011 Я так предполагаю , что нужно из файла product.tpl вырезать скрипт и запускающую фун-кцию или команду. И из файла controller для product.php перенести соответствующую функцию в файлы category. Для тех кто знает было проще это сделать. Я пробовал но пока не получилось , значит чего-то я не учитываю. Первое изменение: в category.tpl заменить ссылку для изображения товара на href="<?php echo $popup; ?>" title="<?php echo $heading_title; ?>" class="thickbox" rel="gallery" Второе изменение: в category.php нужно добавить строку $this->data['popup'] = $this->model_tool_image->resize($image, $this->config->get('config_image_popup_width'), $this->config->get('config_image_popup_height')); после ..... (????????) В итоге выводится для всех товаров увеличенное изобр. последнего товара :huh: по идее нужно после 'thumb'=>$this->model_tool_image->resize($image,$this->config->get('config_image_product_width'),$this->config->get('config_image_product_height')), добавить 'popup'=>$this->model_tool_image->resize($image,$this->config->get('config_image_popup_width'), $this->config->get('config_image_popup_height')), Но в этом варианте просто пустое окно :huh: Link to comment Share on other sites More sharing options... EvzeNsx Posted April 17, 2011 Share Posted April 17, 2011 category.php $this->data['products'][] = array( 'name' => $result['name'], 'model' => $result['model'], 'rating' => $rating, 'stars' => sprintf($this->language->get('text_stars'), $rating), 'thumb' => $this->model_tool_image->resize($image, $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')), 'popup' => $this->model_tool_image->resize($image, $this->config->get('config_image_popup_width'), $this->config->get('config_image_popup_height')), 'price' => $price, 'options' => $options, 'special' => $special, 'href' => $this->model_tool_seo_url->rewrite(HTTP_SERVER . 'index.php?route=product/product&path=' . $this->request->get['path'] . '&product_id=' . $result['product_id']), 'add' => $add ); category.tpl <a href="<?php echo $products[$j]['popup']; ?>" title="<?php echo $products[$j]['name']; ?>" rel="slideshow" rel="gallery"> <img src="<?php echo $products[$j]['thumb']; ?>" title="<?php echo $products[$j]['name']; ?>" alt="<?php echo $products[$j]['name']; ?>" id="image" style="margin-bottom: 3px;" /> </a> у меня с такими изменениями все работает. 1 Link to comment Share on other sites More sharing options... cashfile Posted April 17, 2011 Author Share Posted April 17, 2011 у меня с такими изменениями все работает. Благодарю - проблема решена. Может кто подскажет как например в любом модуле выводящем товары на глав.странице(последние , рекомендуемые) при клике по товару переход был на страницу категории этого товара , а не на саму страницу товара !? Я понимаю нужно изменить ссылку на $category[j] , а как быть с файлом php ? Link to comment Share on other sites More sharing options... 8 months later... egorgrin Posted January 9, 2012 Share Posted January 9, 2012 Добрый вечер! Подскажите плииз! Отблагадарю не только пивом!!!! Как перенести функцию увеличения изображения товара на страницу категории в версии ocStore v1.5.1.3? Насколько я вижу схема решения приведённая выше не работает в этой версии? Что поправить? Требуется увеличивать картинку товара уже со станицы категории, не заходя в описание товара. Отблагадарю не только пивом!!!! Link to comment Share on other sites More sharing options... 8 months later... kozybal Posted September 23, 2012 Share Posted September 23, 2012 Всем привет !!! Не совсем понятно куда сунуть код в какие файлы и в каком месте уточните пожалуйста для особо одаренных :wink: Link to comment Share on other sites More sharing options... 1 year later... Marianna Posted August 4, 2014 Share Posted August 4, 2014 Ничего не "решено", так как не объяснили после каких строк это вставлять Мне нужно было сделать увлелечение самой фотки в описании категории, но смысл где-то рядом в увелечение самой фотки товара (так как мне не нужно было увелечение фотки в категории у товара в модальном окне я просто удалила у фото это class="colorbox" rel="colorbox" ). Нашла решение по крупицам в разных местах, пока не выстроила целый ребус, у меня заработало так: В сам файл шаблона category.tpl добавить (естественно у вас там уже есть див с image этим первый в шаблоне, нужно это изменить.): <?php if ($thumb) { ?> <div class="image"><a href="<?php echo $popup; ?>" title="<?php echo $heading_title; ?>" class="colorbox"><img src="<?php echo $thumb; ?>" title="<?php echo $heading_title; ?>" alt="<?php echo $heading_title; ?>" id="image" /></a></div> <?php } ?> В контроллер category.php, вставить после: 'separator' => $this->language->get('text_separator') );: добавить: if ($category_info['image']) { $this->data['popup'] = $this->model_tool_image->resize($category_info['image'], $this->config->get('config_image_popup_width'), $this->config->get('config_image_popup_height')); } else { $this->data['popup'] = ''; } затем в файл шаблона footer.tpl добавить перед закрывающимся </body> это <script type="text/javascript"><!-- $('.colorbox').colorbox({ overlayClose: true, opacity: 0.5 }); //--></script> Потом добавить в файл шаблона header.tpl это: <script type="text/javascript" src="catalog/view/javascript/jquery/colorbox/jquery.colorbox.js"></script> <link rel="stylesheet" type="text/css" href="catalog/view/javascript/jquery/colorbox/colorbox.css" media="screen" /> Link to comment Share on other sites More sharing options... AlexFisher Posted August 4, 2014 Share Posted August 4, 2014 версия 1.6.че-то-там, небось? Странно, что до сих пор не пофиксили. Link to comment Share on other sites More sharing options... Marianna Posted August 4, 2014 Share Posted August 4, 2014 версия 1.6.че-то-там, небось? Странно, что до сих пор не пофиксили. ВЫ об чем? Это не проблема опенкарт, там в описании категорий картинка просто без возможности ее увеличить при клике, на самом деле это не нужная ерунда, просто клиентам зачем-то это понадобилось. А если об увеличение фото в сетке товаров в категории тоже не нужная ерунда по моему мнению. Link to comment Share on other sites More sharing options... AlexFisher Posted August 5, 2014 Share Posted August 5, 2014 пардоньтесь, бред несу, глаз замылен. Link to comment Share on other sites More sharing options... sobwoofer Posted August 5, 2014 Share Posted August 5, 2014 в OcStore 1.5.5.1.2 функция увеличения изображения товаров в категории не роботает Link to comment Share on other sites More sharing options... Tom Posted August 6, 2014 Share Posted August 6, 2014 В этой версии колорбокс не подключен в хидере. Link to comment Share on other sites More sharing options... 5 months later... elscept Posted January 14, 2015 Share Posted January 14, 2015 Для Opencart 1.5.6 ни один из вариантов без доработки не подошел. В итоге сделал так: В файле catalog/cotroller/product/category.php В блоке $this->data['products'][] = array( 'product_id' => $result['product_id'], 'thumb' => $image, Добавил 'popup' => $this->model_tool_image->resize($image, $this->config->get('config_image_popup_width'), $this->config->get('config_image_popup_height')), В шаблоне категории catalog/view/theme/default/template/product/category.tpl вставил такую ссылку на большую картинку <?php echo $product['popup']; ?> Так же нужно перенести подключение Colorbox из product.tpl в header.tpl или footer.tpl Link to comment Share on other sites More sharing options... 3 months later... erigins Posted April 27, 2015 Share Posted April 27, 2015 Для Opencart 1.5.6 ни один из вариантов без доработки не подошел. В итоге сделал так: В файле catalog/cotroller/product/category.php В блоке $this->data['products'][] = array( 'product_id' => $result['product_id'], 'thumb' => $image, Добавил 'popup' => $this->model_tool_image->resize($image, $this->config->get('config_image_popup_width'), $this->config->get('config_image_popup_height')), В шаблоне категории catalog/view/theme/default/template/product/category.tpl вставил такую ссылку на большую картинку <?php echo $product['popup']; ?> Так же нужно перенести подключение Colorbox из product.tpl в header.tpl или footer.tpl Какая-то залуп@, не работает. Уже 2 дня мучаюсь. Хелп. Нужно сделать автоувеличение фото товара при наведении, в категории файл 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; } $category_info = $this->model_catalog_category->getCategory($category_id); if ($category_info) { $this->document->setTitle($category_info['meta_keyword']); $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'); $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->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_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')); } else { $this->data['thumb'] = ''; } $this->data['description'] = html_entity_decode($category_info['description'], ENT_QUOTES, 'UTF-8'); $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) ); } $this->data['products'] = array(); $data = array( 'filter_category_id' => $category_id, 'filter_sub_category' => true, 'filter_filter' => $filter, 'sort' => $sort, 'order' => $order, 'start' => ($page - 1) * $limit, 'limit' => $limit ); $this->data['config_newproduct'] = $this->config->get('config_newproduct'); $this->data['config_display_newproduct'] = $this->config->get('config_display_newproduct'); $this->data['config_display_popularproduct'] = $this->config->get('config_display_popularproduct'); $this->data['config_popularproduct'] = $this->config->get('config_popularproduct'); $this->data['config_display_specialsproduct'] = $this->config->get('config_display_specialsproduct'); $this->data['config_display_availableproduct'] = $this->config->get('config_display_availableproduct'); $product_total = $this->model_catalog_product->getTotalProducts($data); //$results = $this->model_catalog_product->getProducts($data); $results = $this->model_catalog_product->getProducts($data); //Вызов метода getFoundProducts должен проводится сразу же после getProducts //только тогда он выдает правильное значения количества товаров //$product_total = $this->model_catalog_product->getFoundProducts(); 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 ($this->config->get('config_review_status')) { $rating = (int)$result['rating']; } else { $rating = false; } $this->data['products'][] = array( 'product_id' => $result['product_id'], 'thumb' => $image, 'name' => $result['name'], 'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 100) . '..', 'price' => $price, 'special' => $special, 'onorder' => $result['onorder'], 'tax' => $tax, 'rating' => $result['rating'], 'quantity' => $result['quantity'], 'date_available' => $result['date_available'], 'viewed' => $result['viewed'], '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 ($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 $limits){ $this->data['limits'][] = array( 'text' => $limits, 'value' => $limits, 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . $url . '&limit=' . $limits) ); } $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_v2.tpl')) { $this->template = $this->config->get('config_template') . '/template/product/category_v2.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()); } } } ?> файл category.TPL <?php echo $header; ?> <div class="center"> <?php if ($products) { ?> <div class="page"> <h1 class="firstWord"><?php echo $heading_title; ?></h1><div class="floatright"> <select onchange="location = this.value;"> <?php foreach ($sorts as $sorts) { ?> <?php if ($sorts['value'] == $sort . '-' . $order) { ?> <option value="<?php echo $sorts['href']; ?>" selected="selected"><?php echo $sorts['text']; ?></option> <?php } else { ?> <option value="<?php echo $sorts['href']; ?>"><?php echo $sorts['text']; ?></option> <?php } ?> <?php } ?> </select></div> <div class="zz"></div> <div class="acdc"></div> <div class="breadcrumbs"> <?php foreach ($breadcrumbs as $breadcrumb) { ?> <span>/</span><a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a> <?php } ?> </div> <noindex><div class="acdc"></div> <div class="filter-border"> <div class="filter"> <?php echo $column_left; ?> </div> </div></noindex> <div class="products"> <?php foreach ($products as $product) { ?> <div class="item"> <?php if ($product['thumb']) { ?> <a href="<?php echo $product['href']; ?>"> <?php if ($config_display_popularproduct) { ?> <?php if (($product['viewed']) > ($config_popularproduct)) { ?><div class="popularlabel"></div><?php } ?> <?php } ?> <?php if ($config_display_specialsproduct) { ?> <?php if ($product['price'] && $product['special']) { ?><div class="speciallabel"></div> <?php } ?> <?php } ?> <?php if ($config_display_availableproduct) { ?> <?php if (($product['quantity']) <= 0){ ?> <?php if (($product['onorder']) == 1){ ?> <div class="soldlabel"></div> <?php } else { ?> <div class="noproductlabel"></div> <?php } ?> <?php } ?> <?php } ?> <img src="<?php echo $product['thumb']; ?>" title="<?php echo $product['name']; ?>" alt="<?php echo $product['name']; ?>" /></a> <?php } else { ?> <a href="<?php echo $product['href']; ?>"> <?php if ($config_display_popularproduct) { ?> <?php if (($product['viewed']) > ($config_popularproduct)) { ?><div class="popularlabel"></div><?php } ?> <?php } ?> <?php if ($config_display_specialsproduct) { ?> <?php if ($product['price'] && $product['special']) { ?><div class="speciallabel"></div> <?php } ?> <?php } ?> <?php if ($config_display_availableproduct) { ?> <?php if (($product['quantity']) <= 0){ ?> <?php if (($product['onorder']) == 1){ ?> <div class="soldlabel"></div> <?php } else { ?> <div class="noproductlabel"></div> <?php } ?> <?php } ?> <?php } ?> <img src="/catalog/view/theme/confiseur/image/noimage.jpg" title="<?php echo $product['name']; ?>" alt="<?php echo $product['name']; ?>" /></a> <?php } ?> <div class="title-height"><a class="t" href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div> <div class="cart-panel"> <div class="item-info"> <p> <?php if (!$product['special']) { ?> <?php echo $product['price']; ?> <?php } else { ?> <!--<span class="price-old"><?php echo $product['price']; ?></span>--> <span class="price-new"><?php echo $product['special']; ?></span> <?php } ?> </p> <?php if ($product['rating']) { ?> <img src="catalog/view/theme/default/image/stars-<?php echo $product['rating']; ?>.png" alt="<?php echo $product['reviews']; ?>" /> <?php } else { ?> <img src="catalog/view/theme/default/image/stars-0.png" alt="<?php echo $product['reviews']; ?>" /> <?php } ?> </div> <script type="text/javascript"> function addQtyToCart(product_id) { var qty = $('.item-' + product_id).val(); if ((parseFloat(qty) != parseInt(qty)) || isNaN(qty)) { qty = 1; } addToCart(product_id, qty); } </script> <?php if (($product['quantity'] >0 )||($product['onorder']==1)) { ?> <!--<div class="no-quantity">Под заказ</div>--> <div class="col-cat"> Количество:<input type="text" value="1" size="2" class="item-<?php echo $product['product_id']; ?>" /></div> <input type="button" value="" onclick="addQtyToCart('<?php echo $product['product_id']; ?>');ga('send', 'event', 'pokupka_c', 'v_korzinu_c');ga('send', 'pageview', '/order/step1_k.html');" class="button" /> <?php } ?> </div> </div> <?php } ?> </div> </div> <div class="acdc-xs"></div> <div class="pagination"> <?php echo $pagination; ?> </div> <?php } ?> </div> <div class="acdc"></div> <div class="footer-line"></div> <div class="description"> <div class="center"> <div class="acdc-s"></div> <?php if ($description) { ?> <?php echo $description; ?> <?php } ?> </div> </div> <?php echo $footer; ?> Link to comment Share on other sites More sharing options... This topic is now closed to further replies. Share More sharing options... Followers 0 Go to topic listing Similar Content В админке на странице товаров вывести название категории товара By AlexandrSY, February 12 категории категории товаров (and 5 more) Tagged with: категории категории товаров категории на странице товаров категории в админке в админке название категории товаров добавить название категории в списке товаров название категорий в списке товаров 2 replies 194 views PaulKravchenko February 12 функция добавления товара в корзину By AlexMax13, January 2 2 replies 197 views AlexMax13 January 2 Определенный атрибут в списке сортировки товаров на странице категории By Mat, February 16 1 reply 116 views chukcha February 16 Формат даты date_added на странице товара By kraovskiy, December 12, 2021 6 replies 484 views bzserg Monday at 07:22 PM Как перенести корзину из шапки в меню категорий? By alinalessioYandex, December 15, 2022 2 replies 222 views Tom December 15, 2022 Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Поддержка и ответы на вопросы Песочница [Решено] Как перенести функцию увеличения товара на страницу категории ? Покупателям Оплата дополнений физическими лицами Оплата дополнений юридическими лицами Политика возвратов Разработчикам Регламент размещения дополнений Регламент продаж и поддержки дополнений Виртуальный аккаунт автора Политика продвижения объявлений API каталога дополнений Урегулирование споров по авторским правам Полезная информация Публичная оферта Политика возвратов Политика конфиденциальности Платежная политика Политика Передачи Персональных Данных Политика прозрачности Последние дополнения Alta — тема для админ панели By impulze100500 Sorting modules in layout Drag&Drop By markimax Additional services for SAP modules By S_A_P Opencart ChatGPT - artificial intelligence content generator By kabantejay Custom Email By Parallax × Existing user? Sign In Sign Up Shopping section Back Purchased extensions Invoices Whishlist Alternative Contacts Forums News 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 × 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
cashfile Posted April 14, 2011 Author Share Posted April 14, 2011 Блин, а круто. Надо-надо. 'рел' ему дать, как минимум, а там - как с любой в этом плане показывалкой картинок. Заставлять картинку казать. Че-т типа такого. Я ленив и глуп. Поддержу тему. Покажите как. С уважением. Я так предполагаю , что нужно из файла product.tpl вырезать скрипт и запускающую фун-кцию или команду. И из файла controller для product.php перенести соответствующую функцию в файлы category. Для тех кто знает было проще это сделать. Я пробовал но пока не получилось , значит чего-то я не учитываю. Link to comment Share on other sites More sharing options...
cashfile Posted April 17, 2011 Author Share Posted April 17, 2011 Я так предполагаю , что нужно из файла product.tpl вырезать скрипт и запускающую фун-кцию или команду. И из файла controller для product.php перенести соответствующую функцию в файлы category. Для тех кто знает было проще это сделать. Я пробовал но пока не получилось , значит чего-то я не учитываю. Первое изменение: в category.tpl заменить ссылку для изображения товара на href="<?php echo $popup; ?>" title="<?php echo $heading_title; ?>" class="thickbox" rel="gallery" Второе изменение: в category.php нужно добавить строку $this->data['popup'] = $this->model_tool_image->resize($image, $this->config->get('config_image_popup_width'), $this->config->get('config_image_popup_height')); после ..... (????????) В итоге выводится для всех товаров увеличенное изобр. последнего товара :huh: по идее нужно после 'thumb'=>$this->model_tool_image->resize($image,$this->config->get('config_image_product_width'),$this->config->get('config_image_product_height')), добавить 'popup'=>$this->model_tool_image->resize($image,$this->config->get('config_image_popup_width'), $this->config->get('config_image_popup_height')), Но в этом варианте просто пустое окно :huh: Link to comment Share on other sites More sharing options...
EvzeNsx Posted April 17, 2011 Share Posted April 17, 2011 category.php $this->data['products'][] = array( 'name' => $result['name'], 'model' => $result['model'], 'rating' => $rating, 'stars' => sprintf($this->language->get('text_stars'), $rating), 'thumb' => $this->model_tool_image->resize($image, $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')), 'popup' => $this->model_tool_image->resize($image, $this->config->get('config_image_popup_width'), $this->config->get('config_image_popup_height')), 'price' => $price, 'options' => $options, 'special' => $special, 'href' => $this->model_tool_seo_url->rewrite(HTTP_SERVER . 'index.php?route=product/product&path=' . $this->request->get['path'] . '&product_id=' . $result['product_id']), 'add' => $add ); category.tpl <a href="<?php echo $products[$j]['popup']; ?>" title="<?php echo $products[$j]['name']; ?>" rel="slideshow" rel="gallery"> <img src="<?php echo $products[$j]['thumb']; ?>" title="<?php echo $products[$j]['name']; ?>" alt="<?php echo $products[$j]['name']; ?>" id="image" style="margin-bottom: 3px;" /> </a> у меня с такими изменениями все работает. 1 Link to comment Share on other sites More sharing options...
cashfile Posted April 17, 2011 Author Share Posted April 17, 2011 у меня с такими изменениями все работает. Благодарю - проблема решена. Может кто подскажет как например в любом модуле выводящем товары на глав.странице(последние , рекомендуемые) при клике по товару переход был на страницу категории этого товара , а не на саму страницу товара !? Я понимаю нужно изменить ссылку на $category[j] , а как быть с файлом php ? Link to comment Share on other sites More sharing options...
egorgrin Posted January 9, 2012 Share Posted January 9, 2012 Добрый вечер! Подскажите плииз! Отблагадарю не только пивом!!!! Как перенести функцию увеличения изображения товара на страницу категории в версии ocStore v1.5.1.3? Насколько я вижу схема решения приведённая выше не работает в этой версии? Что поправить? Требуется увеличивать картинку товара уже со станицы категории, не заходя в описание товара. Отблагадарю не только пивом!!!! Link to comment Share on other sites More sharing options...
kozybal Posted September 23, 2012 Share Posted September 23, 2012 Всем привет !!! Не совсем понятно куда сунуть код в какие файлы и в каком месте уточните пожалуйста для особо одаренных :wink: Link to comment Share on other sites More sharing options...
Marianna Posted August 4, 2014 Share Posted August 4, 2014 Ничего не "решено", так как не объяснили после каких строк это вставлять Мне нужно было сделать увлелечение самой фотки в описании категории, но смысл где-то рядом в увелечение самой фотки товара (так как мне не нужно было увелечение фотки в категории у товара в модальном окне я просто удалила у фото это class="colorbox" rel="colorbox" ). Нашла решение по крупицам в разных местах, пока не выстроила целый ребус, у меня заработало так: В сам файл шаблона category.tpl добавить (естественно у вас там уже есть див с image этим первый в шаблоне, нужно это изменить.): <?php if ($thumb) { ?> <div class="image"><a href="<?php echo $popup; ?>" title="<?php echo $heading_title; ?>" class="colorbox"><img src="<?php echo $thumb; ?>" title="<?php echo $heading_title; ?>" alt="<?php echo $heading_title; ?>" id="image" /></a></div> <?php } ?> В контроллер category.php, вставить после: 'separator' => $this->language->get('text_separator') );: добавить: if ($category_info['image']) { $this->data['popup'] = $this->model_tool_image->resize($category_info['image'], $this->config->get('config_image_popup_width'), $this->config->get('config_image_popup_height')); } else { $this->data['popup'] = ''; } затем в файл шаблона footer.tpl добавить перед закрывающимся </body> это <script type="text/javascript"><!-- $('.colorbox').colorbox({ overlayClose: true, opacity: 0.5 }); //--></script> Потом добавить в файл шаблона header.tpl это: <script type="text/javascript" src="catalog/view/javascript/jquery/colorbox/jquery.colorbox.js"></script> <link rel="stylesheet" type="text/css" href="catalog/view/javascript/jquery/colorbox/colorbox.css" media="screen" /> Link to comment Share on other sites More sharing options...
AlexFisher Posted August 4, 2014 Share Posted August 4, 2014 версия 1.6.че-то-там, небось? Странно, что до сих пор не пофиксили. Link to comment Share on other sites More sharing options... Marianna Posted August 4, 2014 Share Posted August 4, 2014 версия 1.6.че-то-там, небось? Странно, что до сих пор не пофиксили. ВЫ об чем? Это не проблема опенкарт, там в описании категорий картинка просто без возможности ее увеличить при клике, на самом деле это не нужная ерунда, просто клиентам зачем-то это понадобилось. А если об увеличение фото в сетке товаров в категории тоже не нужная ерунда по моему мнению. Link to comment Share on other sites More sharing options... AlexFisher Posted August 5, 2014 Share Posted August 5, 2014 пардоньтесь, бред несу, глаз замылен. Link to comment Share on other sites More sharing options... sobwoofer Posted August 5, 2014 Share Posted August 5, 2014 в OcStore 1.5.5.1.2 функция увеличения изображения товаров в категории не роботает Link to comment Share on other sites More sharing options... Tom Posted August 6, 2014 Share Posted August 6, 2014 В этой версии колорбокс не подключен в хидере. Link to comment Share on other sites More sharing options... 5 months later... elscept Posted January 14, 2015 Share Posted January 14, 2015 Для Opencart 1.5.6 ни один из вариантов без доработки не подошел. В итоге сделал так: В файле catalog/cotroller/product/category.php В блоке $this->data['products'][] = array( 'product_id' => $result['product_id'], 'thumb' => $image, Добавил 'popup' => $this->model_tool_image->resize($image, $this->config->get('config_image_popup_width'), $this->config->get('config_image_popup_height')), В шаблоне категории catalog/view/theme/default/template/product/category.tpl вставил такую ссылку на большую картинку <?php echo $product['popup']; ?> Так же нужно перенести подключение Colorbox из product.tpl в header.tpl или footer.tpl Link to comment Share on other sites More sharing options... 3 months later... erigins Posted April 27, 2015 Share Posted April 27, 2015 Для Opencart 1.5.6 ни один из вариантов без доработки не подошел. В итоге сделал так: В файле catalog/cotroller/product/category.php В блоке $this->data['products'][] = array( 'product_id' => $result['product_id'], 'thumb' => $image, Добавил 'popup' => $this->model_tool_image->resize($image, $this->config->get('config_image_popup_width'), $this->config->get('config_image_popup_height')), В шаблоне категории catalog/view/theme/default/template/product/category.tpl вставил такую ссылку на большую картинку <?php echo $product['popup']; ?> Так же нужно перенести подключение Colorbox из product.tpl в header.tpl или footer.tpl Какая-то залуп@, не работает. Уже 2 дня мучаюсь. Хелп. Нужно сделать автоувеличение фото товара при наведении, в категории файл 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; } $category_info = $this->model_catalog_category->getCategory($category_id); if ($category_info) { $this->document->setTitle($category_info['meta_keyword']); $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'); $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->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_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')); } else { $this->data['thumb'] = ''; } $this->data['description'] = html_entity_decode($category_info['description'], ENT_QUOTES, 'UTF-8'); $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) ); } $this->data['products'] = array(); $data = array( 'filter_category_id' => $category_id, 'filter_sub_category' => true, 'filter_filter' => $filter, 'sort' => $sort, 'order' => $order, 'start' => ($page - 1) * $limit, 'limit' => $limit ); $this->data['config_newproduct'] = $this->config->get('config_newproduct'); $this->data['config_display_newproduct'] = $this->config->get('config_display_newproduct'); $this->data['config_display_popularproduct'] = $this->config->get('config_display_popularproduct'); $this->data['config_popularproduct'] = $this->config->get('config_popularproduct'); $this->data['config_display_specialsproduct'] = $this->config->get('config_display_specialsproduct'); $this->data['config_display_availableproduct'] = $this->config->get('config_display_availableproduct'); $product_total = $this->model_catalog_product->getTotalProducts($data); //$results = $this->model_catalog_product->getProducts($data); $results = $this->model_catalog_product->getProducts($data); //Вызов метода getFoundProducts должен проводится сразу же после getProducts //только тогда он выдает правильное значения количества товаров //$product_total = $this->model_catalog_product->getFoundProducts(); 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 ($this->config->get('config_review_status')) { $rating = (int)$result['rating']; } else { $rating = false; } $this->data['products'][] = array( 'product_id' => $result['product_id'], 'thumb' => $image, 'name' => $result['name'], 'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 100) . '..', 'price' => $price, 'special' => $special, 'onorder' => $result['onorder'], 'tax' => $tax, 'rating' => $result['rating'], 'quantity' => $result['quantity'], 'date_available' => $result['date_available'], 'viewed' => $result['viewed'], '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 ($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 $limits){ $this->data['limits'][] = array( 'text' => $limits, 'value' => $limits, 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . $url . '&limit=' . $limits) ); } $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_v2.tpl')) { $this->template = $this->config->get('config_template') . '/template/product/category_v2.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()); } } } ?> файл category.TPL <?php echo $header; ?> <div class="center"> <?php if ($products) { ?> <div class="page"> <h1 class="firstWord"><?php echo $heading_title; ?></h1><div class="floatright"> <select onchange="location = this.value;"> <?php foreach ($sorts as $sorts) { ?> <?php if ($sorts['value'] == $sort . '-' . $order) { ?> <option value="<?php echo $sorts['href']; ?>" selected="selected"><?php echo $sorts['text']; ?></option> <?php } else { ?> <option value="<?php echo $sorts['href']; ?>"><?php echo $sorts['text']; ?></option> <?php } ?> <?php } ?> </select></div> <div class="zz"></div> <div class="acdc"></div> <div class="breadcrumbs"> <?php foreach ($breadcrumbs as $breadcrumb) { ?> <span>/</span><a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a> <?php } ?> </div> <noindex><div class="acdc"></div> <div class="filter-border"> <div class="filter"> <?php echo $column_left; ?> </div> </div></noindex> <div class="products"> <?php foreach ($products as $product) { ?> <div class="item"> <?php if ($product['thumb']) { ?> <a href="<?php echo $product['href']; ?>"> <?php if ($config_display_popularproduct) { ?> <?php if (($product['viewed']) > ($config_popularproduct)) { ?><div class="popularlabel"></div><?php } ?> <?php } ?> <?php if ($config_display_specialsproduct) { ?> <?php if ($product['price'] && $product['special']) { ?><div class="speciallabel"></div> <?php } ?> <?php } ?> <?php if ($config_display_availableproduct) { ?> <?php if (($product['quantity']) <= 0){ ?> <?php if (($product['onorder']) == 1){ ?> <div class="soldlabel"></div> <?php } else { ?> <div class="noproductlabel"></div> <?php } ?> <?php } ?> <?php } ?> <img src="<?php echo $product['thumb']; ?>" title="<?php echo $product['name']; ?>" alt="<?php echo $product['name']; ?>" /></a> <?php } else { ?> <a href="<?php echo $product['href']; ?>"> <?php if ($config_display_popularproduct) { ?> <?php if (($product['viewed']) > ($config_popularproduct)) { ?><div class="popularlabel"></div><?php } ?> <?php } ?> <?php if ($config_display_specialsproduct) { ?> <?php if ($product['price'] && $product['special']) { ?><div class="speciallabel"></div> <?php } ?> <?php } ?> <?php if ($config_display_availableproduct) { ?> <?php if (($product['quantity']) <= 0){ ?> <?php if (($product['onorder']) == 1){ ?> <div class="soldlabel"></div> <?php } else { ?> <div class="noproductlabel"></div> <?php } ?> <?php } ?> <?php } ?> <img src="/catalog/view/theme/confiseur/image/noimage.jpg" title="<?php echo $product['name']; ?>" alt="<?php echo $product['name']; ?>" /></a> <?php } ?> <div class="title-height"><a class="t" href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div> <div class="cart-panel"> <div class="item-info"> <p> <?php if (!$product['special']) { ?> <?php echo $product['price']; ?> <?php } else { ?> <!--<span class="price-old"><?php echo $product['price']; ?></span>--> <span class="price-new"><?php echo $product['special']; ?></span> <?php } ?> </p> <?php if ($product['rating']) { ?> <img src="catalog/view/theme/default/image/stars-<?php echo $product['rating']; ?>.png" alt="<?php echo $product['reviews']; ?>" /> <?php } else { ?> <img src="catalog/view/theme/default/image/stars-0.png" alt="<?php echo $product['reviews']; ?>" /> <?php } ?> </div> <script type="text/javascript"> function addQtyToCart(product_id) { var qty = $('.item-' + product_id).val(); if ((parseFloat(qty) != parseInt(qty)) || isNaN(qty)) { qty = 1; } addToCart(product_id, qty); } </script> <?php if (($product['quantity'] >0 )||($product['onorder']==1)) { ?> <!--<div class="no-quantity">Под заказ</div>--> <div class="col-cat"> Количество:<input type="text" value="1" size="2" class="item-<?php echo $product['product_id']; ?>" /></div> <input type="button" value="" onclick="addQtyToCart('<?php echo $product['product_id']; ?>');ga('send', 'event', 'pokupka_c', 'v_korzinu_c');ga('send', 'pageview', '/order/step1_k.html');" class="button" /> <?php } ?> </div> </div> <?php } ?> </div> </div> <div class="acdc-xs"></div> <div class="pagination"> <?php echo $pagination; ?> </div> <?php } ?> </div> <div class="acdc"></div> <div class="footer-line"></div> <div class="description"> <div class="center"> <div class="acdc-s"></div> <?php if ($description) { ?> <?php echo $description; ?> <?php } ?> </div> </div> <?php echo $footer; ?> Link to comment Share on other sites More sharing options... This topic is now closed to further replies. Share More sharing options... Followers 0 Go to topic listing Similar Content В админке на странице товаров вывести название категории товара By AlexandrSY, February 12 категории категории товаров (and 5 more) Tagged with: категории категории товаров категории на странице товаров категории в админке в админке название категории товаров добавить название категории в списке товаров название категорий в списке товаров 2 replies 194 views PaulKravchenko February 12 функция добавления товара в корзину By AlexMax13, January 2 2 replies 197 views AlexMax13 January 2 Определенный атрибут в списке сортировки товаров на странице категории By Mat, February 16 1 reply 116 views chukcha February 16 Формат даты date_added на странице товара By kraovskiy, December 12, 2021 6 replies 484 views bzserg Monday at 07:22 PM Как перенести корзину из шапки в меню категорий? By alinalessioYandex, December 15, 2022 2 replies 222 views Tom December 15, 2022 Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Поддержка и ответы на вопросы Песочница [Решено] Как перенести функцию увеличения товара на страницу категории ? Покупателям Оплата дополнений физическими лицами Оплата дополнений юридическими лицами Политика возвратов Разработчикам Регламент размещения дополнений Регламент продаж и поддержки дополнений Виртуальный аккаунт автора Политика продвижения объявлений API каталога дополнений Урегулирование споров по авторским правам Полезная информация Публичная оферта Политика возвратов Политика конфиденциальности Платежная политика Политика Передачи Персональных Данных Политика прозрачности Последние дополнения Alta — тема для админ панели By impulze100500 Sorting modules in layout Drag&Drop By markimax Additional services for SAP modules By S_A_P Opencart ChatGPT - artificial intelligence content generator By kabantejay Custom Email By Parallax
Marianna Posted August 4, 2014 Share Posted August 4, 2014 версия 1.6.че-то-там, небось? Странно, что до сих пор не пофиксили. ВЫ об чем? Это не проблема опенкарт, там в описании категорий картинка просто без возможности ее увеличить при клике, на самом деле это не нужная ерунда, просто клиентам зачем-то это понадобилось. А если об увеличение фото в сетке товаров в категории тоже не нужная ерунда по моему мнению. Link to comment Share on other sites More sharing options...
AlexFisher Posted August 5, 2014 Share Posted August 5, 2014 пардоньтесь, бред несу, глаз замылен. Link to comment Share on other sites More sharing options... sobwoofer Posted August 5, 2014 Share Posted August 5, 2014 в OcStore 1.5.5.1.2 функция увеличения изображения товаров в категории не роботает Link to comment Share on other sites More sharing options... Tom Posted August 6, 2014 Share Posted August 6, 2014 В этой версии колорбокс не подключен в хидере. Link to comment Share on other sites More sharing options... 5 months later... elscept Posted January 14, 2015 Share Posted January 14, 2015 Для Opencart 1.5.6 ни один из вариантов без доработки не подошел. В итоге сделал так: В файле catalog/cotroller/product/category.php В блоке $this->data['products'][] = array( 'product_id' => $result['product_id'], 'thumb' => $image, Добавил 'popup' => $this->model_tool_image->resize($image, $this->config->get('config_image_popup_width'), $this->config->get('config_image_popup_height')), В шаблоне категории catalog/view/theme/default/template/product/category.tpl вставил такую ссылку на большую картинку <?php echo $product['popup']; ?> Так же нужно перенести подключение Colorbox из product.tpl в header.tpl или footer.tpl Link to comment Share on other sites More sharing options... 3 months later... erigins Posted April 27, 2015 Share Posted April 27, 2015 Для Opencart 1.5.6 ни один из вариантов без доработки не подошел. В итоге сделал так: В файле catalog/cotroller/product/category.php В блоке $this->data['products'][] = array( 'product_id' => $result['product_id'], 'thumb' => $image, Добавил 'popup' => $this->model_tool_image->resize($image, $this->config->get('config_image_popup_width'), $this->config->get('config_image_popup_height')), В шаблоне категории catalog/view/theme/default/template/product/category.tpl вставил такую ссылку на большую картинку <?php echo $product['popup']; ?> Так же нужно перенести подключение Colorbox из product.tpl в header.tpl или footer.tpl Какая-то залуп@, не работает. Уже 2 дня мучаюсь. Хелп. Нужно сделать автоувеличение фото товара при наведении, в категории файл 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; } $category_info = $this->model_catalog_category->getCategory($category_id); if ($category_info) { $this->document->setTitle($category_info['meta_keyword']); $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'); $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->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_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')); } else { $this->data['thumb'] = ''; } $this->data['description'] = html_entity_decode($category_info['description'], ENT_QUOTES, 'UTF-8'); $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) ); } $this->data['products'] = array(); $data = array( 'filter_category_id' => $category_id, 'filter_sub_category' => true, 'filter_filter' => $filter, 'sort' => $sort, 'order' => $order, 'start' => ($page - 1) * $limit, 'limit' => $limit ); $this->data['config_newproduct'] = $this->config->get('config_newproduct'); $this->data['config_display_newproduct'] = $this->config->get('config_display_newproduct'); $this->data['config_display_popularproduct'] = $this->config->get('config_display_popularproduct'); $this->data['config_popularproduct'] = $this->config->get('config_popularproduct'); $this->data['config_display_specialsproduct'] = $this->config->get('config_display_specialsproduct'); $this->data['config_display_availableproduct'] = $this->config->get('config_display_availableproduct'); $product_total = $this->model_catalog_product->getTotalProducts($data); //$results = $this->model_catalog_product->getProducts($data); $results = $this->model_catalog_product->getProducts($data); //Вызов метода getFoundProducts должен проводится сразу же после getProducts //только тогда он выдает правильное значения количества товаров //$product_total = $this->model_catalog_product->getFoundProducts(); 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 ($this->config->get('config_review_status')) { $rating = (int)$result['rating']; } else { $rating = false; } $this->data['products'][] = array( 'product_id' => $result['product_id'], 'thumb' => $image, 'name' => $result['name'], 'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 100) . '..', 'price' => $price, 'special' => $special, 'onorder' => $result['onorder'], 'tax' => $tax, 'rating' => $result['rating'], 'quantity' => $result['quantity'], 'date_available' => $result['date_available'], 'viewed' => $result['viewed'], '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 ($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 $limits){ $this->data['limits'][] = array( 'text' => $limits, 'value' => $limits, 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . $url . '&limit=' . $limits) ); } $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_v2.tpl')) { $this->template = $this->config->get('config_template') . '/template/product/category_v2.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()); } } } ?> файл category.TPL <?php echo $header; ?> <div class="center"> <?php if ($products) { ?> <div class="page"> <h1 class="firstWord"><?php echo $heading_title; ?></h1><div class="floatright"> <select onchange="location = this.value;"> <?php foreach ($sorts as $sorts) { ?> <?php if ($sorts['value'] == $sort . '-' . $order) { ?> <option value="<?php echo $sorts['href']; ?>" selected="selected"><?php echo $sorts['text']; ?></option> <?php } else { ?> <option value="<?php echo $sorts['href']; ?>"><?php echo $sorts['text']; ?></option> <?php } ?> <?php } ?> </select></div> <div class="zz"></div> <div class="acdc"></div> <div class="breadcrumbs"> <?php foreach ($breadcrumbs as $breadcrumb) { ?> <span>/</span><a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a> <?php } ?> </div> <noindex><div class="acdc"></div> <div class="filter-border"> <div class="filter"> <?php echo $column_left; ?> </div> </div></noindex> <div class="products"> <?php foreach ($products as $product) { ?> <div class="item"> <?php if ($product['thumb']) { ?> <a href="<?php echo $product['href']; ?>"> <?php if ($config_display_popularproduct) { ?> <?php if (($product['viewed']) > ($config_popularproduct)) { ?><div class="popularlabel"></div><?php } ?> <?php } ?> <?php if ($config_display_specialsproduct) { ?> <?php if ($product['price'] && $product['special']) { ?><div class="speciallabel"></div> <?php } ?> <?php } ?> <?php if ($config_display_availableproduct) { ?> <?php if (($product['quantity']) <= 0){ ?> <?php if (($product['onorder']) == 1){ ?> <div class="soldlabel"></div> <?php } else { ?> <div class="noproductlabel"></div> <?php } ?> <?php } ?> <?php } ?> <img src="<?php echo $product['thumb']; ?>" title="<?php echo $product['name']; ?>" alt="<?php echo $product['name']; ?>" /></a> <?php } else { ?> <a href="<?php echo $product['href']; ?>"> <?php if ($config_display_popularproduct) { ?> <?php if (($product['viewed']) > ($config_popularproduct)) { ?><div class="popularlabel"></div><?php } ?> <?php } ?> <?php if ($config_display_specialsproduct) { ?> <?php if ($product['price'] && $product['special']) { ?><div class="speciallabel"></div> <?php } ?> <?php } ?> <?php if ($config_display_availableproduct) { ?> <?php if (($product['quantity']) <= 0){ ?> <?php if (($product['onorder']) == 1){ ?> <div class="soldlabel"></div> <?php } else { ?> <div class="noproductlabel"></div> <?php } ?> <?php } ?> <?php } ?> <img src="/catalog/view/theme/confiseur/image/noimage.jpg" title="<?php echo $product['name']; ?>" alt="<?php echo $product['name']; ?>" /></a> <?php } ?> <div class="title-height"><a class="t" href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div> <div class="cart-panel"> <div class="item-info"> <p> <?php if (!$product['special']) { ?> <?php echo $product['price']; ?> <?php } else { ?> <!--<span class="price-old"><?php echo $product['price']; ?></span>--> <span class="price-new"><?php echo $product['special']; ?></span> <?php } ?> </p> <?php if ($product['rating']) { ?> <img src="catalog/view/theme/default/image/stars-<?php echo $product['rating']; ?>.png" alt="<?php echo $product['reviews']; ?>" /> <?php } else { ?> <img src="catalog/view/theme/default/image/stars-0.png" alt="<?php echo $product['reviews']; ?>" /> <?php } ?> </div> <script type="text/javascript"> function addQtyToCart(product_id) { var qty = $('.item-' + product_id).val(); if ((parseFloat(qty) != parseInt(qty)) || isNaN(qty)) { qty = 1; } addToCart(product_id, qty); } </script> <?php if (($product['quantity'] >0 )||($product['onorder']==1)) { ?> <!--<div class="no-quantity">Под заказ</div>--> <div class="col-cat"> Количество:<input type="text" value="1" size="2" class="item-<?php echo $product['product_id']; ?>" /></div> <input type="button" value="" onclick="addQtyToCart('<?php echo $product['product_id']; ?>');ga('send', 'event', 'pokupka_c', 'v_korzinu_c');ga('send', 'pageview', '/order/step1_k.html');" class="button" /> <?php } ?> </div> </div> <?php } ?> </div> </div> <div class="acdc-xs"></div> <div class="pagination"> <?php echo $pagination; ?> </div> <?php } ?> </div> <div class="acdc"></div> <div class="footer-line"></div> <div class="description"> <div class="center"> <div class="acdc-s"></div> <?php if ($description) { ?> <?php echo $description; ?> <?php } ?> </div> </div> <?php echo $footer; ?> Link to comment Share on other sites More sharing options... This topic is now closed to further replies. Share More sharing options... Followers 0 Go to topic listing Similar Content В админке на странице товаров вывести название категории товара By AlexandrSY, February 12 категории категории товаров (and 5 more) Tagged with: категории категории товаров категории на странице товаров категории в админке в админке название категории товаров добавить название категории в списке товаров название категорий в списке товаров 2 replies 194 views PaulKravchenko February 12 функция добавления товара в корзину By AlexMax13, January 2 2 replies 197 views AlexMax13 January 2 Определенный атрибут в списке сортировки товаров на странице категории By Mat, February 16 1 reply 116 views chukcha February 16 Формат даты date_added на странице товара By kraovskiy, December 12, 2021 6 replies 484 views bzserg Monday at 07:22 PM Как перенести корзину из шапки в меню категорий? By alinalessioYandex, December 15, 2022 2 replies 222 views Tom December 15, 2022 Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Поддержка и ответы на вопросы Песочница [Решено] Как перенести функцию увеличения товара на страницу категории ?
sobwoofer Posted August 5, 2014 Share Posted August 5, 2014 в OcStore 1.5.5.1.2 функция увеличения изображения товаров в категории не роботает Link to comment Share on other sites More sharing options... Tom Posted August 6, 2014 Share Posted August 6, 2014 В этой версии колорбокс не подключен в хидере. Link to comment Share on other sites More sharing options... 5 months later... elscept Posted January 14, 2015 Share Posted January 14, 2015 Для Opencart 1.5.6 ни один из вариантов без доработки не подошел. В итоге сделал так: В файле catalog/cotroller/product/category.php В блоке $this->data['products'][] = array( 'product_id' => $result['product_id'], 'thumb' => $image, Добавил 'popup' => $this->model_tool_image->resize($image, $this->config->get('config_image_popup_width'), $this->config->get('config_image_popup_height')), В шаблоне категории catalog/view/theme/default/template/product/category.tpl вставил такую ссылку на большую картинку <?php echo $product['popup']; ?> Так же нужно перенести подключение Colorbox из product.tpl в header.tpl или footer.tpl Link to comment Share on other sites More sharing options... 3 months later... erigins Posted April 27, 2015 Share Posted April 27, 2015 Для Opencart 1.5.6 ни один из вариантов без доработки не подошел. В итоге сделал так: В файле catalog/cotroller/product/category.php В блоке $this->data['products'][] = array( 'product_id' => $result['product_id'], 'thumb' => $image, Добавил 'popup' => $this->model_tool_image->resize($image, $this->config->get('config_image_popup_width'), $this->config->get('config_image_popup_height')), В шаблоне категории catalog/view/theme/default/template/product/category.tpl вставил такую ссылку на большую картинку <?php echo $product['popup']; ?> Так же нужно перенести подключение Colorbox из product.tpl в header.tpl или footer.tpl Какая-то залуп@, не работает. Уже 2 дня мучаюсь. Хелп. Нужно сделать автоувеличение фото товара при наведении, в категории файл 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; } $category_info = $this->model_catalog_category->getCategory($category_id); if ($category_info) { $this->document->setTitle($category_info['meta_keyword']); $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'); $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->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_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')); } else { $this->data['thumb'] = ''; } $this->data['description'] = html_entity_decode($category_info['description'], ENT_QUOTES, 'UTF-8'); $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) ); } $this->data['products'] = array(); $data = array( 'filter_category_id' => $category_id, 'filter_sub_category' => true, 'filter_filter' => $filter, 'sort' => $sort, 'order' => $order, 'start' => ($page - 1) * $limit, 'limit' => $limit ); $this->data['config_newproduct'] = $this->config->get('config_newproduct'); $this->data['config_display_newproduct'] = $this->config->get('config_display_newproduct'); $this->data['config_display_popularproduct'] = $this->config->get('config_display_popularproduct'); $this->data['config_popularproduct'] = $this->config->get('config_popularproduct'); $this->data['config_display_specialsproduct'] = $this->config->get('config_display_specialsproduct'); $this->data['config_display_availableproduct'] = $this->config->get('config_display_availableproduct'); $product_total = $this->model_catalog_product->getTotalProducts($data); //$results = $this->model_catalog_product->getProducts($data); $results = $this->model_catalog_product->getProducts($data); //Вызов метода getFoundProducts должен проводится сразу же после getProducts //только тогда он выдает правильное значения количества товаров //$product_total = $this->model_catalog_product->getFoundProducts(); 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 ($this->config->get('config_review_status')) { $rating = (int)$result['rating']; } else { $rating = false; } $this->data['products'][] = array( 'product_id' => $result['product_id'], 'thumb' => $image, 'name' => $result['name'], 'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 100) . '..', 'price' => $price, 'special' => $special, 'onorder' => $result['onorder'], 'tax' => $tax, 'rating' => $result['rating'], 'quantity' => $result['quantity'], 'date_available' => $result['date_available'], 'viewed' => $result['viewed'], '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 ($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 $limits){ $this->data['limits'][] = array( 'text' => $limits, 'value' => $limits, 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . $url . '&limit=' . $limits) ); } $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_v2.tpl')) { $this->template = $this->config->get('config_template') . '/template/product/category_v2.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()); } } } ?> файл category.TPL <?php echo $header; ?> <div class="center"> <?php if ($products) { ?> <div class="page"> <h1 class="firstWord"><?php echo $heading_title; ?></h1><div class="floatright"> <select onchange="location = this.value;"> <?php foreach ($sorts as $sorts) { ?> <?php if ($sorts['value'] == $sort . '-' . $order) { ?> <option value="<?php echo $sorts['href']; ?>" selected="selected"><?php echo $sorts['text']; ?></option> <?php } else { ?> <option value="<?php echo $sorts['href']; ?>"><?php echo $sorts['text']; ?></option> <?php } ?> <?php } ?> </select></div> <div class="zz"></div> <div class="acdc"></div> <div class="breadcrumbs"> <?php foreach ($breadcrumbs as $breadcrumb) { ?> <span>/</span><a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a> <?php } ?> </div> <noindex><div class="acdc"></div> <div class="filter-border"> <div class="filter"> <?php echo $column_left; ?> </div> </div></noindex> <div class="products"> <?php foreach ($products as $product) { ?> <div class="item"> <?php if ($product['thumb']) { ?> <a href="<?php echo $product['href']; ?>"> <?php if ($config_display_popularproduct) { ?> <?php if (($product['viewed']) > ($config_popularproduct)) { ?><div class="popularlabel"></div><?php } ?> <?php } ?> <?php if ($config_display_specialsproduct) { ?> <?php if ($product['price'] && $product['special']) { ?><div class="speciallabel"></div> <?php } ?> <?php } ?> <?php if ($config_display_availableproduct) { ?> <?php if (($product['quantity']) <= 0){ ?> <?php if (($product['onorder']) == 1){ ?> <div class="soldlabel"></div> <?php } else { ?> <div class="noproductlabel"></div> <?php } ?> <?php } ?> <?php } ?> <img src="<?php echo $product['thumb']; ?>" title="<?php echo $product['name']; ?>" alt="<?php echo $product['name']; ?>" /></a> <?php } else { ?> <a href="<?php echo $product['href']; ?>"> <?php if ($config_display_popularproduct) { ?> <?php if (($product['viewed']) > ($config_popularproduct)) { ?><div class="popularlabel"></div><?php } ?> <?php } ?> <?php if ($config_display_specialsproduct) { ?> <?php if ($product['price'] && $product['special']) { ?><div class="speciallabel"></div> <?php } ?> <?php } ?> <?php if ($config_display_availableproduct) { ?> <?php if (($product['quantity']) <= 0){ ?> <?php if (($product['onorder']) == 1){ ?> <div class="soldlabel"></div> <?php } else { ?> <div class="noproductlabel"></div> <?php } ?> <?php } ?> <?php } ?> <img src="/catalog/view/theme/confiseur/image/noimage.jpg" title="<?php echo $product['name']; ?>" alt="<?php echo $product['name']; ?>" /></a> <?php } ?> <div class="title-height"><a class="t" href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div> <div class="cart-panel"> <div class="item-info"> <p> <?php if (!$product['special']) { ?> <?php echo $product['price']; ?> <?php } else { ?> <!--<span class="price-old"><?php echo $product['price']; ?></span>--> <span class="price-new"><?php echo $product['special']; ?></span> <?php } ?> </p> <?php if ($product['rating']) { ?> <img src="catalog/view/theme/default/image/stars-<?php echo $product['rating']; ?>.png" alt="<?php echo $product['reviews']; ?>" /> <?php } else { ?> <img src="catalog/view/theme/default/image/stars-0.png" alt="<?php echo $product['reviews']; ?>" /> <?php } ?> </div> <script type="text/javascript"> function addQtyToCart(product_id) { var qty = $('.item-' + product_id).val(); if ((parseFloat(qty) != parseInt(qty)) || isNaN(qty)) { qty = 1; } addToCart(product_id, qty); } </script> <?php if (($product['quantity'] >0 )||($product['onorder']==1)) { ?> <!--<div class="no-quantity">Под заказ</div>--> <div class="col-cat"> Количество:<input type="text" value="1" size="2" class="item-<?php echo $product['product_id']; ?>" /></div> <input type="button" value="" onclick="addQtyToCart('<?php echo $product['product_id']; ?>');ga('send', 'event', 'pokupka_c', 'v_korzinu_c');ga('send', 'pageview', '/order/step1_k.html');" class="button" /> <?php } ?> </div> </div> <?php } ?> </div> </div> <div class="acdc-xs"></div> <div class="pagination"> <?php echo $pagination; ?> </div> <?php } ?> </div> <div class="acdc"></div> <div class="footer-line"></div> <div class="description"> <div class="center"> <div class="acdc-s"></div> <?php if ($description) { ?> <?php echo $description; ?> <?php } ?> </div> </div> <?php echo $footer; ?> Link to comment Share on other sites More sharing options... This topic is now closed to further replies. Share More sharing options... Followers 0 Go to topic listing Similar Content В админке на странице товаров вывести название категории товара By AlexandrSY, February 12 категории категории товаров (and 5 more) Tagged with: категории категории товаров категории на странице товаров категории в админке в админке название категории товаров добавить название категории в списке товаров название категорий в списке товаров 2 replies 194 views PaulKravchenko February 12 функция добавления товара в корзину By AlexMax13, January 2 2 replies 197 views AlexMax13 January 2 Определенный атрибут в списке сортировки товаров на странице категории By Mat, February 16 1 reply 116 views chukcha February 16 Формат даты date_added на странице товара By kraovskiy, December 12, 2021 6 replies 484 views bzserg Monday at 07:22 PM Как перенести корзину из шапки в меню категорий? By alinalessioYandex, December 15, 2022 2 replies 222 views Tom December 15, 2022 Recently Browsing 0 members No registered users viewing this page.
Tom Posted August 6, 2014 Share Posted August 6, 2014 В этой версии колорбокс не подключен в хидере. Link to comment Share on other sites More sharing options... 5 months later... elscept Posted January 14, 2015 Share Posted January 14, 2015 Для Opencart 1.5.6 ни один из вариантов без доработки не подошел. В итоге сделал так: В файле catalog/cotroller/product/category.php В блоке $this->data['products'][] = array( 'product_id' => $result['product_id'], 'thumb' => $image, Добавил 'popup' => $this->model_tool_image->resize($image, $this->config->get('config_image_popup_width'), $this->config->get('config_image_popup_height')), В шаблоне категории catalog/view/theme/default/template/product/category.tpl вставил такую ссылку на большую картинку <?php echo $product['popup']; ?> Так же нужно перенести подключение Colorbox из product.tpl в header.tpl или footer.tpl Link to comment Share on other sites More sharing options... 3 months later... erigins Posted April 27, 2015 Share Posted April 27, 2015 Для Opencart 1.5.6 ни один из вариантов без доработки не подошел. В итоге сделал так: В файле catalog/cotroller/product/category.php В блоке $this->data['products'][] = array( 'product_id' => $result['product_id'], 'thumb' => $image, Добавил 'popup' => $this->model_tool_image->resize($image, $this->config->get('config_image_popup_width'), $this->config->get('config_image_popup_height')), В шаблоне категории catalog/view/theme/default/template/product/category.tpl вставил такую ссылку на большую картинку <?php echo $product['popup']; ?> Так же нужно перенести подключение Colorbox из product.tpl в header.tpl или footer.tpl Какая-то залуп@, не работает. Уже 2 дня мучаюсь. Хелп. Нужно сделать автоувеличение фото товара при наведении, в категории файл 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; } $category_info = $this->model_catalog_category->getCategory($category_id); if ($category_info) { $this->document->setTitle($category_info['meta_keyword']); $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'); $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->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_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')); } else { $this->data['thumb'] = ''; } $this->data['description'] = html_entity_decode($category_info['description'], ENT_QUOTES, 'UTF-8'); $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) ); } $this->data['products'] = array(); $data = array( 'filter_category_id' => $category_id, 'filter_sub_category' => true, 'filter_filter' => $filter, 'sort' => $sort, 'order' => $order, 'start' => ($page - 1) * $limit, 'limit' => $limit ); $this->data['config_newproduct'] = $this->config->get('config_newproduct'); $this->data['config_display_newproduct'] = $this->config->get('config_display_newproduct'); $this->data['config_display_popularproduct'] = $this->config->get('config_display_popularproduct'); $this->data['config_popularproduct'] = $this->config->get('config_popularproduct'); $this->data['config_display_specialsproduct'] = $this->config->get('config_display_specialsproduct'); $this->data['config_display_availableproduct'] = $this->config->get('config_display_availableproduct'); $product_total = $this->model_catalog_product->getTotalProducts($data); //$results = $this->model_catalog_product->getProducts($data); $results = $this->model_catalog_product->getProducts($data); //Вызов метода getFoundProducts должен проводится сразу же после getProducts //только тогда он выдает правильное значения количества товаров //$product_total = $this->model_catalog_product->getFoundProducts(); 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 ($this->config->get('config_review_status')) { $rating = (int)$result['rating']; } else { $rating = false; } $this->data['products'][] = array( 'product_id' => $result['product_id'], 'thumb' => $image, 'name' => $result['name'], 'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 100) . '..', 'price' => $price, 'special' => $special, 'onorder' => $result['onorder'], 'tax' => $tax, 'rating' => $result['rating'], 'quantity' => $result['quantity'], 'date_available' => $result['date_available'], 'viewed' => $result['viewed'], '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 ($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 $limits){ $this->data['limits'][] = array( 'text' => $limits, 'value' => $limits, 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . $url . '&limit=' . $limits) ); } $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_v2.tpl')) { $this->template = $this->config->get('config_template') . '/template/product/category_v2.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()); } } } ?> файл category.TPL <?php echo $header; ?> <div class="center"> <?php if ($products) { ?> <div class="page"> <h1 class="firstWord"><?php echo $heading_title; ?></h1><div class="floatright"> <select onchange="location = this.value;"> <?php foreach ($sorts as $sorts) { ?> <?php if ($sorts['value'] == $sort . '-' . $order) { ?> <option value="<?php echo $sorts['href']; ?>" selected="selected"><?php echo $sorts['text']; ?></option> <?php } else { ?> <option value="<?php echo $sorts['href']; ?>"><?php echo $sorts['text']; ?></option> <?php } ?> <?php } ?> </select></div> <div class="zz"></div> <div class="acdc"></div> <div class="breadcrumbs"> <?php foreach ($breadcrumbs as $breadcrumb) { ?> <span>/</span><a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a> <?php } ?> </div> <noindex><div class="acdc"></div> <div class="filter-border"> <div class="filter"> <?php echo $column_left; ?> </div> </div></noindex> <div class="products"> <?php foreach ($products as $product) { ?> <div class="item"> <?php if ($product['thumb']) { ?> <a href="<?php echo $product['href']; ?>"> <?php if ($config_display_popularproduct) { ?> <?php if (($product['viewed']) > ($config_popularproduct)) { ?><div class="popularlabel"></div><?php } ?> <?php } ?> <?php if ($config_display_specialsproduct) { ?> <?php if ($product['price'] && $product['special']) { ?><div class="speciallabel"></div> <?php } ?> <?php } ?> <?php if ($config_display_availableproduct) { ?> <?php if (($product['quantity']) <= 0){ ?> <?php if (($product['onorder']) == 1){ ?> <div class="soldlabel"></div> <?php } else { ?> <div class="noproductlabel"></div> <?php } ?> <?php } ?> <?php } ?> <img src="<?php echo $product['thumb']; ?>" title="<?php echo $product['name']; ?>" alt="<?php echo $product['name']; ?>" /></a> <?php } else { ?> <a href="<?php echo $product['href']; ?>"> <?php if ($config_display_popularproduct) { ?> <?php if (($product['viewed']) > ($config_popularproduct)) { ?><div class="popularlabel"></div><?php } ?> <?php } ?> <?php if ($config_display_specialsproduct) { ?> <?php if ($product['price'] && $product['special']) { ?><div class="speciallabel"></div> <?php } ?> <?php } ?> <?php if ($config_display_availableproduct) { ?> <?php if (($product['quantity']) <= 0){ ?> <?php if (($product['onorder']) == 1){ ?> <div class="soldlabel"></div> <?php } else { ?> <div class="noproductlabel"></div> <?php } ?> <?php } ?> <?php } ?> <img src="/catalog/view/theme/confiseur/image/noimage.jpg" title="<?php echo $product['name']; ?>" alt="<?php echo $product['name']; ?>" /></a> <?php } ?> <div class="title-height"><a class="t" href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div> <div class="cart-panel"> <div class="item-info"> <p> <?php if (!$product['special']) { ?> <?php echo $product['price']; ?> <?php } else { ?> <!--<span class="price-old"><?php echo $product['price']; ?></span>--> <span class="price-new"><?php echo $product['special']; ?></span> <?php } ?> </p> <?php if ($product['rating']) { ?> <img src="catalog/view/theme/default/image/stars-<?php echo $product['rating']; ?>.png" alt="<?php echo $product['reviews']; ?>" /> <?php } else { ?> <img src="catalog/view/theme/default/image/stars-0.png" alt="<?php echo $product['reviews']; ?>" /> <?php } ?> </div> <script type="text/javascript"> function addQtyToCart(product_id) { var qty = $('.item-' + product_id).val(); if ((parseFloat(qty) != parseInt(qty)) || isNaN(qty)) { qty = 1; } addToCart(product_id, qty); } </script> <?php if (($product['quantity'] >0 )||($product['onorder']==1)) { ?> <!--<div class="no-quantity">Под заказ</div>--> <div class="col-cat"> Количество:<input type="text" value="1" size="2" class="item-<?php echo $product['product_id']; ?>" /></div> <input type="button" value="" onclick="addQtyToCart('<?php echo $product['product_id']; ?>');ga('send', 'event', 'pokupka_c', 'v_korzinu_c');ga('send', 'pageview', '/order/step1_k.html');" class="button" /> <?php } ?> </div> </div> <?php } ?> </div> </div> <div class="acdc-xs"></div> <div class="pagination"> <?php echo $pagination; ?> </div> <?php } ?> </div> <div class="acdc"></div> <div class="footer-line"></div> <div class="description"> <div class="center"> <div class="acdc-s"></div> <?php if ($description) { ?> <?php echo $description; ?> <?php } ?> </div> </div> <?php echo $footer; ?> Link to comment Share on other sites More sharing options... This topic is now closed to further replies. Share More sharing options... Followers 0
elscept Posted January 14, 2015 Share Posted January 14, 2015 Для Opencart 1.5.6 ни один из вариантов без доработки не подошел. В итоге сделал так: В файле catalog/cotroller/product/category.php В блоке $this->data['products'][] = array( 'product_id' => $result['product_id'], 'thumb' => $image, Добавил 'popup' => $this->model_tool_image->resize($image, $this->config->get('config_image_popup_width'), $this->config->get('config_image_popup_height')), В шаблоне категории catalog/view/theme/default/template/product/category.tpl вставил такую ссылку на большую картинку <?php echo $product['popup']; ?> Так же нужно перенести подключение Colorbox из product.tpl в header.tpl или footer.tpl Link to comment Share on other sites More sharing options...
erigins Posted April 27, 2015 Share Posted April 27, 2015 Для Opencart 1.5.6 ни один из вариантов без доработки не подошел. В итоге сделал так: В файле catalog/cotroller/product/category.php В блоке $this->data['products'][] = array( 'product_id' => $result['product_id'], 'thumb' => $image, Добавил 'popup' => $this->model_tool_image->resize($image, $this->config->get('config_image_popup_width'), $this->config->get('config_image_popup_height')), В шаблоне категории catalog/view/theme/default/template/product/category.tpl вставил такую ссылку на большую картинку <?php echo $product['popup']; ?> Так же нужно перенести подключение Colorbox из product.tpl в header.tpl или footer.tpl Какая-то залуп@, не работает. Уже 2 дня мучаюсь. Хелп. Нужно сделать автоувеличение фото товара при наведении, в категории файл 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; } $category_info = $this->model_catalog_category->getCategory($category_id); if ($category_info) { $this->document->setTitle($category_info['meta_keyword']); $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'); $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->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_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')); } else { $this->data['thumb'] = ''; } $this->data['description'] = html_entity_decode($category_info['description'], ENT_QUOTES, 'UTF-8'); $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) ); } $this->data['products'] = array(); $data = array( 'filter_category_id' => $category_id, 'filter_sub_category' => true, 'filter_filter' => $filter, 'sort' => $sort, 'order' => $order, 'start' => ($page - 1) * $limit, 'limit' => $limit ); $this->data['config_newproduct'] = $this->config->get('config_newproduct'); $this->data['config_display_newproduct'] = $this->config->get('config_display_newproduct'); $this->data['config_display_popularproduct'] = $this->config->get('config_display_popularproduct'); $this->data['config_popularproduct'] = $this->config->get('config_popularproduct'); $this->data['config_display_specialsproduct'] = $this->config->get('config_display_specialsproduct'); $this->data['config_display_availableproduct'] = $this->config->get('config_display_availableproduct'); $product_total = $this->model_catalog_product->getTotalProducts($data); //$results = $this->model_catalog_product->getProducts($data); $results = $this->model_catalog_product->getProducts($data); //Вызов метода getFoundProducts должен проводится сразу же после getProducts //только тогда он выдает правильное значения количества товаров //$product_total = $this->model_catalog_product->getFoundProducts(); 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 ($this->config->get('config_review_status')) { $rating = (int)$result['rating']; } else { $rating = false; } $this->data['products'][] = array( 'product_id' => $result['product_id'], 'thumb' => $image, 'name' => $result['name'], 'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 100) . '..', 'price' => $price, 'special' => $special, 'onorder' => $result['onorder'], 'tax' => $tax, 'rating' => $result['rating'], 'quantity' => $result['quantity'], 'date_available' => $result['date_available'], 'viewed' => $result['viewed'], '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 ($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 $limits){ $this->data['limits'][] = array( 'text' => $limits, 'value' => $limits, 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . $url . '&limit=' . $limits) ); } $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_v2.tpl')) { $this->template = $this->config->get('config_template') . '/template/product/category_v2.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()); } } } ?> файл category.TPL <?php echo $header; ?> <div class="center"> <?php if ($products) { ?> <div class="page"> <h1 class="firstWord"><?php echo $heading_title; ?></h1><div class="floatright"> <select onchange="location = this.value;"> <?php foreach ($sorts as $sorts) { ?> <?php if ($sorts['value'] == $sort . '-' . $order) { ?> <option value="<?php echo $sorts['href']; ?>" selected="selected"><?php echo $sorts['text']; ?></option> <?php } else { ?> <option value="<?php echo $sorts['href']; ?>"><?php echo $sorts['text']; ?></option> <?php } ?> <?php } ?> </select></div> <div class="zz"></div> <div class="acdc"></div> <div class="breadcrumbs"> <?php foreach ($breadcrumbs as $breadcrumb) { ?> <span>/</span><a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a> <?php } ?> </div> <noindex><div class="acdc"></div> <div class="filter-border"> <div class="filter"> <?php echo $column_left; ?> </div> </div></noindex> <div class="products"> <?php foreach ($products as $product) { ?> <div class="item"> <?php if ($product['thumb']) { ?> <a href="<?php echo $product['href']; ?>"> <?php if ($config_display_popularproduct) { ?> <?php if (($product['viewed']) > ($config_popularproduct)) { ?><div class="popularlabel"></div><?php } ?> <?php } ?> <?php if ($config_display_specialsproduct) { ?> <?php if ($product['price'] && $product['special']) { ?><div class="speciallabel"></div> <?php } ?> <?php } ?> <?php if ($config_display_availableproduct) { ?> <?php if (($product['quantity']) <= 0){ ?> <?php if (($product['onorder']) == 1){ ?> <div class="soldlabel"></div> <?php } else { ?> <div class="noproductlabel"></div> <?php } ?> <?php } ?> <?php } ?> <img src="<?php echo $product['thumb']; ?>" title="<?php echo $product['name']; ?>" alt="<?php echo $product['name']; ?>" /></a> <?php } else { ?> <a href="<?php echo $product['href']; ?>"> <?php if ($config_display_popularproduct) { ?> <?php if (($product['viewed']) > ($config_popularproduct)) { ?><div class="popularlabel"></div><?php } ?> <?php } ?> <?php if ($config_display_specialsproduct) { ?> <?php if ($product['price'] && $product['special']) { ?><div class="speciallabel"></div> <?php } ?> <?php } ?> <?php if ($config_display_availableproduct) { ?> <?php if (($product['quantity']) <= 0){ ?> <?php if (($product['onorder']) == 1){ ?> <div class="soldlabel"></div> <?php } else { ?> <div class="noproductlabel"></div> <?php } ?> <?php } ?> <?php } ?> <img src="/catalog/view/theme/confiseur/image/noimage.jpg" title="<?php echo $product['name']; ?>" alt="<?php echo $product['name']; ?>" /></a> <?php } ?> <div class="title-height"><a class="t" href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div> <div class="cart-panel"> <div class="item-info"> <p> <?php if (!$product['special']) { ?> <?php echo $product['price']; ?> <?php } else { ?> <!--<span class="price-old"><?php echo $product['price']; ?></span>--> <span class="price-new"><?php echo $product['special']; ?></span> <?php } ?> </p> <?php if ($product['rating']) { ?> <img src="catalog/view/theme/default/image/stars-<?php echo $product['rating']; ?>.png" alt="<?php echo $product['reviews']; ?>" /> <?php } else { ?> <img src="catalog/view/theme/default/image/stars-0.png" alt="<?php echo $product['reviews']; ?>" /> <?php } ?> </div> <script type="text/javascript"> function addQtyToCart(product_id) { var qty = $('.item-' + product_id).val(); if ((parseFloat(qty) != parseInt(qty)) || isNaN(qty)) { qty = 1; } addToCart(product_id, qty); } </script> <?php if (($product['quantity'] >0 )||($product['onorder']==1)) { ?> <!--<div class="no-quantity">Под заказ</div>--> <div class="col-cat"> Количество:<input type="text" value="1" size="2" class="item-<?php echo $product['product_id']; ?>" /></div> <input type="button" value="" onclick="addQtyToCart('<?php echo $product['product_id']; ?>');ga('send', 'event', 'pokupka_c', 'v_korzinu_c');ga('send', 'pageview', '/order/step1_k.html');" class="button" /> <?php } ?> </div> </div> <?php } ?> </div> </div> <div class="acdc-xs"></div> <div class="pagination"> <?php echo $pagination; ?> </div> <?php } ?> </div> <div class="acdc"></div> <div class="footer-line"></div> <div class="description"> <div class="center"> <div class="acdc-s"></div> <?php if ($description) { ?> <?php echo $description; ?> <?php } ?> </div> </div> <?php echo $footer; ?> Link to comment Share on other sites More sharing options...
Recommended Posts