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

MODX *

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

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

QuadBraces — по мотивам парсера MODx

Время на прочтение4 мин
Количество просмотров8.5K
Доброго здравия хабражителям!

Когда я заглянул в исходники MODx Evolution, меня едва ли не хватил удар. Рефакторить, рефакторить и рефакторить, как, наверное, сказал бы Ильич. По сему меня хватило едва ли на пару недель рефакторинга, после чего я забросил это дело, ибо времени откровенно не было. Но разговор пойдёт не об этом.

Система шаблонизации MODx на мой взгляд — одна из самых лучших. Особенно хорошо постарались разработчики в MODx Revolution. Всё логично, расширяемо, гибко и прям-таки пасторально. Можно сказать, синтаксис шаблонизации MODx — это почти что отдельный язык разметки. Именно такое вот восхищение стало причиной, по которой я стал использовать эту методику в других проектах. И для того, чтобы не заколачивать микроскопом гвозди, то есть не ставить для лендингов MODx, но иметь возможность использовать эту шаблонизацию, я написал отдельный класс шаблонизатора. И даже дал название — QuadBraces.
Заглянуть под капот

Сниппет ddTypograph 2.0b на EMT lib 3.2 (MODX Evo)

Время на прочтение2 мин
Количество просмотров5.7K
Здравствуйте!

Не так давно Евгений Муравьёв выпустил совсем новую версию своего знаменитого типографа 3.0. Любому продукту надо чуть-чуть обкататься, самые первые версии как правило сыроватые, потому мы подождали версии 3.2 и начали его смотреть. Надо сказать, что в целом новый типограф оставил положительные впечатления.

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

pdoTools — набор быстрых сниппетов и библиотека

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

Хочу представить вашему вниманию свою разработку по быстрому выводу контента на сайтах MODX Revolution.

Как известно, эта система целиком построена на собственной ORM под названием xPDO. Она очень упрощает работу, позволяет писать один универсальный код для разных БД, и еще много чего.

К сожалению, она не может похвастаться скоростью вывода (как, наверное, вообще любая ORM), поэтому я попробовал совместить её плюсы с обычным PDO, добавить лучшую работу с чанками и сделать удобную библиотеку для MODX.

Основные особенности:
  • Быстрая работа с БД. Все запросы составляются на xPDO, а выбираются без объектов — на PDO.
  • Предварительная обработка простых плейсхолдеров в чанках. Парсер MODX разбирается только со сложными вызовами.
  • Код чанков можно указывать прямо при вызове сниппета, загружать обычным образом или из статичных файлов.
  • Правильная сортировка, подготовка, обработка и вывод ТВ параметров.
  • Ведение подробного журнала работы сниппета с отметками времени, для отладки.
  • Удобная загрузка классов и множество функций, которые можно применять в своих разработках.
  • В комплекте 8 универсальных сниппетов, которые дают хороший базис разработчику.

Начну с последнего пункта.
Читать дальше →

Групповое редактирование ресурсов (документов) с помощью MIGXDB

Время на прочтение8 мин
Количество просмотров14K
Не устаю удивляться возможностям, которые предоставляет компонент MIGX от Bruno17 для MODX Revolution. Выглядит он пока неказисто и встречаются ошибочки, но критических проблем нет. Всё, что написано в этой статье, актуально для MIGX версии 2.5.8-pl (последняя на данный момент).

Многие используют MIGX для создания фотогалерей, но этим его функционал не ограничивается. Это настоящий конструктор для управления данными любых таблиц БД. Можно даже выводить список дочерних ресурсов (документов MODX) в любом контейнере. Об этом и пойдет речь в данной статье. Кое что я узнал из документации MIGDB, но, на сколько я понял, она уже порядком устарела и многое из описанного там просто не работает.
Читать дальше →

Компонент Tickets — пользовательские страницы и комментарии

Время на прочтение3 мин
Количество просмотров17K
Давно не писал ничего на Хабре — был по уши занят. За это время многое сделано, но еще больше в планах. А вот вчера выпустил новый компонент Tickets, для создания системы техподдержки. Понятно, только в MODX Revolution.

Принцип обычный — пользователь задает вопрос и получает ответы в комментариях.

В процессе работы оказалось, что систему, в общем-то, можно использовать и для сайтов с user-generated content, типа простенького LiveStreet (видео с демонстрацией работы в конце поста).
Читать дальше →

Связка MODx Revolution + LiveStreet

Время на прочтение4 мин
Количество просмотров7.1K
Когда собирался писать свой топик, ломал голову куда же его писать? С одной стороны часть сайта написана на MODx, с другой стороны другая часть написана на LiveStreet, а с третьей стороны это такие костыли, что в пору в Ненормальное программирование писать. Оказалось, что Хабр готовился к такому повороту событий и сделал возможность писать сразу в несколько блогов, за что ему отдельный респект! :-)

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

Но вспомнил я про LiveStreet, о котором слышал давно-давно, и то, что он позиционируется как легкий и быстрый клон Хабра. И вот решил я отдельно социалку поднять на LS и увязать его с моим основным сайтом на MODx. LiveStreet установил и запустил за пару часов (это мое первое знакомство с этим движком).
Читать дальше →

MODx Revo: TinyMCE и Конструктор таблиц

Время на прочтение1 мин
Количество просмотров18K
При установке редактора TinyMCE (на момент написания статьи версия: 4.3.3 pl) по умолчанию он настраивается таким образом, что в нем нет возможности добавлять в редактируемую область разметку таблиц. Видимо это сделано для компактности и «дружелюбности», чтобы не пугать пользователей своими многочисленными возможностями (другого объяснения я найти не смог).

И так, вот что необходимо сделать, чтобы в редакторе TinyMCE в MODx Revo появились элементы редактирования таблиц:

  1. Перейдите к настройкам системы ("Система" -> "Настройка системы");
  2. Отфильтруйте параметры по компоненту "tinymce";
  3. Найдите параметр "tiny.custom_buttons3" (цифра в конце означает строчку вывода кнопок на панели TiniMCE, на свое усмотрение можно выбрать другой аналогичный параметр "tiny.custom_buttonsN"). Добавьте в значение параметра слово "tablecontrols";
  4. Для того чтобы кнопки заработали, необходимо подключить плагин для работы с таблицами. Для этого в параметре "tiny.custom_plugins" нужно добавить к списку плагинов — "table".

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

Вышел Shopkeeper 2.0 beta1 для MODX Revolution

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

Продолжается разработка модуля Shopkeeper для MODx Revolution. Этот модуль (и сниппет) многим уже известен и используется на MODx Evolution для создания интернет-магазинов.
Кроме переноса Шопкипера на Рево планируется полный рефакторинг кода с учетом накопленного опыта. Но уже сейчас можно использовать версию beta1 для создания простенького магазина.
Что уже готово

Сниппет catalogView для MODx Evolution

Время на прочтение2 мин
Количество просмотров3.8K
Представляю вашему вниманию сниппет catalogView. Создавался он для новой версии Shopkeeper — 1.0 (для MODx Evolution), но уже сейчас его можно использовать вместо Ditto.

Я провел небольшой тест производительности обоих сниппетов. Имеем 200 документов. Кэшировать сниппеты нельзя, т.к. требуется постраничная навигация. Брались примерно средние значения после нескольких обновлений страницы.

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

MODx — простой файловый архив на FileDownload v2.6. Усовершенствуем систему редактирования описаний файлов

Время на прочтение4 мин
Количество просмотров4.6K
Здравствуйте! Сегодня я хотел бы поговорить о создании файловых архивов на сайте.

К сожалению, я так и не нашел универсальных средств для этого, есть многим известный сниппет FileDownload v2.6, но последний раз его обновляли в 2007 году. И еще я слышал, что ребята с одного из сайтов о MODx пишут сейчас архив и по окончанию обещают его выложить во всеобщий доступ. Однако если задача не особо сложная (к примеру, банальный список файлов с описаниями для скачки в разделе техподдержка), то вполне подойдет и сниппет FileDownload.

image

Прочитать полностью

MODx — поиск по админской части или Doc Finder 1.6

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

Поиск по админки



Итак, просматривая Extraz на официальном сайте MODx я обнаружил довольно уже старый модуль под названием “Doc Finder 1.6”. Что же это за зверь я не знал, но название заинтриговало… После безрезультатных поисков по Интернету (на предмет использования данного модуля рашн спикинг коллегами) стало понятно, что у нас он не очень популярен и про него несколько раз пишет С. Зуев с сайта cad.kurganobl.ru, да и то про старую версию и только отчасти русифицированную.

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

MODx & Vbulletin 3.8.x — последние сообщения с форума

Время на прочтение3 мин
Количество просмотров1.8K
Недавно я писал, как сделать слияние пользователей vbulletin и MODx, но какой прок от этого, если связь между форумом и сайтом только в пользователях? Хочется какого-нибудь практического применения этого слияния, и для разминки сделаем вывод последних N сообщений с форума на сайте.
Читать дальше →

Русская документация по MODx API

Время на прочтение1 мин
Количество просмотров5.5K
Можно считать этот момент предновогодним подарком №2 всему сообществу MODx.

Заполнен пробел по самому важному документу — библии любой системы управления — описанию API.

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

Благодаря этому выяснилось много интересных нюансов, которые нигде не описывались до этого.

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

Ссылка на документацию: MODx API

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

Делаем поиск по множественным TV

Время на прочтение3 мин
Количество просмотров7.6K
Для начала — маленькое лирическое отступление. Поручили тут недавно мне на работе сделать небольшую базку квартир для сайта агентства недвижимости. Да такую, чтобы можно было искать квартиры аж по 5 параметрам сразу — город, район, количество комнат, планировка и цена. Ну и чтобы всё это было встроено в админку и легко редактировалось, разумеется. А надо сказать, что я работала с разными CMS — от дорогого и тяжеловесного Битрикса до самописных простеньких движочков, и в конце концов остановила свой выбор на MODx — ибо, не сочтите за рекламу/антирекламу, но то, что на том же Битриксе делалось за неделю (а именно — несложный корпоративный сайтец), на MODx спокойно делается за день.

