Николай Савин

Николай Савин

С нами с 06 июня 2015; Место в рейтинге пользователей: #8

pdoTools 3

Привет, друзья!

В связи с выходом альфа-версии MODX 3, я выкроил время и переписал pdoTools — теперь он использует пространства имён и полностью совместим с новыми классами системы.

Соотвественно, работать он может исключительно в MODX 3, со старой версией никак не совместим. Какое-то время мне придётся поддерживать 2 ветки дополнений. Новый pdoTools, как и сам MODX, пока что в виде сырой alpha1, только для тестов.

А теперь подробности.
Василий Наумкин
16 декабря 2019, 16:45
modx.pro
7
1 603
+47

[VESP] Заготовка для SPA сервисов с REST API

Привет, друзья!

Наверное, вы уже обратили внимание, что я не был особо активен в этом году в сообществе. Причина в том, что я набрал кучу работы, с которой смог разобраться вот только что. И работа эта с MODX была никак не связана — я писал собственное решение для сложных проектов, с нуля.



И вот сейчас я готов с вами им поделиться. Но для начала пара важных предостережений:
Василий Наумкин
05 декабря 2019, 15:29
modx.pro
20
1 278
+36

Разработка компонента без злосчастного ExtJS

Привет всем.

Во время выступления Steffan Blockx (Building a CMP without ExtJS) в этом году на митапе MODX AMSTERDAM я вдоволь насмеялся, потому, что для меня тема и содержание его выступления были не содержательными. Он 45 мин. говорил, что компонент для MODX можно написать и без ExtJS. Но как же я ошибался по поводу очевидности его слов. Для кого-то — да, а для некоторых оказывается, что не совсем.

Несколько причин очевидности:

Самый смешной аргумент звучал так: «Wordpress хорош тем, что там можно использовать что угодно!». Читатель, тут нужно смеяться.

Это была первая причина, а вторая поинтереснее. Как же устаешь от нытья в чате телеграм по поводу ExtJS. Каждый клянется, что он точно не является некрофилом и ему противно вступать в половые отношения с «мертвым» MODX.

Третья причина банальная, несколько людей попросили показать.
Баха Волков
13 ноября 2019, 05:49
modx.pro
18
1 087
+42

Curl клиент modx

Встроенный curl клиент для отправки запросов на сторонние сервисы (RESTful и другие).
Так как все чаще используются сторонние сервисы в повседневной разработке сайтов, для этих целей в modx есть встроенный клиент, с помощью которого можно отправлять запросы:

/* @var modRest $client */
$client = $modx->getService('rest', 'rest.modRest');
$response = $client->get('GET запрос');
или
$response = $client->post('POST запрос');

// Обработка полученных данных в json или xml формате и преобразование их в массив
$array = $response->process();
В заметке перечислены способы работы с клиентом
Андрей Степаненко
12 августа 2019, 07:56
modx.pro
29
1 074
+39

Внедряем webp без боли

Недавно начал работу над очередным проектом, и захотелось сразу добавить поддержку webp (раз такая поддержка уже есть в MODX из коробки). Задача несложная, но хотелось сделать все красиво, да так чтобы менеджеру не нужно было дополнительно эти изображения конвертировать.
PG
PG
21 июня 2019, 02:15
modx.pro
23
5 093
+18

Избавляемся от ошибки «modAction support is deprecated» в старых пакетах

Если у вас есть дополнение, которое вы делали ещё на первой версии modExtra, то при его установке сейчас вы будете видеть такое сообщение об ошибке:

modAction support is deprecated since version 2.3.0.
Support for modAction has been replaced with routing based
on a namespace and action name. Please update the extra
with the namespace simpleupdater to the routing based system.

Исправить её не сложно, но раньше всё не доходили руки.
Илья Уткин
25 марта 2019, 11:43
modx.pro
11
3 964
+13

[Решено] Как подцепить редактор Ace к полю во всплывающем окне MIGX?

Как добавить Ace к обычным полям ресурса типа introtext, description, или TV-полям, я знаю. Но возникла необходимость сделать это для textarea-полей во всплывающем окне MIGX. Ситуация осложняется тем, что код окна подгружается аяксом… Кто-нибудь знает как это можно сделать, хотя бы примерно?

Николай
03 марта 2019, 01:24
modx.pro
17
1 214
+6

[miniShop2] Кнопка печати заказа из бек-энда


Часто приходится реализовывать максимально простую распечатку заказа из бек-энда для админов. Делается это в 3 простых и лёгких шага!
Павел Гвоздь
09 января 2019, 21:54
modx.pro
26
1 056
+24

Простой(или нет) способ обновить кеш страницы у клиента.

Столкнулся с такой ситуацией: клиент захотел сделать рескин сайта, я всё переверстал, но штука в том, что все картинки закешированы в браузерах у тех, кто уже был на сайте, и если с файлами стилей или яваскриптом я могу сделать style.css?ver=2 с сылкой на стильник, то все картинки во всех шаблонах и чанках так не обновишь.
Погуглив немного я понял, что можно либо шаманить с возвращаемыми хедерами, либо для всех изображений менять урл. Первый вариант не очень, потому что тогда картинки будут вообще всегда заново грузиться, а нам надо только при их реальном изменении. Возможно есть какой-то трюк с Last-modified, но я до него недогуглился.
Тогда я решил сделать простой плагин на событие OnWebPagePrerender, который бы перехватывал страницу перед отправкой пользователю и просто менял все урлы для картинок:
<?php
if ($modx->event->name == 'OnWebPagePrerender') {
    $output = &$modx->resource->_output;
    $output = str_replace('.png',".png?ver=" . $modx->getOption('assets_version'),$output);
    $output = str_replace('.jpg',".jpg?ver=" . $modx->getOption('assets_version'),$output);   
}
Антон
06 января 2019, 03:10
modx.pro
11
882
+11

Безопасность MODX, часть 1 - обход фильтрации MODX тегов

Это первая часть доклада с конференции MODX Meetup Moscow. Информацию решил разбить на 2 статьи посвященных разным векторам атак. Полная запись доклада доступна в ВК, а на ютубе запись моего экрана. Ну и естественно слайды.
Евгений Борисов
30 сентября 2018, 21:35
modx.pro
12
2 440
+30