1. Уважаемые пользователи, прежде чем ответить в теме или создать новую,
    внимательно ознакомьтесь с правилами раздела

    Кому лень работать или руки не оттуда - пользуйтесь услугами специалистов
  2. Не задавайте глупых вопросов "Посоветуйте какой-нибудь компонент.."

    Есть JED!!! Ищите там!!!

[Помощь] Фильтр по производителям

Тема в разделе "Virtuemart", создана пользователем melitrom, 30 апр 2012.

Информация :
  • Уважаемые пользователи, прежде чем ответить в теме или создать новую, внимательно ознакомьтесь с правилами раздела
  • Не задавайте глупых вопросов "Посоветуйте какой-нибудь компонент.." Есть JED!!! Ищите там!!!
  • Аналоги ищите там же - на JED!!!
  • Новая версия? - У кого будет - тот выложит!
Статус темы:
Закрыта.
  1. melitrom

    melitrom

    Регистр.:
    29 июн 2011
    Сообщения:
    300
    Симпатии:
    34
    Доброго времени суток.
    Не первый раз уже сталкиваюсь с некоторыми проблемами, связанными с производителями virtuemart. Помогите решить одну из них. И предлагайте на обсуждение Ваши.

    1. На сайте есть товары из разных категорий, у которых один производитель. Добавлялись с помощью CSV: ID производителя - ID категории производителя - Название производителя. Получилось примерно так:
    1 - 1 - Sony
    2 - 1 - Samsung
    3 - 2 - Nokia
    4 - 2 - Sony
    Однако VM добавляет только 1 - 1 - Sony, а остальные не считает. Если вручную добавить - выдает ошибку, что такое имя производителя уже существует.
    Все это нужно для того, чтобы находясь в категории (2) и выбирая Sony показывались товары Sony только категории (2). Сейчас же выбирая Sony показываются все товары Sony - из категории (1) и категории (2)

    Для вывода товаров производителя использую Manufacturer Filter:



    Возможные решения:
    1. Сделать производителей как тип товара
    2. Сделать разные имена производителей ("Телефон Sony" и "Колонки Sony")
     
  2. melitrom

    melitrom

    Регистр.:
    29 июн 2011
    Сообщения:
    300
    Симпатии:
    34
    Как всегда не дождался ответа и нашел сам. Оказалось все просто:
    в файле: shop_browse_queries.php строка где-то 74
    вставляем код, который начинается с комментария new и заканчивается end
    <?php
    ...
    // Filter Products by Category
    if( $category_id ) {
    // new: refine manufactures within current category
    if( !empty( $manufacturer_id ) ){
    $where_clause[] = "`#__{vm}_product_category_xref`.`category_id`=".$category_id;
    }
    // end

    if( !empty( $search_this_category ) && (!empty( $keyword ) || !empty( $manufacturer_id ) )) {
    $where_clause[] = "`#__{vm}_product_category_xref`.`category_id`=".$category_id;
    } elseif( empty( $keyword ) && empty( $manufacturer_id )) {
    $where_clause[] = "`#__{vm}_product_category_xref`.`category_id`=".$category_id;
    }
    }
    Теперь работает как часы! Рекомендую модуль - отличное решение, если нужно вывести товары категории определенного производителя.
    Замечательно работает с ЧПУ, создавая страницу типа: /telefoni/sony.html
     
Статус темы:
Закрыта.