Все потоки
Поиск
Написать публикацию
Обновить
0

MODX *

Система управления содержимым с открытым кодом

Сначала показывать
Период
Уровень сложности

Заметки программиста о новых возможностях MODx Revolution

Время на прочтение5 мин
Количество просмотров11K
В данной статье я хочу рассмотреть некоторые новые возможности MODx Revolution, которых не было в младшей ветке – MODx Evolution. С данной CMF я начал работать еще когда была доступна версия modx-2.0.0-beta-2, т.е. примерно полтора года назад. Могу сказать, что за период с лета 2009 г., когда система была только в стадии беты, до релиза летом 2010 г., MODx прошел большой путь в своем развитии, добавились новые возможности, стал быстрее и лучше работать старый функционал. Я считаю, что в настоящее время MODx Revolution является действительно мощной платформой для построения самых разнообразных веб-приложений, от простейших сайтов до больших порталов. Итак, начнём.

Я постараюсь описать следующие нововведения MODx Revolution:
  1. xPDO
  2. Пространства имен
  3. Контексты
  4. Новая система кэширования
  5. Интернационализация

Теперь обо всем по порядку.
Читать дальше →

Взгляд в будущее MODX. 2013

Время на прочтение3 мин
Количество просмотров8.4K
Перевод от первого лица (прим. переводчика).

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


Фото взято у Andrew King
Читать дальше →

MODх — Учет посетителей сайта и график посещений

Время на прочтение7 мин
Количество просмотров15K
Как и многие программисты, я страдаю некоторой степенью подозрительности к чужим сервисам, и предпочитаю делать все сам.
К чужим сервисам, в частности относится liveinternet и другие счетчики посещений. Я им как то не доверяю, знаете ли.

Сейчас я вам расскажу (и покажу) как нетрудно сделать учет посетителей сайта с помощью modx.

Читать дальше →

Заметки о MODX Revo от новичка

Время на прочтение10 мин
Количество просмотров34K

Disclaimer: Конечно, скорее всего многое, из представленного в этой статье, покажется капитанством для сведующих людей. Однако, возможно, кому-то она поможет...

Введение


Итак, что же такое MODX (кстати, пишется именно так — MODX, а не как название хаба — MODx)? Если читать официальный сайт — то это CMS. Однако, это лишь часть правды. На самом деле, MODX находится примерно посередине между CMS и CMF. Впрочем, любой, кто заинтересовался бы MODX это быстро бы узнал из других статей, поэтому не буду останавливаться на этом пункте подробней.

Поскольку MODX находится посередине между CMS и CMF, то её не так легко освоить, как простую CMS, вроде Wordpress или Joomla. Пожалуй, эта статья написана в целях раскрытия некоторых тонкостей, которые кажутся неочевидными на первый взгляд.

Читать дальше →

MODX Cloud: первый обзор

Время на прочтение3 мин
Количество просмотров7K
Совершенно неожиданно выдали приглашение на бету MODX Cloud. Это широко рекламируемое развитие MODX Revolution с невиданными возможностями. А на самом деле, продвинутый shared-хостинг с единой панелью управления кучей сайтов на облаке.

В перспективе, это позволит нам не распыляться, а централизованно обновлять сайты, бэкапить и просто приятно работать с клиентами.

Пока Cloud в состоянии закрытой беты, но мне удалось поглядеть — и вот обзор (в посте много кликабельных картинок).
Читать дальше →

Релиз SBShop 1.0 — интернет-магазин на MODX Evolution

Время на прочтение3 мин
Количество просмотров9.3K
imageПока кипят обсуждения о том, что лучше MODX Revo или MODX Evo, я в очередной раз хочу отметить, что хоронить Evo еще рановато. Для тех, кто считает также и до сих пор любит младшее поколение этой CMS, я хотел бы представить свою разработку, которая позволит превратить MODX Evo в полноценный интернет-магазин.

У этого решения есть как свои плюсы, так и минусы, но я искренне надеюсь, что найдутся те, кому проведенная работа будет интересна и полезна.
Всех заинтересованных прошу под кат!

Личные сообщения в MODx Revolution

Время на прочтение6 мин
Количество просмотров14K
Задумали мы с другом один сервис, решили реализовать на MODx Revolution. Причины такого решения, равно как и сам проект лежат далеко за рамками этой статьи, возможно (читай обязательно) я напишу об этом позже. Сегодня я хочу поведать, как решалась конкретная задача.

