1490
24.43
21.29
за сайт
- Проверено Modstore
- Бесплатные будущие обновления
- Работа на тестовом и публичном домене
- 12 месяцев тех. поддержки
Внимание, этот компонент требует версию PHP
5.6
или выше!
Если ваш сайт использует PHP ниже требуемого, установка этого
дополнения может его сломать.
Приложение для экспорта любых таблиц MODX в форматы в XLS/XLSX/CSV с frontend и backend.
Демо frontend
http://demoexportusers.bustep.ru/catalog/
Демо backend
http://demoexportusers.bustep.ru/manager
Пользователь: manager
Пароль: manager
Готовые профили для экспорта данных
во время установки добавляются готовые профили.
В компоненте реализованы возможности других компонетов:
Дополнительно
— Компонент использует библиотеку PhpExcel
— Настройки компонент используются как параметры по умолчанию для создания своих профилей.
Ограничения на выборку: время исполнения php. — если времени не хватает то можно разбить запрос на несколько частей указав в дополнительных параметрах: «start» с позиции на который прервалась выгрузка.



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

добавить поле

Импорт полей

Внимание!!! Скачивание доступно только пользователям авторизованным в контексте mgr
К примеру можете открыть доступ на скачивания файла
Для скачивания используется контроллер
Вы можете задать свои процессор для выборки данных. Таким способом вы можете выгружать данные из готовых процессоров. Так как формат отдачи данных принимаемый для выгрузки соответствует классу modObjectGetListProcessor
К пример для выгрузки заказов вы можете указать процессор:
Для этого необходимо в папке
С содержимым:
Где имя класса совпадает с именем обработчика exportUsersHandlerFieldNameController.
У компонента уже есть несколько обработчиков. На их примере можете создать и свой.
Описание профиля JSON
Описание для таблицы с полями
для заказов
для пользователей
Демо frontend
http://demoexportusers.bustep.ru/catalog/
Демо backend
http://demoexportusers.bustep.ru/manager
Пользователь: manager
Пароль: manager
Готовые профили для экспорта данных
во время установки добавляются готовые профили.
- Экспорт заказов minishop (пример файла XSL)
- Экспорт пользователей (пример файла XSL)
- Экспорт пользователей с заказами (пример файла XSL)
В компоненте реализованы возможности других компонетов:
- msExportOrdersExcel — экспорт заказов
- msExportUsersExcel — экспорт пользователей
Возможности
- Создание не ограниченного количества профилей для экспорта данных
- Управление полями через удобный интерфейс для таких операций как: позиция поля, наименование колонки, импорт полей по классу с указание префикса, массовое удаление полей, назначение обработчика поля, создания собственных обработчиков
- Импорт полей из указанного класса для обработки (к примеру если указать класс modUser и выбрать импорт полей то автоматически добавятся все поля с этим классом)
- Настройка дополнительных параметров запроса в json формате: LeftJoin, InnerJoin, where, select, groupBy, having, limit, start, sort, dir
- Экспорт в формате XSL/XSLX/CSV
- Тестирование запросов
- Настройка стилей для колонок Excel
- Добавление заголовков с изменением цвета строки
- Определение высоты строки и ширины колонки для Excel
- Можно задать название закладки(tab) для Excel
- Свое наименования экспортируемого файла
- Возможность автоматического скачивания файла сразу после экспорта
- Назначение своих источников файлов
- Вывод ссылки после экспорта для скачивания файла (выводится в консоле если не был отмечен пункт Автоматически скачивать после экспорта)
- Назначение своей папки для скачивания файла
- Возможность назначить свой процессор для формирования данных. То есть если у вас уже написан процессор для вывода данных, то вы можете указать его в качестве скрипта для форматирования данных.
- Добавление своих обработчиков значений для каждого поля (сейчас добавлены обработчики значений для полей:boolean, gender, date, groupusers)
Дополнительно
— Компонент использует библиотеку PhpExcel
— Настройки компонент используются как параметры по умолчанию для создания своих профилей.
Ограничения на выборку: время исполнения php. — если времени не хватает то можно разбить запрос на несколько частей указав в дополнительных параметрах: «start» с позиции на который прервалась выгрузка.
Основные настройки

Стили для колонок
Задаются в настройках профиля, вкладка Excel, в json формате. Где буква E как ключ массива{"E":{"font":{"color":{"rgb":"0000FF"},"underline":"single"}}}
информация о библиотеке
Параметры запросов
в json формате с использование стандартов xpdoqueryWhere: {"Data.new:=":1, "OR:template:=":2}
Leftjoin: {"User": {"class": "modUser","on": "modResource.createdby = User.id"}}

Управление полями для выгрузки
Поля для выгрузки представлены в виде таблицы.Действия с полями: Добавить новое поле, Изменить поле, Сменить позицию через перетаскивание, удалить, назначить обработчик, задать название колонки, задать ширину для колонки в Excele, исключать из выгрузки.
Дополнительно можно импортировать поля по заданному классу с указанием префикса.
список полей

добавить поле

Импорт полей

