Prihod
С нами с 22 июня 2014; Место в рейтинге пользователей: #20Выбор в скрипте создания сайта: PHP 5/7, HTTP(S)
При настройке сервера по этой инструкции для создания нового сайта очень удобно пользоваться приложенным скриптом.
В процессе эксплуатации сервера с ним произошли основные метаморфозы:
1) Обновлен nginx до версии 1.10 по официальной инструкции.
2) Установлен PHP7 по этой инструкции. Спасибо Сергею Пожидаеву.
3) Установлены скрипты Let's Encrypt по этой инструкции
В процессе эксплуатации сервера с ним произошли основные метаморфозы:
1) Обновлен nginx до версии 1.10 по официальной инструкции.
2) Установлен PHP7 по этой инструкции. Спасибо Сергею Пожидаеву.
3) Установлены скрипты Let's Encrypt по этой инструкции
Расширение любых таблиц MODX
В очередной раз понадобилось изменить таблицу сайта, менять которую не предусмотрено.
Что обычно люди делают в таких случаях? Верно, редактируют ядро или нужный компонент, и больше их не обновляют. Но ведь это неправильно, и можно решить вопрос иначе.
Пишем обычный плагин, выставляем для него событие OnMODXInit и меняем модель для нужных классов системы или дополнений. Например, я добавил id менеджера в заказ miniShop2:
Что обычно люди делают в таких случаях? Верно, редактируют ядро или нужный компонент, и больше их не обновляют. Но ведь это неправильно, и можно решить вопрос иначе.
Пишем обычный плагин, выставляем для него событие OnMODXInit и меняем модель для нужных классов системы или дополнений. Например, я добавил id менеджера в заказ miniShop2:
Установка компонентов через MODX API
Предлагаю всем желающим готовую функцию для установки компонентов через Api.
Можно делать из консоли, можно из сниппета — не важно. Собственно загрузка файла выделена в отдельную функцию, которая пытается работать через file_get_contents(), если это не запрещено. Иначе использует cUrl.
Параметров всего 2: имя компонента и id провайдера пакетов (по умолчанию — 1, то есть, modx.com).
Можно делать из консоли, можно из сниппета — не важно. Собственно загрузка файла выделена в отдельную функцию, которая пытается работать через file_get_contents(), если это не запрещено. Иначе использует cUrl.
Параметров всего 2: имя компонента и id провайдера пакетов (по умолчанию — 1, то есть, modx.com).
Как не хакать сторонние классы
Бывает, что вы используете какой-то сниппет или компонент, и он немного вас не устраивает. Вам нужно поправить буквально пару строк, но вы понимаете, что при обновлении эти измения пропадут.
Что же делать?
Все просто — нужно расширить сторонний класс своими методами. По сути, это очень похоже на «классные процессоры», только без процессоров и использовать можно везде — это стандартная возможность ООП.
Что же делать?
Все просто — нужно расширить сторонний класс своими методами. По сути, это очень похоже на «классные процессоры», только без процессоров и использовать можно везде — это стандартная возможность ООП.
Пара фокусов с xPDO
В ходе одного исследования выяснил несколько интересных вещей про xPDO, о которых раньше не задумывался или некогда было проверить.
Решил немедленно поделиться.
Решил немедленно поделиться.