Блог о Joomla, новости и уроки по Joomla, K2, Virtuemart, JoomShopping

Давайте посмотрим, как добавить иконки (картинки) "Скидка", "Новинка", "Хит продаж", "Рекомендуем" в наш интернет-магазн Virtuemart 3.

Это очень нужный и полезный функционал. Есть различные платные плагины для реализации данной функции, но я предпочитаю делать это бесплатно. Как раз в этой статье мы рассмотрим как это сделать в компоненте Virtuemart 3.

Для этого нам в первую очередь необходимо создать необходимые таблицы в базе данных. Мы будем делать 4 иконки, но таблица Рекомендованных товаров уже есть в Базе данных, поэтому нам надо создать еще 3 таблицы.

Переходим в phpMyAdmin (ссылка на него должна быть в панели упраления хостингом). Заходим в Базу данных нашего интернет-магазина и переходим в таблицу #__virtuemart_products, где #_ - префикс таблиц Вашей БД, и создаем в ней 3 поля, после product_sku

Поля в таблице:

  • sale (Тип: INT, значение/длина: 1)
  • new (Тип: INT, значение/длина: 1)
  • hit (Тип: INT, значение/длина: 1)

И сохраняем

1

2

3

Эти иконки будут выводиться при нажатии чекбокса в админке. Для этого эти чекбоксы нужно создать. Для этого переходим в файл administrator/components/com_virtuemart/views/product/tmpl/product_edit_information.php

После строки 49, после кода

<td colspan="2">
  <label><?php echo VmHTML::checkbox('published', $this->product->published); ?><?php echo vmText::_('COM_VIRTUEMART_PUBLISHED') ?></label>
  <label><?php echo VmHTML::checkbox('product_special', $this->product->product_special); ?> <?php echo vmText::_('COM_VIRTUEMART_PRODUCT_FORM_SPECIAL') ?></label>
</td>

вставляем код

<td colspan="2">
  <label><?php echo VmHTML::checkbox('sale', $this->product->sale); ?> Скидка</label>
  <label><?php echo VmHTML::checkbox('new', $this->product->new); ?> Новинка</label>
  <label><?php echo VmHTML::checkbox('hit', $this->product->hit); ?> Хит продаж</label>
</td>

После этого в админке у товара появляются 3 чекбокса

4

Теперь нужно сделать, что бы информация из этих чекбоксов попадала в нашу базу данных. Для этого открываем файл administrator/components/com_virtuemart/helpers/shopfunctions.php

Строка 993

$filterArray = array('product_name', '`p`.created_on', '`p`.product_sku',  'product_mpn',

заменяем на

$filterArray = array('product_name', '`p`.created_on', '`p`.product_sku', '`p`.sale', '`p`.new', '`p`.hit', 'product_mpn',

Далее открываем файл administrator/components/com_virtuemart/tables/products.php

после строки

var $product_sku= null;

добавляем

var $sale= null;
var $new= null;
var $hit= null;

Все сохраняем и заменяем эти файлы

Обратите внимание!

Все эти файлы сохраните где-нибудь в надежном месте для того, чтобы после обновления Virtuemart 3 заменить их снова, потому как они будут заменены во время обновления

Проверяем. После сохранения товара, теперь галочки в этих чекбоксах должны сохраняться.

Добавляем иконки на страницу категории товара и в модули

Для этого открываем файлы

templates/ваш_шаблон/html/com_virtuemart/sublayouts/products.php и templates/ваш_шаблон/html/mod_virtuemart_product/default.php

и после кода

<div class="spacer">

Вставляем

<?php
if ($product->sale == 1) {
  echo '<div title="Этот товар продается со скидкой">Скидка</div>';
}
if ($product->new == 1) {
  echo '<div title="Одна из наших новинок">Новинка</div>';
}
if ($product->hit == 1) {
  echo '<div title="Этот товар очень популярен">Хит продаж</div>';
}
if ($product->product_special == 1) {
  echo '<div title="Мы рекомендуем этот товар"></div>';
}
?>

Добавляем иконки на страницу карточки товара

В нужное место в файл templates/ваш_шаблон/html/com_virtuemart/productdetalies/default.php необходимо добавить следующий код:

<?php
if ($this->product->sale == 1) {
  echo '<div title="Этот товар продается со скидкой">Скидка</div>';
}
if ($this->product->new == 1) {
  echo '<div title="Одна из наших новинок">Новинка</div>';
}
if ($this->product->hit == 1) {
  echo '<div title="Этот товар очень популярен">Хит продаж</div>';
}
if ($this->product->product_special == 1) {
  echo '<div title="Мы рекомендуем этот товар"></div>';
}
?>
Самое читаемое

Делаем мобильную версию сайта с Mobile Joomla – часть II

Это вторая часть из цикла трех статей делаем мобильную версий сайта Mobile Joomla. MJ – мощный компонент для создания…

Шаблоны отображения категории товаров, страницы товара и модулей товаров Virtuemart 3. Меняем отображение вида товаров в разных категориях Виртуемарт 3

В ряде случаев, при разработке интернет-магазина на Virtuemart 3 приходится на разных страницах сайта показывать товары…

Дочерние товары в Virtuemart 3. Для чего нужны и как создать дочерние товары в Виртуемарт 3

Начать, наверное, стоит с того, что такое дочерние товары. В Virtuemart 3 есть такое понятие, как дочерние товары. Что…

Установка и первичная настройка интернет-магазина Virtuemart 3 на Joomla 3

Начнем с того, что Virtuemart 3 практически не отличается от своей предыдущей версии Virtuemart 2. Как пишут…

Как добавить иконки (картинки) "Скидка", "Новинка", "Хит продаж", "Рекомендуем" в Virtuemart 3

Давайте посмотрим, как добавить иконки (картинки) "Скидка", "Новинка", "Хит продаж", "Рекомендуем" в наш…

Настройка безопасного пути для счетов в Virtuemart 3

После установки Virtuemart 3 на ваш сайт появляется предупреждение о том, что не создана папка по безопасному пути. Эта…

Покупка в 1 клик Virtuemart 3. Заказ за 1 клик в карточке товара и на странице категории товоаров в Виртуемарт 3

Бывает очень удобно реализовывать для интернет-магазина на Virtuemart 3 покупку в 1 клик. Удобно, конечно, это в первую…