Вопрос Вывод категорий в которых состоит товар

Discussion in 'Дизайн и оформление, шаблоны' started by ForVarD, Jan 4, 2013.

  1. Offline

    ForVarD Недавно здесь

    Joined:
    Jan 4, 2013
    Messages:
    3
    Likes Received:
    0
    Gender:
    Male
    Доброго здоровица!

    Нужно вывести список всех категорий в которых состоит товар под названием товара.

    Virtuemart 2.0.14

    Пожалуйста помогите )
     
    Last edited: Jan 4, 2013
  2.  
  3. AKopytenko
    Offline

    AKopytenko Russian Joomla! Team Staff Member

    Joined:
    Sep 1, 2011
    Messages:
    1,963
    Likes Received:
    168
    Gender:
    Male
    Чтобы вывести список всех категорий Virtuemart, можно добавить пункт меню:
    Тип пункта меню: Virtuemart - Категория
    Обязательные параметры: Выберите категорию - Верхний уровень категорий.

    Так же можно вывести список категорий через модуль типа "VirtueMart Категории", указав в параметрах "Родительская категория: Верхний уровень категорий"

    Если Вы хотите, чтобы категории, в которых нет товаров не отображались, то я, например, делаю так:
    В файле /components/com_virtuemart/views/category/tmpl/default.php ищем где закрывается условие
    Код (PHP):
    1. if (!empty($this->products)) {

    и дописываем после скобки } код
    Код (PHP):
    1. else {
    2.     echo '<div id="noproduct">В этом разделе пока нет товаров. <br />Возвращаемся в каталог через: <span id="timer">5</span> сек.</div>';
    3.     echo '<script type="text/javascript"> setTimeout(function() { window.location.href = "/catalog"; }, 5000); </script>';
    4. }
    5. ?>

    где /catalog - ссылка на страницу со списком категорий, 5000 - через 5 секунд начинаем перенаправление


    Получаем, что категории отображаются, но если внутри нет товаров, после входа в категорию отображаем сообщение, что товаров нет и перемещаемся обратно. Не убираю сами категории, чтобы не пропадали из индекса в поисковике...
     
    Last edited: Jan 4, 2013
  4. Offline

    ForVarD Недавно здесь

    Joined:
    Jan 4, 2013
    Messages:
    3
    Likes Received:
    0
    Gender:
    Male
    shurikkan, Вы не совсем меня поняли мне нужно отобразить категории в которых состоит товар, тоесть допустим есть товар стол, он в категориях кухонная мебель, столы и т.п.

    Пример:
    Стол
    Категории: кухонная мебель, столы

    Так вот мне нужно чтоб под названием каждого товара эти категории ссылками перечислялись... Надеюсь теперь более понятно, старался как мог )
     
    Last edited: Jan 4, 2013
  5. AKopytenko
    Offline

    AKopytenko Russian Joomla! Team Staff Member

    Joined:
    Sep 1, 2011
    Messages:
    1,963
    Likes Received:
    168
    Gender:
    Male
    Чтобы на странице детальной информации о товаре перечислялись категории, в которых товар состоит? Так чтоли??
     
  6. Offline

    ForVarD Недавно здесь

    Joined:
    Jan 4, 2013
    Messages:
    3
    Likes Received:
    0
    Gender:
    Male
    Ну взять любую категорию, в ней есть товары, так вот товар может состоять в нескольких категорях по-этому я хочу чтобы под названием товара эти категории перечислялись :) Совершенно не важно в полном описании товара или превью запрос я думаю выглядит одинаково... Простой запрос же по id товара надо выяснить категории в которых он состоит и вывести их названия ввиде ссылок я просто не особо силен php и базе )
     
    Last edited: Jan 4, 2013
  7. Offline

    ustmm Пользователь

    Joined:
    Jul 26, 2012
    Messages:
    121
    Likes Received:
    1
    Gender:
    Male
    Вопрос актуальный! Есть решения?
     
  8. AKopytenko
    Offline

    AKopytenko Russian Joomla! Team Staff Member

    Joined:
    Sep 1, 2011
    Messages:
    1,963
    Likes Received:
    168
    Gender:
    Male
    В файле шабона вывода товаров (смотря где нужно выводить...), например
    /components/com_virtuemart/views/category/tmpl/default.php

    Внутри цикла с выводом товаров (тебе проще будет найти маркер // Start the Output) пишем SQL-выборку...

    Определаем ID категорий, в которых состоит товар:
    SELECT `virtuemart_category_id` FROM `*****_virtuemart_product_categories` WHERE `virtuemart_product_id`="$product->virtuemart_product_id";

    Результат в виде массива помещаем в переменную $catID.

    Вытаскиваем имя человекопонятное имя категории:
    SELECT `category_name` FROM `ds89g_virtuemart_categories_ru_ru` WHERE `virtuemart_category_id`=$catID

    Вобщем принцип такой, в общих чертах... Подробнее, если время будет, потом напишу. Ну или draff или woojin продолжат))
     
  9. Offline

    ustmm Пользователь

    Joined:
    Jul 26, 2012
    Messages:
    121
    Likes Received:
    1
    Gender:
    Male
    Добрый день!
    Есть конечное решение?
     
  10. Maxim Pishnyak
    Offline

    Maxim Pishnyak Пользователь

    Joined:
    Mar 28, 2013
    Messages:
    33
    Likes Received:
    0
    Gender:
    Male

Share This Page

Loading...