JBAdvert — элемент для создания платных объявлений

10.0/10 оценка (6 голосов)

JBAdvert — это элемент, с помощью которого вы можете создать на своем сайте платные объявления. Он позволяет устанавливать цену на услуги, например, публикация на определенное количество дней, выделение цветом и т.д. Элемент добавляет объявление в корзину и после оплаты выполняется запланированное действие. 

Настройки элемента в панели управления

Чтобы настроить JBAdvert, вам необходимо создать новый тип материала, каталог и вывести его через пункт меню. Далее зайдите в тип и добавьте необходимые поля, например, описание, название и др. Также добавьте нужное количество элементов JBZoo Advert. Каждый из них будет отвечать за определенное действие. Допустим, один позволит опубликовать объявление, другой, за определенную сумму, изменит свойство материала (например, VIP) и т.д. Сколько будет действий, столько же и элементов. Разберем настройки:

  • Элемент JBZoo AdvertElement ID — уникальный идентификатор элемента. В основном используется в базе данных для хранения значений и обращения напрямую через API.

  • Заголовок — название действия.

  • Описание — подсказка, появляющаяся на странице редактирования.

  • Уровень доступа — группа людей, которая может пользоваться элементом.

  • Режим работы — режим, который устанавливается в зависимости от предполагаемого действия (см. ниже).

Режимы работы элемента

Опубликовать. Объявление будет опубликовано после определенного события, например, после оплаты за эту услугу.

Изменить приоритет. Укажите новый приоритет материала. Чем больше будет число, тем выше материал будет находиться в списке (можно указывать отрицательные значения со знаком "минус").

Изменить категорию. По желанию вы можете сменить не только категорию у материала, но и полностью каталог.

Дата окончания публикацииДата окончания публикации. Введите количество дней, на которое будет опубликовано объявление. Отсчет будет производится с момента, когда сработает указанное событие. Если дата уже была установлена, то указанное количество дней добавится и сохранится новое значение.

Изменить св-во. Можно изменить какое-либо свойство материала, на другое. Для этого выберите элемент и укажите существующее в нем свойство.

Элемент и его свойстваДопустим, у вас есть элемент чек-бокс, который отвечает за статус VIP. В нем указаны два свойства Да и Нет. Чтобы изменить свойство на Да, то в выпадающем списке выберите элемент чек-бокс (по его имени, например, VIP статус) и ниже, в текстовом поле, введите свойство da. Оно указывается так же, как и в элементе, в значении Value.

Выполнить PHP. Этот режим выполняет произвольный php код с помощью функции eval(). Например, это будет удобно для вызова собственной функции или даже класса из собственного расширения Joomla.

MyClass::method();
myFunction();

Внимание! Если настройки элемента изменились, то в уже созданных объявлениях настройки останутся прежними.

Настройка шаблонов типа материала

После настройки всех полей типа, сохраните и перейдите в шаблон teaser. Перенесите элементы, которые должны отображаться в анонсе материала. Если вы хотите сделать детальную страницу, то добавьте элементы в шаблоне full.

Настройки элемента в шаблоне submissionЧтобы пользователи могли подавать объявления, заполните шаблон submission. Обязательно добавьте элементы JBAdvert. С их помощью человек сможет выбрать необходимую услугу и перейти к оплате. Все остальные поля материала настраиваются по аналогии с любой другой формой.

События корзины

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

  1. Добавляем обработчик в событие Успешная оплата и выбираем в нем элемент Опубликовать. После того, как пользователь создаст объявление и оплатит эту услугу через корзину, его материал будет автоматически опубликован на странице.

  2. Так же, как в первом примере, добавляем JBAdvert в успешную оплату и дополнительно на изменение статуса оплачено в соседнем разделе События смены статуса. В обоих местах укажем тот же элемент Опубликовать. В этот раз пользователь решил оплатить наличными. Тогда платежный робот не узнает, была ли оплачена услуга или нет. В этом случае администратор сам меняет статус объявления через панель управления и событие становится выполненным. Если же пользователь опалачивает через сайт, то публикация будет автоматической как в первом примере.

Таким образом, вы сами выбираете какой элемент и в какое событие разместить. Обратите внимание: действие сработает только 1 раз вне зависимости от режима работы и количества выполнения этого элемента.

Элемент в материале

Зайдите в редактирование материала через панель управления Joomla. В элементе JBAdvert вы увидите различные поля.

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

Связанный заказ. Чаще всего к элементу автоматически привязывается сопутствующий заказ. В этом случае тут появится ссылка с номером и датой заказа.

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

Модификатор. К какому режиму работы относится элемент. Для некоторых режимов ниже могут появится дополнительные параметры.

Внешний вид JBAdvert на сайте

На странице Подачи, после заполнения необходимых полей, пользователь сможет создать объявление. Там же он выбирает подходящие ему услуги. После создания материал сохранится на странице Мои подачи (или в личном кабинете). Если человек выбрал одну или несколько платных услуг, то он сможет оплатить их в корзине.

Мои подачи

Создание нового объявленияОплата услуг через корзину

У меня остались вопросы, где я могу их задать?

Вы можете обратиться на наш специальный форум техподдержки JBZoo. Если у вас нет активного аккаунта со знаком «плюс» в тарифном плане, то вы можете задать свой вопрос в одном из этих разделов или на любой из наших контактов. Форум специально предназначен для JBZoo, приоритет и скорость ответа там выше.