[Помощь] VM 2.x Рекомендуемые товары в карточке товара

Статус
В этой теме нельзя размещать новые ответы.

melitrom

Мастер
Регистрация
29 Июн 2011
Сообщения
299
Реакции
34
В VM1 возможно было добавить к товару "рекомендуемые товары" и при выводе в карточке товара мы видели: "Возможно вас заинтересуют следующие товары". В своем магазине на VM1 я проделал хак, который автоматически выводил подобные товары (по производителю, или по цене, или по категории).
В VM2 такого не нашел. Пробовал редактировать файл в папке ProductDetails, чтобы вывести хотя бы товары из той же категории, но ничего не получилось (возможно из-за недопонимания кода).
У кого какие соображения по этому поводу? Ведь с точки SEO такое решение значительно повышает релевантность (внутренняя перелинковка, увеличение количество символов страницы и картинок)
 
Создаем модуль:
VirtueMart Товары [mod_virtuemart_product] в менеджере модулей, в правой колонке выбираем параметр "Показать: рекомендуемые товары", в левой колонке выбираем позицию (или оставляем пустой, если нужно вывести в другом месте). Опубликовываем и размещаем где нужно.
 
Создаем модуль:
VirtueMart Товары [mod_virtuemart_product] в менеджере модулей, в правой колонке выбираем параметр "Показать: рекомендуемые товары", в левой колонке выбираем позицию (или оставляем пустой, если нужно вывести в другом месте). Опубликовываем и размещаем где нужно.
На этом этапе все понятно. Как я понял во всех карточках товара будет выводится одни и те же рекомендуемые товары. Как вариант делать копии mod_virtuemart_product на каждую категорию с разными товарами. Но это не удобно, если категорий 50 а то и больше.
Возможно на основе mod_virtuemart_product уже есть модуль, который будет выводить рандомно только товары данной категории? Покопаюсь наверно в коде сам, хотя слабо еще разбираюсь в php, тем более если там функции и процедуры.
 
Отвечаю на вопрос заданный вами в соседней теме: Да, можно вывести таким образом товары из категории, которой принадлежит этот продукт. Для этого:
1) Добавляем всю ту же функцию SetProductsById в хелпер.
2) В карточке товара, ищем место, куда вам нужно вывести товары из данной категории, пишем:
PHP:
SetProductsById($product->virtuemart_category_id);
Тем самым, мы получаем массив из всех продуктов данной категории, обратиться к которому можем через $this->catproducts;
3) Выводим каждый товар из этой категории как хочется в цикле:
PHP:
foreach ($this->catproducts as $catproduct) {
    echo $catproduct->product_name;
    echo $catproduct->product_desc;
    ...
}
Тем самым выводим все поля которые вам необходимы и так, как вам это необходимо. Мой вам совет: если туго с PHP, либо найдите готовый модуль, либо заплатите n-ную сумму денег специалисту (сэкономите много времени).
 
В категории таким образом вывелись нормально, а в карточке пишет ошибку undefined. Почему-то не определяет функцию
 
функцию добавьте не в com_virtuemart/views/category/view.html.php, а в com_virtuemart/views/productdetails/view.html.php
 
Нашел ошибку:
В вашей строке не хватает вначале $this->
Виноват, чаще всего занимаюсь редактированием шаблона категории, к продукту фактически не обращаюсь, потому ошибся. Спасибо.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху