Автор дополнения
Володя Володин
Пакетов
45
Закачек
24 459
Обычно отвечает в течение нескольких дней
Автор дополнения
Пакетов
45
Закачек
24 459
Обычно отвечает в течение нескольких дней
Версия 2.0.24-beta
Дата выпуска 16.09.2019
Загрузки 621
Просмотры 14 127
[PayAndSee] — реализует закрытый контент на MODX Revolution. Создание контента и тарифов, клиентов и подписок на контент, подписка на контент через оплату любым методом [miniShop2], а также через в админку сайта.

Видеообзор от OpenModx



Особенности:
  • работа только с новым miniShop2 (version =>2.4.0-beta2)
  • сниппет для вывода контента pas.content
  • сниппет оформления заказа pas.order
  • сниппет вывода оформленного заказа pas.get.order
  • сниппет вывода подписок pas.subscription
Все сниппеты компонента работают при помощи [pdoTools] и рассчитывают на использование [Fenom] в чанках.
Подписка возможна на любой ресурс, товар, тикет и тд.

Демо: PayAndSee
Доки: Документация PayAndSee

[Установка]
Для работы вам нужен MODX не ниже 2.3 и PHP не ниже 5.4.
— Установите pdoTools — это библиотека для быстрой работы с БД и оформлением, необходима для многих компонентов
— Установите miniShop2 — это магазин на основе которого реализован функционал заказов и оплаты
— Установите Theme.Bootstrap — это тема оформления Twitter Bootstrap для MODX, под неё заточены стандартные чанки
— Установите PayAndSee

[Обновление]
Компонент полностью переписан,ни о каком обновлении со старой версии не может быть и речи.
У кого стоит предыдущая версия, деинсталлируем и устанавливаем/ настраиваем новую.

[Основное]
Основная панель управления находятся в отдельном разделе сайта, доступном через меню.
Содержит следующие вкладки:

[Контент]
Вкладка, на которой собран контент. Доступна сортировка по статусу контента и поиск.

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

[Тарифы]
Вкладка, на которой собраны тарифы контента. Доступна сортировка по контенту, сроку действия тарифа и поиск.

Для создании тарифа необходимо указать стоимость, контент к которому он будет привязан и срок подписки.

[Клиенты]
Вкладка, на которой собраны клиенты. Доступна сортировка по статусу и поиск.

Для создании клиента необходимо выбрать пользователя сайта, либо указать почту. В случае если пользователя с данной почтой не существует он будет автоматически создан.

[Подписки]
Вкладка, на которой собраны подписки. Доступна сортировка по клиенту, контенту, статусу и поиск.

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

[Статусы]
Вкладка, на которой собраны статусы. Доступна сортировка по классу.

Для создании статусы необходимо задать название и выбрать класс. Указать флаг активности и разрешения.
Дефолтные статусы:

* новый — задается при создании
* активен — характеризует активность
* неактивен — характеризует неактивность

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

[Оповещения]
Вкладка, на которой собраны оповещения. Доступна сортировка по классу и поиск.

Оповещение срабатывает в момент смены статуса сущности.
Для создании оповещения необходимо указать класс и статус. Задать почту, тему и тело сообщения.

Для каждой сущности определены методы getClientEmails и getManagerEmails
Результат набивается в переменные:

* $client_email — почта клиента
* $manager_email — почта менеджера

Таким образом вы можете просто указать $client_email|join и для сущности клиент это будет почта клиента, для сущности контент это будет почта всех клиентов с активной подпиской на данный контент и тп.

[Настройки]
Настройки PayAndSee расположены в Системные настройки > PayAndSee

[Основные]
Содержит основные настройки:

* working_templates — активные шаблоны. Список id шаблонов через запятую, для которых нужно активировать функционал.
* front_css — файл с css для подключения на фронте.
* front_js — файл с javascript для подключения на фронте.
* client_groups — группы регистрации клиентов, через запятую.
* email_manager — почтовые адреса менеджеров, через запятую.

[Заказ]
Содержит настройки необходимые для заказа:

* order_handler_class — имя класса, который реализует логику оформления заказа.
* order_delivery_id — идентификатор способа доставки [miniShop2], который используется при оформлении заказа.
* order_resource_id — идентификатор страницы заказа, на которой происходит оформление заказа.

[Службы]
Покупка и оформление заказа реализовано своим классом, в конечном счете заказ будет
сформирован и его можно будет увидеть в интерфейсе заказов [miniShop2]


