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

[Решено] Вывести все товары на главную


Recommended Posts

Здравствуйте! Казалось бы простая задача, а споткнулся... ткните носом где прописать вывод всех имеющихся товаров на главную страницу. А ещё лучше вывод всех товаров по 50 шт с возможностью перелистывать на следующие 50 и т.д. с главной.

ocStore Version 0.2.0

спасибо!

Надіслати
Поділитися на інших сайтах


Только 8 последних товаров выводится, подскажите где искать...

Дополнения > Модули > Последние > "Изменить", поставить "Лимит" - 50
  • +1 1
Надіслати
Поділитися на інших сайтах

Спасибо большое! Догадывался, что все просто. Код перерыл, а в модулях и не подумал искать. Мозгам надо отдыхать давать иногда, все-таки Это и есть - человеческий фактор :blink:

Надіслати
Поділитися на інших сайтах


  • 2 years later...
  • 1 year later...
  • 2 years later...

Для opencart-3

нужно catalog\controller\common\home.php заменить весь код на этот

<?php
    
    class ControllerCommonHome extends Controller {
        public function index() {
            
            
            if ((isset($_SERVER['HTTPS']) && (($_SERVER['HTTPS'] == 'on') || ($_SERVER['HTTPS'] == '1'))) || $_SERVER['SERVER_PORT'] == 443) {
                define('HTTP',"https://");
                } elseif (!empty($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https' || !empty($_SERVER['HTTP_X_FORWARDED_SSL']) && $_SERVER['HTTP_X_FORWARDED_SSL'] == 'on') {
                define('HTTP',"https://");
                } else {
                define('HTTP',"http://");
            }    
            
            define('HOST', HTTP.$_SERVER['HTTP_HOST']);    
            
            
            
            $this->document->setTitle($this->config->get('config_meta_title'));
            $this->document->setDescription($this->config->get('config_meta_description'));
            $this->document->setKeywords($this->config->get('config_meta_keyword'));
            
            
            
            $this->load->language('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 = (int)$this->request->get['limit'];
                } else {
                $limit = $this->config->get('theme_' . $this->config->get('config_theme') . '_product_limit');
            }
            
            
            $data['compare'] = $this->url->link('product/compare');
            
            
            function str_replace_once($search, $replace, $text)
            {
                $pos = strpos($text, $search);
                return $pos!==false ? substr_replace($text, $replace, $pos, strlen($search)) : $text;
            }            
            

            $data['products'] = array();
            
            $filter_data = array(
            'filter_category_id' => 0,
            'filter_filter'      => $filter,
            'sort'               => $sort,
            'order'              => $order,
            'start'              => ($page - 1) * $limit,
            'limit'              => $limit
            );
            
            $product_total = $this->model_catalog_product->getTotalProducts($filter_data);
            
            $results = $this->model_catalog_product->getProducts($filter_data);
            
            foreach ($results as $result) {
                if ($result['image']) {
                    $image = $this->model_tool_image->resize($result['image'], $this->config->get('theme_' . $this->config->get('config_theme') . '_image_product_width'), $this->config->get('theme_' . $this->config->get('config_theme') . '_image_product_height'));
                    } else {
                    $image = $this->model_tool_image->resize('placeholder.png', $this->config->get('theme_' . $this->config->get('config_theme') . '_image_product_width'), $this->config->get('theme_' . $this->config->get('config_theme') . '_image_product_height'));
                }
                
                if ($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')), $this->session->data['currency']);
                    } 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')), $this->session->data['currency']);
                    } else {
                    $special = false;
                }
                
                if ($this->config->get('config_tax')) {
                    $tax = $this->currency->format((float)$result['special'] ? $result['special'] : $result['price'], $this->session->data['currency']);
                    } else {
                    $tax = false;
                }
                
                if ($this->config->get('config_review_status')) {
                    $rating = (int)$result['rating'];
                    } else {
                    $rating = false;
                }
                
                $data['products'][] = array(
                'product_id'  => $result['product_id'],
                'thumb'       => $image,
                'name'        => $result['name'],
                'description' => utf8_substr(trim(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8'))), 0, $this->config->get('theme_' . $this->config->get('config_theme') . '_product_description_length')) . '..',
                'price'       => $price,
                'special'     => $special,
                'tax'         => $tax,
                'minimum'     => $result['minimum'] > 0 ? $result['minimum'] : 1,
                'rating'      => $result['rating'],
                'href'        =>   $this->url->link('product/product', 'path=' . null . '&product_id=' . $result['product_id'] )
                );
            }
            
            
            
            $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'];
            }
            
            
            $data['sorts'] = array();
            
            $data['sorts'][] = array(
            'text'  => $this->language->get('text_default'),
            'value' => 'p.sort_order-ASC',
            'href'  => HOST . ('/?sort=p.sort_order&order=ASC' . $url)
            );
            
            $data['sorts'][] = array(
            'text'  => $this->language->get('text_name_asc'),
            'value' => 'pd.name-ASC',
            'href'  => HOST . ('/?sort=pd.name&order=ASC' . $url)
            );
            
            $data['sorts'][] = array(
            'text'  => $this->language->get('text_name_desc'),
            'value' => 'pd.name-DESC',
            'href'  => HOST . ('/?sort=pd.name&order=DESC' . $url)
            );
            
            $data['sorts'][] = array(
            'text'  => $this->language->get('text_price_asc'),
            'value' => 'p.price-ASC',
            'href'  =>HOST . ('/?sort=p.price&order=ASC' . $url)
            );
            
            $data['sorts'][] = array(
            'text'  => $this->language->get('text_price_desc'),
            'value' => 'p.price-DESC',
            'href'  => HOST . ('/?sort=p.price&order=DESC' . $url)
            );
            
            if ($this->config->get('config_review_status')) {
                $data['sorts'][] = array(
                'text'  => $this->language->get('text_rating_desc'),
                'value' => 'rating-DESC',
                'href'  => HOST . ('/?sort=rating&order=DESC' . $url)
                );
                
                $data['sorts'][] = array(
                'text'  => $this->language->get('text_rating_asc'),
                'value' => 'rating-ASC',
                'href'  => HOST . ('/?sort=rating&order=ASC' . $url)
                );
            }
            
            $data['sorts'][] = array(
            'text'  => $this->language->get('text_model_asc'),
            'value' => 'p.model-ASC',
            'href'  => HOST . ('/?sort=p.model&order=ASC' . $url)
            );
            
            $data['sorts'][] = array(
            'text'  => $this->language->get('text_model_desc'),
            'value' => 'p.model-DESC',
            'href'  => HOST .('/?sort=p.model&order=DESC' . $url)
            );
            
            

            
            $data['limits'] = array();
            
            $limits = array_unique(array($this->config->get('theme_' . $this->config->get('config_theme') . '_product_limit'), 25, 50, 75, 100));
            
            sort($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'];
            }
            
            
            
            foreach($limits as $value) {
                $data['limits'][] = array(
                'text'  => $value,
                'value' => $value,
                'href'  => HOST . str_replace_once('&', '?', $url. '&limit=' . $value)
                );
            }
            

            $url = '';
            
            if (isset($this->request->get['filter'])) {
                $url .= '&filter=' . $this->request->get['filter'];
            }
            
            if (isset($this->request->get['sort'])) {
                $url .= '&sort=' . $this->request->get['sort'];
            }
            
            if (isset($this->request->get['order'])) {
                $url .= '&order=' . $this->request->get['order'];
            }
            
            if (isset($this->request->get['limit'])) {
                $url .= '&limit=' . $this->request->get['limit'];
            }
            
            $url = str_replace_once('&', '?', $url);            
            

            $pagination = new Pagination();
            $pagination->total = $product_total;
            $pagination->page = $page;
            $pagination->limit = $limit;
            $pagination->url = HOST . ($url . '&page={page}');
            
            $data['pagination'] = $pagination->render();
            
            $data['results'] = sprintf($this->language->get('text_pagination'), ($product_total) ? (($page - 1) * $limit) + 1 : 0, ((($page - 1) * $limit) > ($product_total - $limit)) ? $product_total : ((($page - 1) * $limit) + $limit), $product_total, ceil($product_total / $limit));
            

            if ($page == 1) {
                $this->document->addLink(HOST, 'canonical');
                } else {
                $this->document->addLink(HOST . ('/?page='. $page), 'canonical');
            }
            
            if ($page > 1) {
                $this->document->addLink(HOST . ((($page - 2) ? '/?page='. ($page - 1) : '')), 'prev');
            }
            
            if ($limit && ceil($product_total / $limit) > $page) {
                $this->document->addLink(HOST . ('/?page='. ($page + 1)), 'next');
            }
            
            $data['sort'] = $sort;
            $data['order'] = $order;
            $data['limit'] = $limit;
            
            $data['continue'] = $this->url->link('common/home');
            
            $data['column_left'] = $this->load->controller('common/column_left');
            $data['column_right'] = $this->load->controller('common/column_right');
            $data['content_top'] = $this->load->controller('common/content_top');
            $data['content_bottom'] = $this->load->controller('common/content_bottom');
            $data['footer'] = $this->load->controller('common/footer');
            $data['header'] = $this->load->controller('common/header');
            
            $this->response->setOutput($this->load->view('product/category', $data));
            
        }
    }

и товары не должны быть присвоены к категориям, те которые в категориях отображаться не будут.

 

Что бы и фильтры работали надо все товары засовывать в одну категорию и здесь выводить все товары именно той категории.

Надіслати
Поділитися на інших сайтах


            if ((isset($_SERVER['HTTPS']) && (($_SERVER['HTTPS'] == 'on') || ($_SERVER['HTTPS'] == '1'))) || $_SERVER['SERVER_PORT'] == 443) {
                define('HTTP',"https://");
                } elseif (!empty($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https' || !empty($_SERVER['HTTP_X_FORWARDED_SSL']) && $_SERVER['HTTP_X_FORWARDED_SSL'] == 'on') {
                define('HTTP',"https://");
                } else {
                define('HTTP',"http://");
            }    
            
            define('HOST', HTTP.$_SERVER['HTTP_HOST']);    

 

Что это за бред
Откройте стартап и посмотрите..

Что за бред с привязкой  к категориям?

Вы.. это... переименуйтесь. А то с таким громким ником, можно низко упасть.

 

 

  • +1 1
Надіслати
Поділитися на інших сайтах

  • 1 month later...
  • 1 year later...

С категориями возникает такая проблема:

Добавляем модуль "Категории" через редактор макета, при переходе выводит 404 ошибку. 

Простой переход по ссылкам выдает тоже самое. Может кто подсказать куда рыть ?

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

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