Дополнительные настройки
Автоматически скачивать после экспорта
После экспорта и сохранения файла, пользователь будет автоматически перенаправлен на скачивание файла. Если отключить то пользователю вернется ссылка на скачивания.Внимание!!! Скачивание доступно только пользователям авторизованным в контексте mgr
Удалять после скачивания
После скачивания файл будет автоматически удален. Работает при условии что скачка файла производится через контроллерassets/components/exportusers/download.php
Путь к файлу c выгрузкой
По умолчанию назначена директорияcore/components/exportusers/export/
Но вы можете назначить свою директорию сохранения. К примеру можете открыть доступ на скачивания файла
assets/export/
после экспорта все файлы будут хранится в этой директории.Для скачивания используется контроллер
assets/components/exportusers/download.php
В который необходимо передать имя файла и id процессора для того чтобы файл мог был скачан.Процессоры
Во вкладке Настройки есть -> Дополнительные настройки и полей Процессор по умолчанию со значениеcore/components/exportusers/processors/mgr/export/default
Это процессор по умолчанию куда передаются параметры дополнительных запросов для выборки данных.Вы можете задать свои процессор для выборки данных. Таким способом вы можете выгружать данные из готовых процессоров. Так как формат отдачи данных принимаемый для выгрузки соответствует классу modObjectGetListProcessor
К пример для выгрузки заказов вы можете указать процессор:
core/components/minishop2/processors/mgr/orders/getlog
Обработчики полей
Возможность добавить свой обработчик для любого поля.Для этого необходимо в папке
core/components/exportusers/custom/handlerfield/
создать файл и наименованием name.class.php С содержимым:
<?php
class exportUsersHandlerFieldNameController extends exportUsersHandlerFieldController
{
/* @inheritdoc */
public function processValue($field, $oldvalue, $newvalue = '')
{
return $oldvalue;
}
}
Где имя класса совпадает с именем обработчика exportUsersHandlerFieldNameController.
У компонента уже есть несколько обработчиков. На их примере можете создать и свой.
Описание профиля JSON
[{
"namespace": "Основной класс компонента который требуется загрузить для подключения classKey",
"namespace_path": "Путь до основного класса",
"classKey": "Класс экспорта данных",
"name": "Уникальное имя профиля",
"tab": "Наименование таба для XLS и XLSX",
"limit": "Лимит выгружаемых записей за 1 раз",
"start": "Начать выгрузку с записи",
"sort": "Поле для сортировки",
"dir": "Сортировка данных ASC или DESC",
"last_start_run": "дата запуска через crontab",
"last_end_run": "дата завершения через crontab",
"date_process": "Обрабатывать дату. Если нужно чтобы дата выводилась в unix формате",
"date_format": "При форматировнии даты используются формат: d.m.Y H:i:s",
"classExport": "Формат экспорта по умолчанию",
"classExportList": "Перечисляются форматы для экспорта данных (xls,xlsx,csv)",
"area": "Указывается ID js для регистрации компонента (требует дополнительных расширений)",
"delimiter": "Разделитель для файла CSV",
"source": "ИД источника файлов",
"path": "Относительный путь от источника файлов",
"dependent_profile": "Указывается наименование зависимого профиля(профиль может указыватся только без дополнительных зависимостей так как уровней может быть только 2)",
"processor": "Процессор для подготовки данных для выгру",
"filename": "Наименование файла для экспорта с возможностью добавить время и дату",
"download": "Скачивать файл сразу после экспорта",
"remove": "Удалять файл сразу поле скачивания",
"line_grouping": "Групперуем записи из зависимых профилей добавляя дополнительный уровень структуры",
"line_grouping_show": 'Показывать/Скрывать записи из зависимых профилей. Если ДА то будет раскрыт список с зависимыми записями',
"head_process": "Если ДА то добавляет строку с заголовком в первую строку",
"head_color": "Цвет строки с заголовком",
"head_all": "Добавляет строку с названием колонок после каждой записи для документа XLS,XLSX",
"head_freezepane": "Фиксирует первую строк в верхней части документа XLS,XLSX",
"hide_colump": "Не выводить колонки в XLS,XLSX (например: id,weight)",
"height": "Высота строки для XLS,XLSX",
"width": "Ширина колонки для XLS,XLSX",
"where": "Условия выборки",
"select": "Дополнительные запросы",
"leftjoin": "Дополнительные запросы",
"innerjoin": "Дополнительные запросы",
"style": "Стили для форматов XLS и XLSX",
"json_process": "Если Да то приводит JSON данные в читайемый формат",
"groupby": "Групперовка по полю",
"having": "Having",
"active": "Отключение",
}]
Описание для таблицы с полями
[{
"fields": [
{
"field": "Имя поля из базы данных",
"value": "Наименование колонки",
"width": "Ширина для колонки",
"handler": "Обработчик для поля",
"alignment_horizontal": "Выравнивание по горизонтали",
"alignment_vertical": "Выравнивание по вертикали",
"rank": "Позиция колонок",
"active": "Отключить поле"
},
]
}]
Обсуждение в сообществе MODX.PRO
Видео инструкция
По расширению полейдля заказов
для пользователей
1.0.8-pl
- Исправлена ошибка вызванная отсутствием назначения источника файлов
- Исправлена ошибка с загрузкой лексикона кнопок для эксопрта
Последние обсуждения в сообществе MODX.pro