For developers

Add entry

Открытие внешних ссылок в новом окне

Не знаю, кому как, а лично мне очень не нравится, когда при клике на ссылку в тексте статьи меня переслыают на другой сайт. Я же еще не дочитал!

Это очень неудобно и со временем вырабатывается привычка кликать везде средней кнопкой мыши. Однако, есть и более культурный способ, ведь у ссылок давно существует атрибут target="_blank", который открывает эту ссылку в новом окне. Но, его нужно проставлять вручную у каждой ссылки и это быстро недоедает, а юзеры тем временем уходят с сайта не дочитав заметку.

Задачу нужно решить, причем быстро, просто и навсегда. Поэтому я решил переложить выставление аттрибута ссылки на крепкие плечи jQuery — он не подведёт!
04 december 2012, 10:55    Василий Наумкин
8    2286    39 0

Про xPDO

Эта заметка назревала уже очень давно, полгода минимум. Вокруг замечательного MODX Revolution сломано много копий. Ходят слухи, что он «тормозной», «прожорливый» и «неповоротливый». И главным виновником всегда называют xPDO.

Конечно, это чушь и цель заметки — развенчание мифов. Закрыть, наконец, вопрос с «тормозами» и «прожорливостью». Показать, насколько Revolution удобен и гибок, что он позволяет работать как через ORM xPDO, так и без него — через обычный PDO.
30 october 2012, 08:29    Василий Наумкин
11    6295    15 0

MODX_API_MODE и процессоры

В рамках выполнения одной хитрой задачи, потребовалось написать скрипт, который будет запускаться по cron и что-то делать с MODX.

Проблемы, в общем то нет, вопрос изучен, но выплыл интересный глюк.
А именно: не работали процессоры для создания/обновления ресурсов.

То есть, процессор для логина — нормально, контекст mgr — нормально, а при попытке создать ресурс — просто пустая error.
Выложил вопрос на официальном форуме и никто мне не ответил. Пришлось разбираться самостоятельно, глубоко копая исходники.
08 september 2012, 08:19    Василий Наумкин
16    2335    14 0

Как не хакать сторонние классы

Бывает, что вы используете какой-то сниппет или компонент, и он немного вас не устраивает. Вам нужно поправить буквально пару строк, но вы понимаете, что при обновлении эти измения пропадут.

Что же делать?
Все просто — нужно расширить сторонний класс своими методами. По сути, это очень похоже на «классные процессоры», только без процессоров и использовать можно везде — это стандартная возможность ООП.
30 june 2012, 15:53    Василий Наумкин
20    1522    25 0

Как работать с MODX Api

Регулярно встречаю в сети разные велосипеды про то, как подключиться к MODX снаружи для работы с его Api. Даже на официальном сайте это описано сложновато.
26 june 2012, 17:40    Василий Наумкин
18    5195    25 0

"Классные" процессоры в MODX 2.2

Предлагаю вам свой очень вольный перевод записи из блога Mark Hamstra о новых процессорах, основанных на классах. Я буду называть их «классными» процессорами — так короче и точнее отражает их суть.

Одно из изменений в MODX 2.2 это новая, полностью переделанная система процессоров, основанных на классах («классные» процессоры), позволяющие вам cущественно упростить создание процессоров для компонентов. Как и любая обновка — эта позволяет вам использовать несколько новых фокусов.

Я использовал эти процессоры в своем новом проекте, и теперь хочу распространить эти наработки где только можно.
21 june 2012, 09:15    Василий Наумкин
8    2717    48 0

Процессоры в MODX

В MODX есть файлы-процессоры, это php скрипты, которые выполняют определенные функции. Загляните в /core/model/modx/processors, и вы увидите, как их много.

Работать с процессорами можно из любого сниппета или плагина при помощи метода runProcessor:
$response = $modx->runProcessor('action/path/to/processor',$arrayOfProperties,$otherOptions);
В ответ мы получаем объект modProcessorResponse, со всеми его методами.
20 june 2012, 07:06    Василий Наумкин
14    4785    23 0

Пара фокусов с xPDO

В ходе одного исследования выяснил несколько интересных вещей про xPDO, о которых раньше не задумывался или некогда было проверить.

Решил немедленно поделиться.
18 june 2012, 14:12    Василий Наумкин
13    6506    36 0

Основы Ajax

Ajax — это метод асинхронного запроса к серверу. Текущая страница html с помощью скрипта обращается к серверу с определенным вопросом, получает ответ и что-то с ним делает. Обычно — вставляет результат в страницу.
18 june 2012, 11:56    Василий Наумкин
24    8535    82 0