ResizeOnUploadPhpthumbon_modx

Загрузка изображений и их обрезка в менеджере файлов.
Нужно было решение (оптимизация загрузки больших изображений) пошел гулить нашел решение у bezumkin-а там плагин реализован через phpThumbof но этот сниппет не понимает кириллицу или другие знаки в именах файла (в коде сниппета не стал копаться) и решил использовать phpThumbon и переписал код.
С помощью этого плагина у вас не будет конфликтов с контент менеджерами, который заливают фото на сайт весом по 5мб))

Плагин зависит от сниппета phpThumbon
<?php
//Обработчик
$snippet = "phpthumbon"; //phpthumbof ps: phpthumbof не обрабатывает имена фалов содержащие []
//Настрйка обработки изображения
$width =    isset($scriptProperties['width']) ? $scriptProperties['width'] : 1070;
$height =   isset($scriptProperties['height']) ? $scriptProperties['height'] : 1070;
$crop =     isset($scriptProperties['crop']) ? $scriptProperties['crop'] : 0;
$format =   isset($scriptProperties['format']) ? $scriptProperties['format'] : "jpg";
$quality =  isset($scriptProperties['quality']) ? $scriptProperties['quality'] : "75";

$eventName = $modx->event->name;
switch ($eventName) {

    case 'OnFileManagerUpload':


        //Поддерживаемые изображения
        $extensions = explode(',', $modx->getOption('upload_images'));


        //Тип файла
        $extData = explode("/", $files["file"]["type"]);
        $extType = $extData[1];

        //Проверка на совместимость
        if (in_array($extType, $extensions)) {
            $file = $files["file"];

            $imgPath = $directory . $file['name'];

            $tmpImg = $modx->runSnippet($snippet, array('input' => $imgPath, 'options' => "&w=$width&h=$height&zc=$crop&f=$format&q=$quality"));
            $tmpImg = str_ireplace("//", "/", MODX_BASE_PATH . $tmpImg);

            rename($tmpImg, MODX_BASE_PATH . $imgPath);
        };
        break;
}
Настройка плагина во вкладке «Параметы»


Скачать: git
vectorserver
4 часа назад
modx.pro
28
+1

Теория выгрузок из 1С в MODX (часть 1 из 2)

И снова привет!
Выгрузка товаров на сайт — это самый, самый частый кейс моей мини-студии. Для реализации мелких-средних интернет-магазинов используем классическую и сверхпопулярную связку MODX+miniShop2, для крупых — нет, но я как-нибудь обязательно расскажу почему.
Павел Бигель
06 апреля 2020, 19:10
modx.pro
8
286
+15

modx_bs_pixel

Может кому пригодится, делал для себя.
Пиксельная разметка Bootstrap 3|4, идею позаимствовал у расширения для хрома не помню название)))

Плагин предназначен в первую очередь для верстальщиков работающих с Bootstrap v3,4

Показ колонок в и отступов между ними (скрины).

Плагин реагирует на get request site.ru/?bs=1
vectorserver
06 апреля 2020, 15:48
modx.pro
244
+5

TableOfContents

Компонент создаёт SEO-дружественное содержание для страниц.

Prihod
02 апреля 2020, 23:38
modx.pro
2
370
+8

Дружим TicketForm и Ckeditor

Возникла потребность на фронте добавлять тикеты с помощью визуального редактора.

Подключение самого редактора не выходит за рамки документации Ckeditor, с помощью настройки enable_editor = 0 отключаем стандартный Ticket-овский markItUp и цепляем на нужный id-шник CKEDITOR посредством JS-кода:

var textarea = document.getElementById('ticket-editor');
var editor = CKEDITOR.replace('ticket-editor');
editor.on( 'change', function( evt ) {
    textarea.value = evt.editor.getData();
});
tolanych
25 марта 2020, 14:31
modx.pro
3
242
+5

printPdf 1.1.0

Основные изменения:
— Все параметры перенесены в системные настройки.
— Переписанs стили и скрипты(на чистом js)
— Обновлены библиотеки
— Добавлены события

Демо



Как создать pdf файл:


Для этого нужно вызвать функцию printPdf, которая принимает 2 параметра
  • container — контейнер, который нужно распечатать. По умолчанию: 'body'
  • mode — режим печати: default или page. По умолчанию: default
Пример:
$(document).on('click', '#printPdf', function(e){
    e.preventDefault();
    printPdf('.printPdf');
});
Aleksandr Huz
23 марта 2020, 19:55
modx.pro
3
263
+7

Весенние скидки на пакеты Гвоздя -20% до 31 марта


Всем привет! У меня распродажа моих компонентов в честь весеннего нового года (Новруз, Наурыз). Налетайте! Вот список пакетов, которые могут вас заинтересовать:

Скидки действуют до 31 марта 2020 года!
Павел Гвоздь
23 марта 2020, 18:35
modx.pro
1
197
+12

Ограничиваем доступ в pdoMenu и Tickets через группы ресурсов

Через группы ресурсов MODX у меня сделано ограничение к разделам сайта. Но так как pdoMenu, по умолчанию, не смотрит в эти группы, то на сайте в меню были видны все разделы. Только в них зайти нельзя было. Наконец-то добрался это поправить. pdoMenu поддерживает добавление своих параметров запросов в SQL. После нескольких попыток, получилось убрать лишнее добавив в вызов pdoMenu:
Upd 21.03.2020 как оказалось в pdoMenu команда &checkPermissions=`list` выполняет нужные функции:
{'!pdoMenu' | snippet : [
    'checkPermissions'='list',
]}
Так же она работает для getTickets. Из нужного такой команды нет только для TicketLatest.
Под катом ограничение для TicketLatest и небольшой пример добавления редактирования групп ресурсов тикета в TicketForm.
Александр
21 марта 2020, 04:40
modx.pro
223
0

PhotoMechanicsGallery

Галерея интерактивных 3D фото, созданных с помощью Photomechanics Photo3D Studio.
Prihod
19 марта 2020, 16:17
modx.pro
1
346
+10

msManagerOrderMap 1.0.0 - вывод карты в панель управления заказом

Представляю вам простейший компонент для MODX + miniShop2, состоящий из плагина и нескольких системных настроек.

Что делает:
Выводит карту в панели управления заказом, во вкладке Адрес

Евгений Webinmd
19 марта 2020, 16:10
modx.pro
2
222
+17