UMI.CMS. Как сделать популярный товар в интернет магазине

UMI.CMS сердце вашего сайта

В данной статье постараюсь рассказать вам как на базе UMI.CMS версии Shop реализовать такой функционал как «Популярный товар».

Популярный товар будет реализовываться на основе самых просматриваемых товаров.

Итак поехали.

Первое что нужно сделать — это создать в типе данных «Объект каталога» дополнительность поле, которое будет содержать в себе значение количества посещений(просмотра) данной страницы.

Для того, чтобы было все более нагляднее в карточке товара, лучше добавить новую группу, а в ней уж создать нужное поле. Для того, чтобы в UMI.CMS добавить новое поле, нужно перейти в модуль «Шаблоны данных», далее выбрать тот тип данных, который нужен вам (я работаю со стандартным функционалом UMI.CMS версии Shop и шаблоном «demoold»).

Переходите в шаблоны "Шаблоны данных", нужно выбрать «Объект каталога», добавить новую группу и обозвать ее «Статистика», и клацнуть сохранить. Группа добавлена.

UMI.CMS. Как сделать популярный товар в интернет магазине рис. 1

UMI.CMS. Как сделать популярный товар в интернет магазине рис. 2

UMI.CMS. Как сделать популярный товар в интернет магазине рис.3

Далее нужно добавить поле, в которое будет записываться статистика о просмотре пользователем страницы(товара). Нужно нажить «Добавить», тип поля выбрать «Счетчик», ввести название «Количество посещений» и нажать сохранить:

UMI.CMS. Как сделать популярный товар в интернет магазине рис. 4 UMI.CMS. Как сделать популярный товар в интернет магазине рис. 5

Еще один момент, для того, чтобы вы могли влиять на кол-во просмотров, сделайте это поле видимое, для этого просто нужно установить чекбокс «Видимое». Не забудьте поднять страничку вверх и нажать на кнопку «Сохранить» 🙂

Теперь нужно сделать так, чтобы в это поле записывалось кол-во просмотров. Для этого следует написать кастомный макрос, который будет при выполнении увеличивать значение поля «Количество посещений».

Вам нужно перейти в папку \classes\modules\catalog и открыть файл __custom.php и после строки //TODO: Write your own macroses here добавить вот следующий код:

public function counter($current_page_id) {
            $hierarchy = umiHierarchy::getInstance();
            $element=$hierarchy->getElement($current_page_id);
            $temp_count=$element->getValue("kolichestvo_posewenij"); // Название поля из шаблона данных
            ++$temp_count;
            $element->setValue("kolichestvo_posewenij", $temp_count); // Название поля из шаблона данных
            $element->commit();
            return $current_page_id;
}

Для того, чтобы количество просмотров обновлялось, нужно в шаблоне, который будет выводить данную страницу(вашу карточку товара) добавить вот этот макрос:

%catalog counter(%pid%)%

Макрос будет срабатывать при каждом открытии страницы, увеличивая тем самым значение поля «Количество просмотров» на единицу.
Для того чтобы проверить, что макрос отрабатывает, вам нужно перейти в модуль каталог, и включить колонку «Количество посещений», и там вы увидите сколько раз пользователи просматривали ту или иную страницу.
UMI.CMS. Как сделать популярный товар в интернет магазине рис.6
UMI.CMS. Как сделать популярный товар в интернет магазине

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