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

Тема в разделе "Дизайн и оформление, шаблоны", создана пользователем ForVarD, 04.01.2013.

  1. Offline

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

    Регистрация:
    04.01.2013
    Сообщения:
    3
    Симпатии:
    0
    Пол:
    Мужской
    Доброго здоровица!

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

    Virtuemart 2.0.14

    Пожалуйста помогите )
     
    Последнее редактирование: 04.01.2013
  2.  
  3. shurikkan
    Offline

    shurikkan Russian Joomla! Team Команда форума

    Регистрация:
    01.09.2011
    Сообщения:
    1 856
    Симпатии:
    162
    Пол:
    Мужской
    Чтобы вывести список всех категорий 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 секунд начинаем перенаправление


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

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

    Регистрация:
    04.01.2013
    Сообщения:
    3
    Симпатии:
    0
    Пол:
    Мужской
    shurikkan, Вы не совсем меня поняли мне нужно отобразить категории в которых состоит товар, тоесть допустим есть товар стол, он в категориях кухонная мебель, столы и т.п.

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

    Так вот мне нужно чтоб под названием каждого товара эти категории ссылками перечислялись... Надеюсь теперь более понятно, старался как мог )
     
    Последнее редактирование: 04.01.2013
  5. shurikkan
    Offline

    shurikkan Russian Joomla! Team Команда форума

    Регистрация:
    01.09.2011
    Сообщения:
    1 856
    Симпатии:
    162
    Пол:
    Мужской
    Чтобы на странице детальной информации о товаре перечислялись категории, в которых товар состоит? Так чтоли??
     
  6. Offline

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

    Регистрация:
    04.01.2013
    Сообщения:
    3
    Симпатии:
    0
    Пол:
    Мужской
    Ну взять любую категорию, в ней есть товары, так вот товар может состоять в нескольких категорях по-этому я хочу чтобы под названием товара эти категории перечислялись :) Совершенно не важно в полном описании товара или превью запрос я думаю выглядит одинаково... Простой запрос же по id товара надо выяснить категории в которых он состоит и вывести их названия ввиде ссылок я просто не особо силен php и базе )
     
    Последнее редактирование: 04.01.2013
  7. Offline

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

    Регистрация:
    26.07.2012
    Сообщения:
    121
    Симпатии:
    1
    Пол:
    Мужской
    Вопрос актуальный! Есть решения?
     
  8. shurikkan
    Offline

    shurikkan Russian Joomla! Team Команда форума

    Регистрация:
    01.09.2011
    Сообщения:
    1 856
    Симпатии:
    162
    Пол:
    Мужской
    В файле шабона вывода товаров (смотря где нужно выводить...), например
    /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 Пользователь

    Регистрация:
    26.07.2012
    Сообщения:
    121
    Симпатии:
    1
    Пол:
    Мужской
    Добрый день!
    Есть конечное решение?
     
  10. Maxim Pishnyak
    Offline

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

    Регистрация:
    28.03.2013
    Сообщения:
    33
    Симпатии:
    0
    Пол:
    Мужской

Поделиться этой страницей

Загрузка...