[Заказ]
Процессом оформления заказа занимается специальный класс PasOrderHandler, который реализует интерфейс PasOrderInterface.
Конечно, вы можете подключить собственный класс для заказа и указать его в системной настройке order_handler_class

[Корзина]
Не реализован.

[Доставка]
Никак не используется, нужен только для задания обязательный полей заказа и наименования доставки в заказе.

[Оплата]
Стандартный [miniShop2]

Пример оформления и покупки можно увидеть тут pas.vgrish.ru/kupit.html?content=1

[События]
Актуальный список доступен в документации docs.modx.pro/components/payandsee/development/events

[Доступ]
Доступ определяется наличием разрешающих статусов у [контент], [клиента], [подписки]
Подписка также имеет дату начала/окончания действия что тоже учитывается при определении доступа.

Для проверки доступа добавлены два модификатора:

* pas_content_access — проверка доступа к контенту. Синоним pascaccess
* pas_resource_access — проверка доступа к ресурсу. Синоним pasraccess

1 параметр — значение по дефолту
2 параметр — идентификатор контента / ресурса. По умолчанию текущий ресурс.
3 параметр — идентификатор клиента. По умолчанию текущий клиент.

[Примеры]

— Закрыть свободный доступ для поля content
{$content|pasraccess}


— Закрыть свободный доступ для поля content и вывести форму покупки платного контента
{$content|pasraccess:('pas.content'|snippet:['resource'=>$id])}


— Проверить наличие доступа у текущего клиента к ресурсу 15 и записать в переменную
{set $access = 1|pasraccess:0:15}

{* далее можно использовать для проверки доступа переменную $access *}

{if $access}
Есть доступ
{else}
Нет доступа
{/if}


[Демо сайт]
Доступен демо сайт pas.vgrish.ru
Логин и пароль для входа в test

2.0.24-beta (12.08.2019)

  • Change "getPls" [PasSubscription]

2.0.23-beta (12.08.2019)

  • Fix "getCost" [PasOrderHandler]

2.0.22-beta (29.03.2019)

  • Fix "pas.content" snippet

2.0.21-beta (02.03.2019)

  • Fix "loadCustomClasses" [PayAndSee]
  • Add "getFreshenFields" [UserEventsOrderHandler]

2.0.20-beta (17.01.2019)

  • Add "PasOnSubscriptionBeforeRemove,PasOnSubscriptionRemove" event

2.0.19-beta (12.12.2018)

  • Change "payandsee-grid-subscription", "payandsee-grid-client" [js]

2.0.18-beta (06.12.2018)

  • Improved support of MODX 2.7

2.0.17-beta (21.11.2018)

  • Fix "modUserGetListProcessor" processor
  • Improved "payandsee-combo-user", "payandsee-combo-client"

2.0.16-beta (03.07.2018)

  • Add "formatNumber" [PayAndSee]

2.0.14-2.0.15-beta (02.07.2018)

  • Add "number_format" setting
  • Add "msPromoCode" compatibility [PasOrderHandler]
  • Change "formatPrice" [PayAndSee]
  • Change "pas.order" chunk
  • Change "payandsee.Order.add" [js]

2.0.13-beta (17.04.2018)

  • Add "msDiscount" compatibility [PasOrderHandler]

2.0.12-beta (23.02.2018)

  • Add "checkStat" [PayAndSee]
  • Change "Order.submit" [js]

2.0.11 -beta (19.12.2017)

  • Change "getColumns" [payandsee.grid.Client]

2.0.9-beta (02.10.2017)

  • Remove "templates" transport

2.0.8-beta (21.09.2017)

  • Change "processEvent,changeSubscription,changeStatus" [PayAndSee]

2.0.7-beta (14.09.2017)

  • Change "initialize" [PayAndSee]

2.0.6-beta (10.09.2017)

  • Add "setUserCultureKey,getUserCultureKey" [PasClient]
  • Improved "changeStatus" [PayAndSee]

2.0.5-beta (08.09.2017)

  • Fix "deliveries" [resolver]

2.0.2-beta - 2.0.4-beta (08.09.2017)

  • Add "getClientLang" [PasClient]
  • Improved "getUserId" [PayAndSee]
  • Improved "changeStatus" [PayAndSee]

2.0.1-beta (07.09.2017)

  • Fix model
  • Add "cron" scripts

2.0.0-beta (29.08.2017)

  • Initial

Последние обсуждения в сообществе MODX.pro