Я к чему это, собственно, пишу. В практически любой CMS для реализации этой задачи пришлось бы писать дополнительный код и всячески извращаться. В MODx же это решается при помощи исключительно стандартных средств движка, и единственная вещь, которую приходится писать «ручками» — это непосредственно сама форма поиска. Пусть неочевидно (пришлось всё же покопаться по документации, пока сообразила) — но всё ж полезно.

Итак, задача разбивается на следующие этапы:
  1. Создать TV для свойств, по которым будет происходить поиск.
    Задать шаблон и логику для выводов результатов поиска.
    Создать саму форму поиска.
Читать дальше →

ZoomX. Меняем правила шаблонизации в MODX Revolution

Время на прочтение2 мин
Количество просмотров1.9K
Привет, друзья! Хорошая новость для модыксеров — компонент, о котором мы много говорили в сообществе, вышел. Возможно не все в курсе о чём речь. Давайте я расскажу поподробнее.

Что такое ZoomX


Задача, которую позволяет решать данный компонент — максимально полный отказ от встроенного шаблонизатора MODX. Таким образом, мы выбрасываем многократный парсинг контента, элементы, хранящиеся в БД, плейсхолдеры с точками и плюсами и добавляем любой современный быстрый мощный PHP шаблонизатор. Стандартные шаблоны из БД теперь используются только для привязки TV-шек к ресурсам.
Читать дальше →

MODX Revolution встречает Fenom

Время на прочтение14 мин
Количество просмотров45K
В последнее время в англоязычном сообществе MODX много рассуждений на тему «как нам жить дальше». Все на перебой обсуждают грядущую (через несколько лет, полагаю) мажорную версию 3, а мы пока улучшаем своими дополнениями текущую.

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

Процедура не требует изменений в работе сайта, просто обновите pdoTools до версии 2.0 и можно использовать новый синтаксис. Самое приятное, что теги MODX отлично соседствуют с Fenom и работают вместе без каких-либо проблем. Простой пример для затравки:
{if $parent == 3}
    [[!pdoMenu?parents=`0`]]
{else}
    [[!pdoResources?parents=`1,2,3`]]
{/if}
Под катом огромное количество информации о парсере pdoTools, которую я еще ни разу не собирал в одном месте.
Читать дальше →

Open Source документация для MODX Revolution

Время на прочтение3 мин
Количество просмотров16K
Хочу представить вам новый проект по ведению открытой документации для MODX Revolution.

Зачем?

Затем, что система далеко не новая, а нормальной русскоязычной документации до сих пор нет. Всё, что есть, разбросано по разным сообществам и блогам, которых несколько десятков, и любой начинающий пользователь бегает туда-сюда, задавая вопросы.

Официальная документация на русском не ведётся. Не знаю, как сейчас, но год назад у них просто не сохранялась кириллица.

Почему не сделать это на сайте n или z?

Потому, что у этих сайтов есть хозяева, у них нужно просить логины\пароли и нет никакой гарантии, что завтра сайт не пропадёт, оставив ваш вклад в кэше гугла.

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

К тому же, сообщество MODX не может похвастаться сплоченностью, и основных разработчиков просто не собрать в одном месте, чтобы они что-то там написали.
Читать дальше →

Сниппет Loginza для MODX Revolution

Время на прочтение2 мин
Количество просмотров7.7K
Хочу представить широкой общественности мой сниппет Loginza для MODX Revolution.



Он существует довольно давно, и причин, почему я про него пишу сейчас 2:
1. Пару дней назад я его серьезно обновил.
2. Парни из Loginza упорно делают вид, что сниппета нет — и не выкладывают его у себя на сайте. Отталкивая, тем самым, потенциальных юзеров MODX.
Читать дальше →

Альтернативная пометка в Wayfiner, квадратики в SimpleSearch и полезные ссылки для Modx Revolution

Время на прочтение3 мин
Количество просмотров3.6K
Перепост из моего блога — может кому-нибудь пригодится

Начал делать новые проекты на Revo — переход с Evo происходит со скрипом, т.к. в Evo помнил все наизусть. После установки голой системы необходимо развернуть полезные пакеты, а так же немного их модифицировать, чтобы приступить к верстке и программированию. Однако дефолтные установленные пакеты при всей их гибкости не всегда помогают — в частности решить задачу альтернативной разметки строк меню.

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

Авторизация на сайте средствами phpBB/XenForo

Время на прочтение5 мин
Количество просмотров4.8K
Примерно год назад мне потребовалось дать возможность пользователям зарегистрированным на форуме (phpBB) авторизовываться на сайте (modX). На тот момент форум уже работал и пользователи активно общались. Решения MODxBB тогда еще не было и пришлось
фантазировать