Итак, необходимо реализовать “социальный” элемент в виде личных сообщений юзеров. Поиски готовых дополнений для MODx ничего толкового не дали, как и гугление на эту тему. Правда, некие проблески все-таки были, но явно не в том направлении. Ну совсем не хотелось использовать ресурсы (которые документы) не по назначению. И тут я обратил внимание на то, что в самом MODx, что называется “из коробки”, уже реализована система сообщений, с одним маленьким “но”: пользоваться ими можно только в админке, куда пускать юзеров вообще не предполагается. Даже никаких намеков на сниппеты для использования во фронтэнде. Тут-то я и решил копнуть глубже.
Читать дальше →

Вышел MODx Revolution 2.0.5

Время на прочтение2 мин
Количество просмотров1.1K
Спустя всего лишь пару месяцев после выхода 2.0.4, а также благодаря растущему числу разработчиков использующих MODx Revolution мы имеем один из самых «напичканных» релизов.

Настройка Форм (Form Customization) была полностью переосмыслена и переделана, чтобы ей было намного проще пользоваться. В 2.0.5 мы также включили шаблоны Политик Доступа, которые позволят вам проще управляться с правами пользователей.

Вот основные изменения в Revolution 2.0.5:
Читать дальше →

MODX-Дайджест #3 (25 марта – 8 апреля 2019)

Время на прочтение5 мин
Количество просмотров2.2K


Свежая, хоть и немного запоздалая, подборка новостей о MODX. В выпуске: долгожданный рефакторинг от Джейсона, пару слов о митапе в Амстердаме, новый сайт modx.com, а так же обновления дополнений, новости и заметки.


Приятного чтения!


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

Читать дальше →

Сборка transport-пакета без установки MODX

Время на прочтение9 мин
Количество просмотров2.2K


Писать свои пакеты для MODX не просто для новичка, да и опытному разработчику иногда не сладко приходится. Но новичок пугается, а опытный разбирается :).

Эта заметка рассказывает о том, как можно написать и собрать пакет компонента для MODX без установки и настройки самого MODX. Уровень выше среднего, так что возможно придется поломать голову в отдельных случаях, но оно того стоит.

За подробностями прошу под кат.
Читать дальше →

MODX-Дайджест #2.1 (11 марта – 25 марта 2019)

Время на прочтение5 мин
Количество просмотров1K


Свежая подборка новостей о MODX. В выпуске: ночные сборки 3 версии, новый SEO Tab, большое обновление компонентов Василия Наумкина, упоминания пользователей на MODX.pro и некоторые подробности рефакторинга от Джейсона.


Приятного чтения!


