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

[Решено] вывод товаров из подкатегорий на страницу категории


usf

Recommended Posts

возникла проблема

нужно сделать "каталог" товаров

то есть у нас будет 1 страница и на ней список категорий и товаров этой категории вида

 

Машины

товар товар товар

 

Мотоциклы

товар товар товар

товар товар товар

 

вот как-то так. решил сделать это так: создал общую категорию "Товары", категории "машины" и тд стали его подкатегориями.  но на страница "ТОвары" отображается лишь список подкатегорий а потом список всех товаров(если их включить в отображение главной категории)

а как сделать структуру, описанную выше?:(

Гуглил гуглил, так и не нашел  :cry:

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


скорее всего имелось ввиду это дополнение: [ocStore_15x] [Webme] Категории на главной.

лучше уточните у underline

это было то, что мне нужно!

Огромное вам спасибо)

Создал отдельную схему и закинул туда модуль.

только ЧПУ пришлось вручную через htaccess сделать, но модуль очень помог  :wub:

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


возникла проблема

нужно сделать "каталог" товаров

то есть у нас будет 1 страница и на ней список категорий и товаров этой категории вида

 

Машины

товар товар товар

 

Мотоциклы

товар товар товар

товар товар товар

 

вот как-то так. решил сделать это так: создал общую категорию "Товары", категории "машины" и тд стали его подкатегориями.  но на страница "ТОвары" отображается лишь список подкатегорий а потом список всех товаров(если их включить в отображение главной категории)

а как сделать структуру, описанную выше? :(

Гуглил гуглил, так и не нашел  :cry:

Как решил проблему с выводом товаров из подкатегорий в категорию? Модуль описанный ниже выводит всегда одинаковые товары! А нужно,что-бы выводил именно вложенные подкатегории в категориях! вот такого вида

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


  • 9 months later...

Как решил проблему с выводом товаров из подкатегорий в категорию? Модуль описанный ниже выводит всегда одинаковые товары! А нужно,что-бы выводил именно вложенные подкатегории в категориях! вот такого вида

Так есть ли решение ?

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


  • 1 month later...

1) Установил модуль, про который шла речь, включил его отображение на странице категорий (схема category)
2) Убрал вывод списка подкатегорий и основной категории на странице категорий.
Чтобы не убивать весь код вывода в файле ./catalog/view/theme/default/product/category.tpl добавил в двух строчках не выполняющиеся условия:
 

<?php if ($categories  & 1==0) { ?>

 в районе 19й строчки вместо 

<?php if ($categories) { ?>

и

  <?php if($products & 1==0) { ?>

 в районе 42 строчки вместо  

<?php if($products) { ?>

3) Отредактировал сам модуль в файле ./catalog/controller/module/webme_categories_at_homepage.php 
После строки 

$this->load->model('catalog/category');

добавил

function getCurrentCatetgoryID($obj){    
if(isset($obj->request->get['path'])) {
        $path = $obj->request->get['path'];
        $cats = explode('_', $path);
        $cat_id = $cats[count($cats) - 1];
        return $cat_id;
        } else {
        return null;
    }
}
$c_id = getCurrentCatetgoryID($this);
$cats = array($c_id);
$childrens = $this->model_catalog_category->getCategories($c_id);
foreach ($childrens as $child) {
array_push($cats, $child['category_id']);}

Здесь создаётся список категорий - берутся текущая и все её подкатегории.

Сразу после этоих строк можно закомментировать строку

// $category_ids = explode("_", $this->config->get('webme_categories_at_homepage_category')); 

И в строке

 foreach ($category_ids as $cat_id) {

изменить переменную

foreach ($cats as $cat_id) {

Выглядит это в итоге так: 

http://goprorussia.com/camera-accessories/

 

Надеюсь, помог.

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


Все сделал, выдает ошибку 

Parse error: syntax error, unexpected $end in .\www\vqmod\vqcache\vq2-catalog_view_theme_default_template_product_category.tpl on line 209

 

и показывает на строку 209: <?php echo $footer; ?>

 

Помогите 2 часа. Непонимаю.

 

Вот это я туплю сегодня.

 

Решено. добавил 2 шт <?php } ?> в конец category.tpl.

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


  • 1 month later...

Выглядит это в итоге так: 

http://goprorussia.com/camera-accessories/

 

Надеюсь, помог.

Хотел поинтересоваться. Этот модуль затрагивает только вывод "GRID" или "LiST" тоже? А то на примере не понятно. Выбор отображения отсутствует как таковой.

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


  • 3 months later...

Это я так понимаю..речь идет о Модуле и непосредственно в нем, будет отображаться товары из подкатегории в Категории

 

 P.S

подскажите неопытному) 

как сделать, связь...КОгда нажимаешь категорию, у меня пусто (использую импорт) НО нажимая подразделы, товар там есть..а в самой категории пусто. 

Вручную делать...это очень много лишней работы, товара порядка 10тыс...

Спасибо заранее ) 

Перерыл гугл и форумы...нашел НЕ действующие способы.. версия 1.5.51.2

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


  • 4 weeks later...

Выглядит это в итоге так: 

http://goprorussia.com/camera-accessories/

 

Надеюсь, помог.

 

Дружище, спасибо большое!

 

Но образовалась проблема: в последней директории (конечной) нам не нужна работа этого модуля. Иначе получается, что открыв последнюю директорию у нас опять эта самая директория да ещё и ссылкой на саму себя.

 

Вывод последней директории должен работать с заложенным функционалом (сетка/плитка, сравнение  и.д.).

 

Прошу помощи!

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


  • 2 weeks later...

1) Установил модуль, про который шла речь, включил его отображение на странице категорий (схема category)

2) Убрал вывод списка подкатегорий и основной категории на странице категорий.

Чтобы не убивать весь код вывода в файле ./catalog/view/theme/default/product/category.tpl добавил в двух строчках не выполняющиеся условия:

 

<?php if ($categories  & 1==0) { ?>

 в районе 19й строчки вместо 

<?php if ($categories) { ?>

и

  <?php if($products & 1==0) { ?>

 в районе 42 строчки вместо  

<?php if($products) { ?>

3) Отредактировал сам модуль в файле ./catalog/controller/module/webme_categories_at_homepage.php 

После строки 

$this->load->model('catalog/category');

добавил

function getCurrentCatetgoryID($obj){    
if(isset($obj->request->get['path'])) {
        $path = $obj->request->get['path'];
        $cats = explode('_', $path);
        $cat_id = $cats[count($cats) - 1];
        return $cat_id;
        } else {
        return null;
    }
}
$c_id = getCurrentCatetgoryID($this);
$cats = array($c_id);
$childrens = $this->model_catalog_category->getCategories($c_id);
foreach ($childrens as $child) {
array_push($cats, $child['category_id']);}

Здесь создаётся список категорий - берутся текущая и все её подкатегории.

Сразу после этоих строк можно закомментировать строку

// $category_ids = explode("_", $this->config->get('webme_categories_at_homepage_category')); 

И в строке

 foreach ($category_ids as $cat_id) {

изменить переменную

foreach ($cats as $cat_id) {

Выглядит это в итоге так: 

http://goprorussia.com/camera-accessories/

 

Надеюсь, помог.

Спасибо огромное! А как сделать, чтоб это отображалось в карточке товара? 

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


  • 7 months later...
  • 2 months later...

Добрый день!
Прежде всего, выражаю огромнейшую благодарность Verz1Lka за ответ!
Но недавно столкнулся с одной проблемой, и не знаю как ее решить.

ocstore 1.5.5.1.2
стоит модуль, который обсуждался в этой теме.

 

Но проблема теперь в следующем:
1. не работает поиск
2. не работает фильтр

видать привязка к тому модулю идет, так как если вернуть обратно, то дефолтной категории продукты не отображаются. Если не менять <?php if ($categories) { ?> и 
<?php if($products) { ?>, то получится отображение обеих модулей, дефолтного и обсуждаемого здесь.

Подскажите пожалуйста, что где и как поменять, так как сам не в состоянии догнать что к чему.

Спасибо!

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


  • 5 weeks later...

Добрый день! 

 

Подскажите кто-нибудь, как ограничить количество выводимых товаров вот здесь:

<div class="category-list">

    <?php 

        if ( count( $categories ) <= 15 ) {

            foreach ( $categories as $k=>$category ) { 

                if( $k > 0 ) echo '<br /><br />';

                echo '<div class="product-filter" style="background:#222;padding:5px;padding-bottom:2px">';
                echo '<a href="' . $category['href'] . '" style="font-size:21px;text-decoration:none;"><h2 style="color:#eee;font-style:italic"><span style="color:#777;position:relative;bottom:2px">→ </span><span style="border-bottom:solid 1px #777;">' . $category['name'] . '</span>:</h2></a>';
                echo '</div>';
                echo '<hr style="border:none;border-top:solid 1px #eee"/>';
                echo '<div class="product-list">';

                foreach ( $products_all[ $category['category_id'] ] as $product) {
                    echo '<div>';
                    
                    if ( $product['thumb'] ) {
                        echo '<div class="image"><a href="' . $product['href'] . '"><img src="' . $product['thumb'] . '" title="' . $product['name'] . '" alt="' . $product['name'] . '" /></a></div>';
                    }
                    echo '<div class="name"><a href="' . $product['href'] . '">' . $product['name'] . '</a></div>';
                    echo '<div class="description">' . $product['description'] . '</div>';
                    if ( $product['price'] ) {
                        echo '<div class="price">';
                        if ( !$product['special'] ) { echo $product['price']; } 
                        else { echo '<span class="price-old">' . $product['price'] . '</span> <span class="price-new">' . $product['special'] . '</span>'; }
                        if ( $product['tax'] ) { echo '<br /><span class="price-tax">' . $text_tax . ' ' . $product['tax'] . '</span>'; }
                        echo '</div>';
                    }
                    if ( $product['rating'] ) {
                        echo '<div class="rating"><img src="catalog/view/theme/default/image/stars-' . $product['rating'] . '.png" alt="' . $product['reviews'] . '" /></div>';
                    }
                    echo '<div class="cart">';
                    echo '<input type="button" value="' . $button_cart . '" onclick="addToCart(\'' . $product['product_id'] . '\');" class="button" />';
                    echo '</div>';
                    echo '<div class="wishlist"><a onclick="addToWishList(\'' . $product['product_id'] . '\');">' . $button_wishlist . '</a></div>';
                    echo '<div class="compare"><a onclick="addToCompare(\'' . $product['product_id'] . '\');">' . $button_compare . '</a></div>';
                    echo '</div>';
              }
              echo '</div>';

            }

      ?>

То есть если в категории много товаров то получается каша, хотелось бы чтобы выводилось не более 4 товаров за раз. Не могу сообразить как сделать. (

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


  • 2 weeks later...
  • 1 year later...
  • 1 month later...
  • 4 weeks later...

Всё проще:

 

файл - catalog/controller/product/category.php

после

'filter_category_id' => $category_id,

добавить

'filter_sub_category' => true,

 

тогда товары из подкатегорий будут выводиться в родительской категории

Змінено користувачем donoway
  • +1 1
Надіслати
Поділитися на інших сайтах


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

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

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

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

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

Вхід

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

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

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

Important Information

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