usf

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

Рекомендуемые сообщения

usf    0

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

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

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

 

Машины

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

 

Мотоциклы

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

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

 

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
underline    148

Вы немного не тем путем пошли. Для ваших целей, гораздо проще установить бесплатный модуль от Afwollis.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
afwollis    1 091

underline, вы дали ссылку на эту же тему, а не на дополнение.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
usf    0

underline, вы дали ссылку на эту же тему, а не на дополнение.

а можно ссылочку на модуль, пожалуйста? :oops:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
afwollis    1 091

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
usf    0

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

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

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Arturka    1

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

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

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

 

Машины

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

 

Мотоциклы

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

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

 

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
oleg0186    0

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Verz1Lka    0

Чуточку переписал этот модуль. Выводит товары текущей категории и её подкатегорий именно на странице категории. Если нужно - скажу что сделать :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
VAgU    2

Конечно, нужно :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Verz1Lka    0

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/

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
VAgU    2

Спасибо, ждал, буду пробовать :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
VAgU    2

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

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.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

 

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

 P.S

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

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

 

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

 

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

 

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

 

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Lyam21    0

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/

 

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

 

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

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

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

Спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1RONMAN    0

Добрый день! 

 

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

<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 товаров за раз. Не могу сообразить как сделать. (

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1RONMAN    0

Решение по вопросу выше находится тут: https://opencartforum.com/topic/52515-как-ограничить-цикл-foreach/?do=findComment&comment=460962

 

Все благодарим пользователя snastik!!! :eek:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
arreda    0

Помогите люди добрые!!!

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

 

post-714645-0-72144600-1477397552_thumb.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
tchuma    0

Всем доброго времени суток. Обратный вопрос! как сделать что бы

Товар из подкатегорий не показывались в основной категории?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
donoway    1

Всё проще:

 

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

после

'filter_category_id' => $category_id,

добавить

'filter_sub_category' => true,

 

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

Изменено пользователем donoway

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу