
Василий Наумкин
С нами с 08 декабря 2012; Место в рейтинге пользователей: #1Про лишнее барахло на сайтах
На днях прислали совершенно замечательную заметку о тестовых файлах и дампах, оставленных на сайте после разработки.
Вроде, все знают, что так делать не надо — но масштабы разгильдяйства поражают.
Текст привожу как есть, с небольшими правками.
Вроде, все знают, что так делать не надо — но масштабы разгильдяйства поражают.
Текст привожу как есть, с небольшими правками.
MODX_API_MODE и процессоры
В рамках выполнения одной хитрой задачи, потребовалось написать скрипт, который будет запускаться по cron и что-то делать с MODX.
Проблемы, в общем то нет, вопрос изучен, но выплыл интересный глюк.
А именно: не работали процессоры для создания/обновления ресурсов.
То есть, процессор для логина — нормально, контекст mgr — нормально, а при попытке создать ресурс — просто пустая error.
Выложил вопрос на официальном форуме и никто мне не ответил. Пришлось разбираться самостоятельно, глубоко копая исходники.
Проблемы, в общем то нет, вопрос изучен, но выплыл интересный глюк.
А именно: не работали процессоры для создания/обновления ресурсов.
То есть, процессор для логина — нормально, контекст mgr — нормально, а при попытке создать ресурс — просто пустая error.
Выложил вопрос на официальном форуме и никто мне не ответил. Пришлось разбираться самостоятельно, глубоко копая исходники.
Как не хакать сторонние классы
Бывает, что вы используете какой-то сниппет или компонент, и он немного вас не устраивает. Вам нужно поправить буквально пару строк, но вы понимаете, что при обновлении эти измения пропадут.
Что же делать?
Все просто — нужно расширить сторонний класс своими методами. По сути, это очень похоже на «классные процессоры», только без процессоров и использовать можно везде — это стандартная возможность ООП.
Что же делать?
Все просто — нужно расширить сторонний класс своими методами. По сути, это очень похоже на «классные процессоры», только без процессоров и использовать можно везде — это стандартная возможность ООП.
Как работать с MODX Api
Регулярно встречаю в сети разные велосипеды про то, как подключиться к MODX снаружи для работы с его Api. Даже на официальном сайте это описано сложновато.
"Классные" процессоры в MODX 2.2
Предлагаю вам свой очень вольный перевод записи из блога Mark Hamstra о новых процессорах, основанных на классах. Я буду называть их «классными» процессорами — так короче и точнее отражает их суть.
Одно из изменений в MODX 2.2 это новая, полностью переделанная система процессоров, основанных на классах («классные» процессоры), позволяющие вам cущественно упростить создание процессоров для компонентов. Как и любая обновка — эта позволяет вам использовать несколько новых фокусов.
Я использовал эти процессоры в своем новом проекте, и теперь хочу распространить эти наработки где только можно.
Одно из изменений в MODX 2.2 это новая, полностью переделанная система процессоров, основанных на классах («классные» процессоры), позволяющие вам cущественно упростить создание процессоров для компонентов. Как и любая обновка — эта позволяет вам использовать несколько новых фокусов.
Я использовал эти процессоры в своем новом проекте, и теперь хочу распространить эти наработки где только можно.
Процессоры в MODX
В MODX есть файлы-процессоры, это php скрипты, которые выполняют определенные функции. Загляните в /core/model/modx/processors, и вы увидите, как их много.
Работать с процессорами можно из любого сниппета или плагина при помощи метода runProcessor:
Работать с процессорами можно из любого сниппета или плагина при помощи метода runProcessor:
$response = $modx->runProcessor('action/path/to/processor',$arrayOfProperties,$otherOptions);
В ответ мы получаем объект modProcessorResponse, со всеми его методами.Обновление\бэкап MODX на сервере без FTP
Возникла необходимость обновить Revolution на сервере с медленным FTP. Копирование мне радостно показывало, что 4500 файлов будет заливаться около 7ми часов, и я решил как-то ускорить процесс.
Суть метода сводится к одному предложению: Распаковка zip архива прямо на сервере с помощью php.
Для работы с архивами в комплекте с Revo идет библиотека pclzip.lib.php — смело используем ее.
Суть метода сводится к одному предложению: Распаковка zip архива прямо на сервере с помощью php.
Для работы с архивами в комплекте с Revo идет библиотека pclzip.lib.php — смело используем ее.
Тестовые сайты на MODX
Представляю вашему внимаю мой сервис для близкого знакомства с MODX Revolution.
Абсолютно бесплатно, на сутки вы получаете свежеустановленный сайт на облаке Selectel с админскими правами.
Это как бы демо-сайт, только для для одного человека и с возможностью полноценной работы.
Через 24 часа этот сайт будет автоматически удален.
Абсолютно бесплатно, на сутки вы получаете свежеустановленный сайт на облаке Selectel с админскими правами.
Это как бы демо-сайт, только для для одного человека и с возможностью полноценной работы.
Через 24 часа этот сайт будет автоматически удален.
Пара фокусов с xPDO
В ходе одного исследования выяснил несколько интересных вещей про xPDO, о которых раньше не задумывался или некогда было проверить.
Решил немедленно поделиться.
Решил немедленно поделиться.
Основы Ajax
Ajax — это метод асинхронного запроса к серверу. Текущая страница html с помощью скрипта обращается к серверу с определенным вопросом, получает ответ и что-то с ним делает. Обычно — вставляет результат в страницу.