Куда идем?

По умолчанию, при клике по изображению товара в категории, оно появляется во всплывающем окне. В этом кейсе мы рассмотрим, как сделать, чтобы при клике пользователь переходил на страницу товара.

Вот что происходит по умолчанию:

virtuemart2 lightbox 

Для того чтобы при клике по изображению открывалась страница товара нужно сделать следующее:

  1. Скопировать файл components/com_virtuemart/views/category/tmpl/default.php в папку templates/[имя вашего шаблона]/html/com_virtuemart/category/ . Если каких-то каталогов не существует, нужно их создать.
  2. Открыть скопированный файл, и   ~ в 239 строке заменить:
echo $product->images[0]->displayMediaThumb ('class="browseProductImage" border="0" title="' . $product->product_name . '" ', TRUE, 'class="modal"');

на

echo JHTML::link ($product->link, $product->images[0]->displayMediaThumb ('class="browseProductImage" border="0" title="' . $product->product_name . '" ', FALSE));

Всё. Теперь при клике по изображению в категории, покупатель будет попадать на страницу товара.

Об авторе
Wedal
(Виталий). Веб-разработчик полного цикла (Full Stack). Создатель и автор сайта Wedal.ru.
Основной профиль – создание сайтов и расширений на CMS Joomla.
Добавить комментарий

Комментарии  
0

Цитата:

Если каких-то каталогов не существует, нужно их создать.

Извините за мой не совсем умный вопрос, что подразумевается под предложением, которое в цитате. Без каталога товаров естественно не будет работать виртуемарт.
Проясните, пожалуйста. Спасибо
0
Misha, естественно, имеются ввиду каталоги в папке с шаблоном.
0
Интересно, надо попробовать
0
Скажите пожалуйста как сделать чтобы эта ссылка открывалась в новой окне? 'target' => '_blank'
0
Paty,
class="browseProductImage" border="0" title="
замените на
class="browseProductImage" target="_blank" border="0" title="
0
Не подскажете у меня ситуация в обратном, есть категории товара состоят из: кнопки в корзину, картинки, цены, и названия.
Мне нужно что бы при клике по фото, не был переход в карточку товара (в описание), а просто всплывало большое изображени
-3
Serj, ну так делайте в обратном порядке :-)
0
Как убрать артикул из корзины подскажите плиз, не кто не знает ((
0
Serj, многие знают, но это не относится к теме данного материала, а потому здесь вам никто не ответит.
0
Здравствуйте, и что есть действительно у кого это работает. Лично я все перепробовал, но не работает и ВСЁ!!!
0
Алекс, вероятно, у вас используется один макет категории, а правки вы вносите в другой. Посмотрите внимательно на URL страницы. В ней можно увидеть название применяемого макета, при условии, что SEF выключен.
0
У меня все работает, но у меня в одном ряду было три товара, а теперь все товары в один столбец, несмотря на то что в настрйках виртуемарт все равно стоит 3 столбца
0
Frolyurik, возможно где-то скобку ухватили.
1
Ваш метод уже не работает. Обьясню почему. В новой версии .20 строка выглядит следующим образом
echo $product->images[0]->displayMediaThumb('class="browseProductImage"', false);
0
И что же делать в таком случае ?
1
Извиняюсь , разобрался..скопировал сгоряча весь каталог views :) Спасибо за статью
0
Действительно, в Virtue mart .20 как уже написал Виталий, строка кода выглядит по другому. Предложенное вами решение не срабатывает(
0
Вы забыли добавить - что если есть меню в стиле, допустим,

Часы
--Часы механические
--Часы электронные

то при клике по просто "часы" в меню, отображению категорий приходит конец. Там наоборот вместо перехода в конкретный подраздел, открывается картинка подраздела. и увы и ах - даже если мы вернем изначальное состояние файла обратно - не лечит (((
0
Вадимка, меню категорий и макет категории не связаны. И уж тем более с изображением. Ищите ошибку у себя.
0
Здравствуйте. А подскажите где править и что чтобы в списке категорий клацнув на само изображение переходить на список товаров, а не видеть новое окно с увеличенным изображением категории товара. С товаром разобралась, спасибо, все работаеn!
0
Tanya, для изображений категории аналогично, но нужно найти место, где они выводятся и в каком макете. Скорее всего в этом же, но выше. Или посмотрите в папке components/com_virtuemart/views/category/tmpl
0
Здравствуйте
Я в программировании ничего не понимаю к сожалению. Посмотрела в указаной папке - там заменила как указано в статье, но ничего не изменилось. Искала похожие строчки в том же файле (дефаулт) тоже не нашла. Подскажите пожалуйста решение. Заранее спасибо
0
Действительно, в Virtue mart .20 как уже написал Виталий, строка кода выглядит по другому. Предложенное вами решение не срабатывает(
0
Спасибо! Все получилось с первого раза!
0
С категориями сработало, но у меня на главной есть модуль "Последние товары", так вот при клике на товар все равно открывается увеличенная картинка товара. В какой еще папке (html/com_virtuemart/... ) нужно внести аналогичную правку?! (папки: askquestion, cart, categories, category, manufacturer, orders, pluginresponse, productdetails, recommend, state, user, virtuemart) Спасибо.
0
Димон, если у вас модуль, то правки нужно вносить в модуль, а не в макеты компонента. Переопределите макет модуля в папку с шаблоном:
html/ИМЯ_ПАПКИ_МОДУЛЯ/МАКЕТ_МОДУЛЯ.php
и вносите в нем аналогичные правки.