msFile - расширение miniShop2 для продажи файлов

Официальная страница расширения на сайте MODStore.pro.

Расширение предназначено для продажи файлов на основе магазина miniShop2 для MODx Revolution.

Актуальная версия: 1.0.0-pl выпущена 31 августа 2017г.

Установка

Расширение зависит от FileAttach версии >= 1.0.10. В MODx Revolution начиная с версии 2.4 поддерживаются установка зависимостей, если у вас версия старше, то предварительно установите FileAttach.

Для хранения файлов создайте отдельный медиа ресурс (далее МР). Укажите в нем basePath и baseUrl. Если вы не создадите МР, то файлы будут загружаться в корень вашего сайта, что крайне нежелательно.

После этого в системных настройках:

  • укажите номер нового МР
  • установите fileattach.private в значение "да"
  • выберите нужный подкаталог для хранения или храните файлы в корне МР
  • перечислите в fileattach.templates список шаблонов товаров, в которых будет включен интерфейс загрузки файлов. Если оставите пустым, то будет включено для всех документов.

Принцип работы

Файлы, присоединенные к продукту из закладки "Файлы" будут добавлены в список заказа после его оплаты. После оплаты файлы доступны для скачивания пользователем по специальной ссылке, в которой не отражен прямой доступ к файлу. Чтобы исключить возможность скачивания через FileAttach, файлу присваивается новый идентификатор. После того как пользователь открывает ссылку, файл в заказе отмечается как скачанный, таким образом можно определить какие файлы пользователь получил.

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

У продуктов с загруженными файлами при добавлении в корзину количество устанавливается равным 1.

Чтобы пользователь мог получить свои файлы после оплаты имеет смысл сделать вывод списка в письме уведомляющем об оплате. Для этого в чанк tpl.msEmail.paid.user добавьте конструкцию:

{block 'products'}
{parent}

<p><strong>Скачать файлы:</strong></p>
{$_modx->runSnippet('msOrderFile', ['order'=>$order.id])}
{/block}

Так же вы можете вставить конструкцию, в которой выводится список файлов для каждого продукта. Тогда в вызове сниппета надо указать еще id продукта. Обратите внимание: идентификатор продукта получите в итераторе.

{$_modx->runSnippet('msOrderFile', ['order'=>$order.id,'product'=>$product.id])}

Или вы можете отобразить список заказанных файлов в личном кабинете пользователя.

Сниппет msOrderFile

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

Название Значение по умолчанию Описание
&limit 0 Ограничение вывода файлов на странице. Если не указано, то вывод всех прикрепленных файлов
&outputSeparator   Разделитель вывода записей
&order 0 Показать файлы для заказа с номером id, если не указано, то выводятся все купленные файлы текущего пользователя
&showExt false Извлекать расширение файла
&showHASH false Получать хэш файла
&sortBy name Сортировать по полю
&sortDir ASC Направление сортировки
&toPlaceholder false Сохранять результат в плейсхолдер, вместо прямого вывода на странице
&tpl msFileTpl Чанк оформления каждого ряда файлов

Допустимые переменные в чанке

Название Описание
name Название файла
fid Строковой идентификатор файла
hash Хэш файла
ext Расширение файла
url Ссылка на скачивание файла
oid Идентификатор заказа
fileid Идентификатор файла FileItem из таблицы FileAttach
description Описание файла

Системные настройки

Вы можете автоматизировать отметку заказов как отправленных после того как пользователь скачал все файлы из заказа, для этого включите настройку mfile.autosent. Обратите внимание, что обработчик не отслеживает есть ли в заказе не цифровые товары, потому не включайте эту опцию если у вас в продаже есть товары без файлов.

Просмотр списка приобретенных файлов в управлении заказом

В окне изменения заказа во вкладке "Файлы" отображается список присоединенных файлов собранные из всех продуктов в заказе. Вкладка появляется для оплаченных заказов.

Двойной щелчок по записи в таблице для удаления записи. Странно дать пользователю приобрести файл, а потом отобрать у него возможность скачать файл, но вдруг вам понадобится.

Ограничения

При добавлении файлов в продукт для уже оплаченных заказов файлы не добавятся в заказ.

 


Метки: filemodxразработка

Просмотров: 247
Автор: Admin
Опубликовано: 28.08.2017