Онлайн-руководство разработчика NetCat
Модуль «Поиск по сайту» 12.2.1Начало работы с модулем 12.2.2Язык запросов 12.2.3Способы хранения индекса 12.2.4Интерфейс модуля в панели управления сайтом 12.2.5Области индексирования 12.2.6Области HTML-страниц 12.2.7Области поиска на сайте 12.2.8Индексирование по расписанию, запуск индексирования в фоновом режиме 12.2.9Правила индексирования 12.2.10Постановка задачи переиндексирования в очередь 12.2.11Интеграция модуля в макеты дизайна сайта 12.2.12Простая форма поиска 12.2.13Расширенная форма поиска 12.2.14Вывод результатов поиска 12.2.15Стилизация списка подсказок 12.2.16Расширенные настройки 12.2.17Разработка расширений модуля 12.2.18Обзор архитектуры модуля 12.2.19Обработчики документов различных типов 12.2.20Текстовые фильтры 12.2.21Анализаторы текста 12.2.22Корректировщики запросов 12.2.23Подключение других поисковых систем 12.2.24Решение проблем с поиском 12.2.25Решение проблем с индексированием 12.2.26Справочник API

Сиюминутные скидки

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

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

Активация и деактивация скидок

«Активировать» указанную скидку для конкретного товара:

$netshop->promotion->activate_item_discount($discount_id, nc_netshop_item $item)

«Деактивировать» скидку:

$netshop->promotion->deactivate_item_discount($discount_id, nc_netshop_item $item)

«Деактивировать» все:

$netshop->promotion->deactivate_all_item_discounts()

Проверить, активирована ли скидка:

$netshop->promotion->is_item_discount_activated($discount_id, nc_netshop_item $item)

Информация хранится в текущей сессии.

Получение дополнительной информации

Список «сиюминутных» скидок, которые могли бы быть применены к товару:

$netshop->promotion->get_activated_item_discounts_for_item(nc_netshop_item $item)

($item – объект nc_netshop_item) Возвращает объект nc_netshop_promotion_discount_item_collection.

Работа с коллекцией:

  • $collection->count() — количество выбранных скидок
  • $collection->get_item_discount_sum(nc_netshop_item $item, $check_conditions_only = false) — сумма всех скидок для данного товара.

Чтобы получить сумму для сиюминутных скидок, которые ещё не активированы, $check_conditions_only должен быть true.

Коллекция реализует Iterator, так что можно перебирать через foreach:

foreach ($collection as $item_discount) {
    // $item_discount — объект nc_netshop_promotion_item_discount
    echo $item_discount->get('name'); // название; аналогично для других свойств: description etc.
    echo $item_discount->get_full_formatted_amount(); // отформатированный размер скидки (с наименованием валюты или знаком «%»)
}
Описание проекта