Автор дополнения
Андрей Степаненко
Пакетов
12
Закачек
793
Обычно отвечает в течение суток
Автор дополнения
Пакетов
12
Закачек
793
Обычно отвечает в течение суток
Версия 1.0.3-pl
Дата выпуска 06.08.2018
Загрузки 3
Просмотры 230
Внимание, этот компонент требует версию PHP 5.6 или выше! Если ваш сайт использует PHP ниже требуемого, установка этого дополнения может его сломать.
Приложение для экспорта любых таблиц MODX в форматы в XLS/XLSX/CSV с frontend и backend.

Демо frontend
http://demoexportusers.bustep.ru/catalog/

Демо backend
http://demoexportusers.bustep.ru/manager
Пользователь: manager
Пароль: manager

Готовые профили для экспорта данных
во время установки добавляются готовые профили.

  • Экспорт заказов minishop (файлы XLS, XLSX, CSV)
  • Экспорт ресурсов (файлы XLS, XLSX, CSV)
  • Экспорт пользователей (файлы XLS, XLSX, CSV)

Возможности


  • Создание не ограниченного количества профилей для экспорта данных
  • Управление полями через удобный интерфейс для таких операций как: позиция поля, наименование колонки, импорт полей по классу с указание префикса, массовое удаление полей, назначение обработчика поля, создания собственных обработчиков
  • Импорт полей из указанного класса для обработки (к примеру если указать класс modUser и выбрать импорт полей то автоматически добавятся все поля с этим классом)
  • Настройка дополнительных параметров запроса в json формате: LeftJoin, InnerJoin, where, select, groupBy, having, limit, start, sort, dir
  • Экспорт в формате XSL/XSLX/CSV
  • Тестирование запросов
  • Настройка стилей для колонок Excel
  • Добавление заголовков с изменением цвета строки
  • Определение высоты строки и ширины колонки для Excel
  • Можно задать название закладки(tab) для Excel
  • Свое наименования экспортируемого файла
  • Возможность автоматического скачивания файла сразу после экспорта
  • Назначение своих источников файлов
  • Вывод ссылки после экспорта для скачивания файла (выводится в консоле если не был отмечен пункт Автоматически скачивать после экспорта)
  • Назначение своей папки для скачивания файла
  • Возможность назначить свой процессор для формирования данных. То есть если у вас уже написан процессор для вывода данных, то вы можете указать его в качестве скрипта для форматирования данных.
  • Добавление своих обработчиков значений для каждого поля (сейчас добавлены обработчики значений для полей:boolean, gender, date, groupusers)


Для чего пригодится


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

Дополнительно
— Компонент использует библиотеку PhpExcel
— Настройки компонент используются как параметры по умолчанию для создания своих профилей.

Ограничения на выборку: время исполнения php. — если времени не хватает то можно разбить запрос на несколько частей указав в дополнительных параметрах: «start» с позиции на который прервалась выгрузка.

Основные настройки



Стили для колонок

Задаются в настройках профиля, вкладка Excel, в json формате. Где буква E как ключ массива
{"E":{"font":{"color":{"rgb":"0000FF"},"underline":"single"}}}
информация о библиотеке


Параметры запросов

в json формате с использование стандартов xpdoquery
Where: {"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.

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

Обсуждение в сообществе MODX.PRO

1.0.3-pl

  • Разделение обработчика для формирования контента и класса для экспорта в форматы
  • Настройка phpunit для тестирования функционала
  • Исправлена ошибка с неправильным расчетом размера файла для скачивания через источники файлов

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