3590
37.01
51.29
за сайт
- Проверено Modstore
- Бесплатные будущие обновления
- Работа на тестовом и публичном домене
- 12 месяцев тех. поддержки
Внимание, этот компонент требует версию PHP
5.4
или выше!
Если ваш сайт использует PHP ниже требуемого, установка этого
дополнения может его сломать.
Внимание, этот компонент требует версию MODX не ниже
2.3
!
Экспорт прайс-листов в XLSX с неограниченным количеством категорий и товаров.
Компонент умеет создавать прайс-листы в формате XLSX с категориями и товарами с поддержкой многоуровневого древовидной навигацией по файлу. Можно создавать сколько угодно прайс-листов и давать их скачивать пользователями.
По умолчанию будет создан прайс-лист с нужными настройками. Вам необходимо указать только id категори или категорий через запятую.
Для начала работы необходимо зайти в раздел компонента
Выбрать редактирование и указать id родительской категории
Выбрать Экспортировать прайс-лист и дождаться пока консоль не вернет ссылку на ваш прайс-лист.
После этого скачиваем прайс-лист.
Для вывода прайс-листов на фронтенд необходимо в любом месте на сайте разместить сниппет msPriceList
Можно добавлять новые колонки как со значениями из полей с товаров так и свободных колонок (например колонка заказ, для того чтобы заказчик мог указать количество заказываемых товаров).
Возможности:
Возможность задавать настройки на странице с компонентом.
Добавлены события для добавления своих данных и управления стилями прайс-листов.
Событие msPriceListAfterSetStyle
Добавление стилей для колонки или только для одной ячейки
Событие msPriceListBeforeSetLogo
Установка координат или других параметров для логотипа в прайс-листе
Событие msPriceListBeforeSetText
Установка стилей для текста
Событие msPriceListBeforeSetTextPrice
Установка стилей для даты формирования прайс-листа
Событие msPriceListBeforeSetColumn
Форматирование значений для прайс листа
Компонент умеет создавать прайс-листы в формате XLSX с категориями и товарами с поддержкой многоуровневого древовидной навигацией по файлу. Можно создавать сколько угодно прайс-листов и давать их скачивать пользователями.
Пример выгрузка всех категорий
Каталог.xlsxПример выгрузка нескольких категорий
Электронные товары и Телефония.xlsxВозможности
- Создание неограниченное количество прайс-листов
- Многоуровневая навигация в файле XLSX
- Добавление своего логотипа в файле XLSX
- Добавление контактной информации в файле XLSX
- Добавление даты формирования прайс-листа в файле XLSX
- Управление колонками в xlsx файле. Возможно передвигать, задавать названия, создание свободных колонок
- Вывод сниппета на сайте для скачивания для пользователе.
- Возможность задать имя для файла в чанке для вывода прайс-листов
- Поддержка огромных каталогов, так как выгрузка происходит пакетно, можно выгрузить до 100 000 категорий и товаров
- Плагины и события для управления стилями и данными для выгрузки
- Возможно задать отступы от верхней части, возможность отключить или включить: логотип, текст в шапке, дату формирования прайс-листа, наименование колонок
- Установка крон заданий
- Быстрый старт, вам нужно будет установить только id родительской категории для выгрузки
Быстрый старт
По умолчанию будет создан прайс-лист с нужными настройками. Вам необходимо указать только id категори или категорий через запятую.
Для начала работы необходимо зайти в раздел компонента
Выбрать редактирование и указать id родительской категории
Выбрать Экспортировать прайс-лист и дождаться пока консоль не вернет ссылку на ваш прайс-лист.
После этого скачиваем прайс-лист.
Сниппет msPriceList
Для вывода прайс-листов на фронтенд необходимо в любом месте на сайте разместить сниппет msPriceList
{$modx->runSnippet('msPriceList')}
Настройка колонок
Можно добавлять новые колонки как со значениями из полей с товаров так и свободных колонок (например колонка заказ, для того чтобы заказчик мог указать количество заказываемых товаров).
Возможности:
- Наименование колонки
- Системное имя для колонки
- Поля со значением — ключ поля из msProduct (например price, old_price)
- Задать ширину колонки
- Задать расположения текста: Выравнивание по горизонтали, Выравнивание по вертикали
- Установка ключа для словарей, так можно добавить дополнительное значение в ячейку:
вернет 54 руб.$_lang['mspricelist_price_currency'] = '[[+value]] руб.';
- Выделить текст жирным
Настройки
Возможность задавать настройки на странице с компонентом.
- Можно добавить свой логотип и задать ему размер и расположения логотипа в файле
- добавлять текст — при добавлении учитывается перенос. Каждый перенос это следующая строка. Можно задать колонку куда будет помещаться текст или вообще можно отключить вывод
- добавлять дату формирования прайс-листа — назначение ячейки куда запишется дата
- Цвета для категорий — можно задать свой цвет для уровней категорий
События для плагинов
Добавлены события для добавления своих данных и управления стилями прайс-листов.
Событие msPriceListAfterSetStyle
Добавление стилей для колонки или только для одной ячейки
<?php
/* @var PHPExcel_Style $style */
/* @var array $resource */
/* @var string $column_key */
if ($resource['class_key'] == 'msProduct' and $column_key == 'price') {
if ($object = $modx->getObject('msProductData', $resource['id'])) {
if ($object->get('new')) {
$style->getFont()->setBold(true);
}
}
}
Событие msPriceListBeforeSetLogo
Установка координат или других параметров для логотипа в прайс-листе
<?php
/* @var PHPExcel_Worksheet_Drawing $objDrawing */
$objDrawing->setName('Торговые технологии'); // Имя сайта
$objDrawing->setDescription('Текст'); // Описание для логотипа
$objDrawing->setPath('/home/s10000/www/inc/images/logo.png'); // Полный путь на сайте к логотипу
$objDrawing->setCoordinates('A1'); // в какую ячейку вставить
//setOffsetX works properly
$objDrawing->setOffsetX(15); // отступ с верху
$objDrawing->setOffsetY(15); // отступ с боку
//set width, height
$objDrawing->setWidth(400); // ширина логотипа
$objDrawing->setHeight(83); // Высота логотипа
Событие msPriceListBeforeSetText
Установка стилей для текста
<?php
/* @var PHPExcel_Style $style */
$style->getFont()->setBold(true);
Событие msPriceListBeforeSetTextPrice
Установка стилей для даты формирования прайс-листа
<?php
/* @var PHPExcel_Style $style */
$style->getFont()->setBold(true);
Событие msPriceListBeforeSetColumn
Форматирование значений для прайс листа
// Запись значений колонок
$response = $this->invokeEvent('msPriceListBeforeSetColumn', array(
'column' => $column,
'resource' => $resource,
));
if (!$response['success']) {
return $response['message'];
}
$column = $response['data']['column'];
// Запись значений колонок
$column_key = $column['column_key'];
$column_field = $column['column_field'];
$column_value = $column['column_value'];
$column_horizontal = $column['column_horizontal'];
$column_vertical = $column['column_vertical'];
$column_bold = $column['column_bold'];
$column_lexicon = $column['column_lexicon'];
создаем плагин с событием /** @var modX $modx */
switch ($modx->event->name) {
case 'msPriceListBeforeSetColumn':
/** @var array $scriptProperties */
/* @var array $column */
$resource = $scriptProperties['resource'];
$colump = $scriptProperties['column'];
if ($colump['column_field'] == 'color') {
$column['column_field'] = '';
$column['column_value'] = !empty($resource['color']) ? implode(',',$resource['color']) : '';
$modx->event->returnedValues['column'] = $column;
}
break;
}
1.0.2-beta
- Исправлен баг с родительской категорией
Последние обсуждения в сообществе MODX.pro