Нумерация дайджеста изменена, чтобы не конфликтовать с серией дайджестов (#1 и #2) от Andchir.
Читать дальше →

Парадигма программирования процессорами в MODx Revolution

Время на прочтение6 мин
Количество просмотров10K
Сразу оговорюсь, что данная статья — рассуждения и пища для размышлений. Совершенно не хочу устраивать холивары и навязывать другим свои методы программирования. Просто рассказываю, так как по себе ощущаю, что используемые мною методы программирования за последний год очень сильно изменились и в корне отличаются от методов предшествующих нескольких лет.

В данной статье я хотел бы рассказать насколько MODx Revolution в целом изменил мой подход к программированию.
Не знаю как кто программирует, но я считаю, что давным давно уже программирую методами ООП. К чему же в общих чертах сводилось программирование? Я писал (или брал готовые) классы под свои задачи (класс по работе с базой данных, класс по работе с шаблонами, класс еще под что-нибудь). Большинство классов были довольно большие и выполняли множество необходимых задач по своему профилю. Чаще всего по мере роста проекта многие классы разрастались, или обзаводились расширениями, или и то и другое. Так или иначе, уверен многие сталкивались с ситуацией часового разбора объекта в пару тысяч строк и несколькими десятками методов, чтобы разобраться куда можно внести очередные изменения, но так, чтобы при этом что-то другое не сломалось. Но на мой взгляд сложнее всего обеспечить гармоничное взаимодействие различных объектов между собой, особенно в плане перехвата ошибок при выполнении тех или иных действий, а главное в момент ошибки решить насколько она критичная и стоит ли прервать процесс выполнения, или можно идти дальше. А еще сюда же приписать клиент-серверные решения, чтобы стандартизировать ответы выполнения и для серверной части (с дальнейшей ее отрисовкой в шаблоны), и для Ajax-запросов.

Какой же именно инструментарий предлагает MODx Revolution для программирования логики проекта? Всего два класса: Процессор (выполняется классом modProcessor) и Коннектор (выполняется классом modConnector).
Что это такое? Процессор — отдельный файл с чаще всего одной или несколькими мелкими задачами, в результате выполнения которого ответ должен быть только положительным (что будет свидетельствовать о положительном результате выполнения), или отрицательный (желательно с конкретным сообщением об ошибке), что будет само собой говорить, что произошло что-то критически неправильно.
Читать дальше →

Компонент «Фильтрация и управление фильтрами» 1.2 для MODX Revolution

Время на прочтение3 мин
Количество просмотров19K
tagManager Наконец-то дошли руки довести до ума компонент «Фильтрация и управление фильтрами» (tagManager). Первая его версия была очень сырая, даже пришлось сделать дополнительно упрощённый вариант фильтрации. Теперь всё, что было задумано реализовано в нормальном виде и хочу рассказать об этом компоненте сообществу MODX и всем интересующимся.

Функции:
  • Сортировка групп фильтров и отдельно их значений.
  • Настройка активности групп фильтров и отдельных значений (чекбокс).
  • Изменение значений (по двойному клику появляется поле) для всех товаров, у которых есть это значение.
  • Ajax-фильтрация и сортировка товаров в каталоге.
  • Выводится число товаров по каждому фильтру. Блокируется получение пустого результата поиска.
  • Поддержка типов ввода TV с выбором одновременно нескольких значений — Флажки(checkbox), Список (множественный выбор).

Читать дальше →

Ближайшие события

MODx Revo, настройка авторизации Login. Базовая установка

Время на прочтение7 мин
Количество просмотров57K
Данная статья в большей части является переводом урока с официального rtfm, а именно компонента «Login», но с вставками переводчика. На лучший перевод не иду, но суть в итоге должна быть понятной. Тем не менее, перевода на русский я до сих не нашёл.
Данный урок, хоть и называется «базовым», имеет много взаимосвязанных частей. В данном уроке мы будем обсуждать, какие страницы надо создать, какие чанки (фрагменты кода) и сниппеты нужно опубликовать на страницах для полноценной авторизации пользователей.

Номера в скобках — это ID ресурсов. Это page_id, у вас он может отличаться. Здесь они выбраны просто для удобства.
Читать дальше →

Механизм контроля версий базы данных в GIT (управление дампами MySQL)

Время на прочтение6 мин
Количество просмотров14K

Привет, любители Хабра! Сегодня я решил поделиться своим вариантом бекапа данных из MySql и рассказать о том как его можно использовать для контроля версий в Git. И если вам интересно узнать, как можно контролировать состояние базы данных на всех этапах разработки, или просто делать правильные бекапчики базы своих проектиков и разворачивать из в любой момент времени, тогда прошу к прочтению!

Читать дальше →

Дайджест интересных материалов из мира MODX #1

Время на прочтение2 мин
Количество просмотров10K
Новости из мира MODX.



Первый выпуск. Возможно, дайджест станет регулярным (с вашей помощью).
Читать дальше →

MODX Evolution возвращение! (версия 1.0.9 от 19.03.2013)

Время на прочтение4 мин
Количество просмотров16K
В последнее время в лагере разработчиков MODX отмечается активное движение, результатом которого уже стала организация мировой сети Амбассадоров, появление долгожданного облака для ветки Revolution и что самое главное – официальное возрождение ветки Evolution, от развития которой создатели уже давно успели отказаться. Итак, 19 марта 2013 года свершилось то, на что не переставали надеяться приверженцы ветки
Evolution последние два года и что подтвердило почетное звание MODX, как самой перспективной и быстроразвивающейся системы управления с открытым кодом 2012 года (сабж).

В общем-то сама идея вынашивалась давно, система продолжала свое независимое от официальных разработчиков развитие в неофициальных сборках, но желание изменить ситуацию в лучшую сторону все же было. И вот несколько месяцев назад, как раз после запуска программы MODX Ambassador, я поднял эту тему в беседе с одним из создателей MODX – Райаном Трешем (Ryan Thrash). С учетом того, что MODX 3 пока только в планах (причем весьма отдаленных), а ветка MODX Revolution многих совсем не впечатлила, то тема продолжения развития ветки MODX Evolution смогла вызвать живой интерес практически всей команды основателей.

Результатом переговоров стало сделанное мне предложение войти в команду MODX в качестве девелопера ветки Evolution, проигнорировать которое я никак не мог. Так же в эту команду попали еще один из членов русскоязычного сообщества MODX – Agel_Nash, небезызвестный японский разработчик автор форка MODX.jp – Mansori Yamamato (yama) и немец Thomas Jakobi (jako) — разработчик MultiTv и других решений для ветки Evolution. Симбиоз получился довольно удачным и, благодаря слаженной и напряженной работе удалось выпустить в свет MODX Evolution 1.0.9.
Читать дальше →

Пользовательские запросы к БД в MODx Revolution

Время на прочтение5 мин
Количество просмотров50K
Данный топик наверняка будет полезен тем, у кого довольно большие проекты на MODx Revolution, так как с обычными сайтами-визитками достаточно и стандартных методов работы а-ля $modx->getObject(), $modx->getCollection() и т.п. И данные методы по сути своей не просто работа с базой данных, а еще и с объектами MODx.

При работе с большими проектами методы а-ля $modx->getCollection() для нас не лучшее решение по двум причинам:
1. Перерасход ресурсов. Данные методы не просто получают данные из БД, но еще и создают инстанции получаемых объектов. В данном случае получая информацию о 10000 документов, мы получаем 10000 объектов modResource, что не очень круто.
2. Осложняется задача подсчета получаемых записей. Помимо прямых сложностей подсчета еще на уровне запроса, даже если вы получите 10 записей одного и того же документа (к примеру), MODx вернет вам как результат только один объект modResource. И хотя часто такое устроит многих программистов (они получили уникальные объекты и рады), кого-то это не устроит, так как опять же происходит перерасход ресурсов, а по конечному результату сразу и не видно, что запрос не оптимизированный.
К тому же при работе на крупных проектах нам чаще всего нужны не сами объекты, а только информация (записи из базы данных).

Описанные здесь методы работы с БД ставят 2 задачи:
1. Дать бОльшую гибкость в написании запросов к БД.
2. Придерживаться стандартных методов xPDO, то есть избежать чистого SQL, так как чистый SQL по некоторым причинам в фреймворках вообще не кашерно (хотя бы с точки зрения возможной миграции на другой тип БД, смены названий таблиц, префиксов или еще чего-нибудь)
Читать дальше →

MODx. Введение

Время на прочтение4 мин
Количество просмотров4.6K
Это очень функциональная, расширяемая и удобная система управления сайтом (CMS). Сами разработчики позиционируют ее даже как систему разработки сайтов (CMF). Это движок нового поколения, который изначально рассчитан для создания проектов Веб 2.0

Читать дальше →

Evolution CMS 2.0 на компонентах Laravel 6.0 — естественная эволюция MODX Evolution

Время на прочтение4 мин
Количество просмотров13K


Настало время релиза Evolution CMS 2.0 RC на компонентах Laravel 6.0, но как показал предыдущий релиз и последующие за ним обсуждения — существует масса вопросов и мифов связанных с веткой 2.0.


Самый популярный миф — в новой ветке все изменилось и по-старому уже не будет.


Неправда — будет и по-старому. Основное отличие в том, что сохранив возможности “по-старому” мы добавили возможности и “по-новому”. Уровень входа не изменился, но более продвинутые разработчики получат много готовых решений и возможностей, а те кому достаточно существующих компонентов могут работать также, как и раньше, никто не будет никого лишать привычных вещей.


Уровень совместимости максимальный — даже с версии 0.9 вы можете обновиться до 1.4, а с нее до 2.0 при сохранении функционала. Хотя надо учитывать возможные проблемы которые могут возникнуть с depricated методами из за того что нужно поднять версию php до 7.2, но скорость работы того стоит, а реагировать на эти баги буду быстро, чтобы приблизить срок стабильного релиза.