Андрей Степаненко

Андрей Степаненко

С нами с 28 октября 2014; Место в рейтинге пользователей: #14

Полезные методы xPDOCacheManager

Класс xPDOCacheManager реализует механизм кеширования в MODX. Кеш у нас хранится в файлах, а значит, этот класс может помочь нам в работе с файловой системой.

Чтобы иметь доступ к методам класса xPDOCacheManager, нужно получить экземпляр этого класса. Это делается одной строчкой:
$cache = $modx->getCacheManager();

xPDOCacheManager::writeFile

Первый метод поможет нам записывать данные в файл. Работает он очень просто:
$cache->writeFile(MODX_BASE_PATH . 'filename.txt', 'Текст');
Илья Уткин
14 сентября 2018, 10:07
20
843
+24

Ускоряем массовое обновление ресурсов в 3 раза

Массовая выгрузка ресурсов, не такая уж простая задача, как может показаться на первый взгляд. Много подводных камней, касающихся улучшения производительности скрипта. Особенно неприятно, когда тормозит скорость работы из-за функционала ядра MODX.


Так, например, я столкнулся с куском кода в ядре, который увеличивает время выгрузки большого кол-ва товаров в ~3 раза, выполняя одно и то же ресурсоёмкое действие каждый раз, когда скрипт запускает обновление ресурса через процессор modResourceUpdateProcessor.

Сразу оговорю тот момент, что я не считаю этот кусок кода в ядре лишним или вредным, нет! Я полагаю, что этот код при обновлении большого кол-ва ресурсов можно выполнить самостоятельно по окончании работы скрипта выгрузки.

Я говорю вот об этой строчке кода. Давайте попробуем разобраться, что же с ней не так!
Павел Гвоздь
11 сентября 2018, 14:29
18
452
+19

ExportUsers - Экспорт данных в XLS/XLSX/CSV/JSON frontend/backend

Давно пытался найти нормальное решение для экспорта данных в excel, да так чтобы можно было оставить только необходимые поля, так как, какие нибудь, технические поля вроде type, contentType при выгрузке тех же страниц MODX не особо то и нужны. Кроме того каждое поле необходимо привести в читабельный вид. К таким полям относятся: published phptype: boolean. Чтобы при выводе в xls было написано не 0 или 1 а в место них подставилось значение Да или Нет. publishedon дата публикации которая хранится в unix формате приняла вид 01.01.2018
и много других полей которые требуют внимание к себе

Как правило еще хочется подписать каждую колонку чтобы было понятно что написано в каждой из них. Еще много разных операций (вроде выставления высоты строки, установка ширины для каждой колонки). нужно проделать чтобы ваш файл excel был читаем для других пользователей.

Для решения этих задач был разработан этот компонент. Из него получился довольно не плохой конструктор запросов с последующим экспортом данных XLS/XLSX/CSV/JSON.

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

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

Андрей Степаненко
06 августа 2018, 14:01
6
754
+6

Закалка MODX Revolution (перевод)

Своего писать я пока сомневаюсь, уровень не тот, а вот перевести полезную статью с официальной документации — это с удовольствием. Перевод местами может показаться несколько вольным, что касается формулировок, — иначе переводить скучно. Но в том, что касается технических деталей, старался быть дотошно точным. Так что, если найдёте технические неточности — ругайтесь в комментах. А на филологию прошу не жаловаться:) И тем более на идеологические расхождения с Вашим мировоззрением — тут все вопросы к авторам доков. Паранойи и почвы для громких споров среди «экспертов по безопасности» в статье предостаточно. Помни, о читатель, всё это касается в первую очередь важных и заметных проектов.
Добро пожаловать под кат.
Алексей Бгатов
15 февраля 2016, 02:03
57
12 752
+13

Финальное предложение недели: с 12 по 19 января

Всем привет!



Вместе с праздниками закончилась наша восьминедельная акция. Напомню, каждую неделю мы объявляли 30% скидки на 5 компонентов. Надеемся, вам удалось удалось воспользоваться скидкой!

Буду признателен, если в комментариях к этому посту вы расскажете: была ли наша акция полезной, имеет ли смысл продолжать проводить такие распродажи или выбрать другой формат?

Как оказалось, за время действия акции в магазине появились компоненты, не входившие в скидочный график.

Сегодня мы, выдержав паузу, объявляем постскриптум к нашей акции — 30-процентное снижение цен на новые компоненты.
Итак, список:
Виталий Дощенко
12 января 2016, 09:05
1
1 472
+11

[modAM] Ограничение доступа для менеджера сайта

modAccessManager — это дополнение ограничивает доступ к элементам управления сайта в административной части, через политику безопасности MODX.
Сразу после установки дополнения, ваш сайт будет полностью готов к предоставлению доступа для менеджера с логином и паролем: manager
Дополнительных настроек не потребуется.

Работает начиная с версии MODX REVOLUTION 2.2



Демо доступ менеджера


Андрей Степаненко
08 января 2016, 08:32
10
4 987
+8

2016



Этот год был очень сложным, и вряд ли кто-то думает, что следующий будет проще. Однако, у нас в сообществе modx.pro всё хорошо.

Поздравляю всех с наступающим новым, 2016 годом, товарищи! Если у кого есть желание подвести какие-то итоги и вспомнить интересные события — пишите в комментариях.
Василий Наумкин
31 декабря 2015, 08:51
1
1 218
+11

Упрощаем работу с TV

Продолжая тему, начатую Василием, предлагаю решение для упрощения работы с TV. Оно поможет тем, у кого логика сайта завязана на TV — запросы, фильтры и т.п.
Решается эта задача созданием полей в таблице ресурсов и копированием в них значений TV.
Сергей Шлоков
02 декабря 2015, 09:18
49
6 731
+7

Блог Tickets + Minishop2 и система шаблонов



Основная идея, разработать механизм шаблонов и по возможности перевести на файлы. Местами используется Fenom.
Alexander V
27 октября 2015, 10:51
8
3 054
+5

Модель безопасности в MODX

Модель безопасности в MODX не самая очевидная. Хотя в MODX присутствуют примитивы, присущие, например, модели безопасности SQL, их предназначение в MODX несколько отличается.

При настройке безопасности конечной целью является дать каждому пользователю соответвующий набор привилегий – разрешить ему совершать определенные действия в системе. Действия могут совершаться над различными объектами: страницами (resource), контекстами (context), чанками (chunk), переменными шаблонов (TV) и т.д. Сами действия могут быть очень разными, в простейшем случае это создание, просмотр, редактирование и удаление. Таким образом, задача настройки безопасности сводится к заданию отношений между пользователями, объектами и привилегиями.


Ambient Hack
15 сентября 2014, 09:33
28
3 573
+11