Онлайн-руководство разработчика NetCat
Модуль «Поиск по сайту» 13.2.1Начало работы с модулем 13.2.2Язык запросов 13.2.3Способы хранения индекса 13.2.4Интерфейс модуля в панели управления сайтом 13.2.5Области индексирования 13.2.6Области HTML-страниц 13.2.7Области поиска на сайте 13.2.8Индексирование по расписанию, запуск индексирования в фоновом режиме 13.2.9Правила индексирования 13.2.10Постановка задачи переиндексирования в очередь 13.2.11Интеграция модуля в макеты дизайна сайта 13.2.12Простая форма поиска 13.2.13Расширенная форма поиска 13.2.14Вывод результатов поиска 13.2.15Стилизация списка подсказок 13.2.16Расширенные настройки 13.2.17Разработка расширений модуля 13.2.18Обзор архитектуры модуля 13.2.19Обработчики документов различных типов 13.2.20Текстовые фильтры 13.2.21Анализаторы текста 13.2.22Корректировщики запросов 13.2.23Подключение других поисковых систем 13.2.24Решение проблем с поиском 13.2.25Решение проблем с индексированием 13.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(); // отформатированный размер скидки (с наименованием валюты или знаком «%»)
}
Описание проекта