Знакомство с MODX / Хабр
В наши дни выбор систем управления контентом (CMS) настолько велик, что невольно теряешься. Причем, качество системы не зависит от того платная она или нет, а принятое решение затем надолго вас привязывает к выбранной CMS.
Предлагаю вашему вниманию перевод статьи английского веб-разработчика Марка Дженкинса, открывшего для себя MODX после многих лет разработки в различных системах.
Вначале идет перевод статьи, затем — некоторые комментарии по тексту.
Я только что закончил свой второй проект на платформе MODX, и думаю, самое время изложить свои мысли. У меня сложилось такое впечатление, что в web-индустрии MODX преимущественно не имеет широкую известность, отчасти поэтому, в целях просвещения, я и пишу эту статью.
MODX – это система управления контентом с открытым кодом. Она построена на основе PHP и MYSQL, поэтому работает практически на любом сервере.
MODX – непритязателен: не важно, где располагаются шаблоны, как они организованы или где размещается контент. Это гибкая система, позволяющая работать как вам угодно.
Выбор систем управления сайтами (CMS) довольно широк. Раньше я пользовался WordPress, Perch, Expression Engine и Kirby, так же как Shopify и Magento для интернет-магазинов. Я использую WordPress и Perch на постоянной основе и обе системы доказали свою надежность и простоту использования.
Отсюда возникает вопрос: «Зачем вообще я должен вникать в MODX?»
Думаю, будет честно, если скажу, что я довольно хорошо знаком с WordPress, т.к. делал в этой системе практически все: блоги, 5-ти страничные сайты, мульти- региональные сайты с сотнями страниц. Разрабатывая на WordPress большие сайты, я сталкивался со многими трудностями, например: структура постоянных ссылок и систематика могут быть ограничены.
Именно здесь MODX предстает во всей красе. Пока WordPress собирает структуру (пользовательские типы постов, систематика, темы) MODX предлагает пустую оболочку, готовую подстроиться под любые ваши потребности.
То, с какой легкостью MODX работает с шаблонами, впечатляет. Не нужно создавать шаблоны с заданным именем файла или размещать их в определенной папке, а синтаксис MODX обеспечивает чистоту и доступность кода.
Освоить MODX несложно.
Во-первых, MODX использует другую терминологию:
- Ресурсы – веб-страницы (ресурсами также могут быть документы, ссылки и проч.)
- Шаблоны
- Переменные шаблона – эквивалент пользовательских полей в WordPress
- Чанки – повторяющаяся на разных страницах HTML- разметка (например: шапка, подвал, боковые панели и т. д.)
- Сниппеты – динамические куски PHP кода.
Во-вторых, MODX использует свой синтаксис тегов. Поначалу, я думал, зачем вообще разработчики MODX заморачиваются над созданием своего синтаксиса, но попробовав на практике, стало понятно. Он позволяет содержать код шаблона чистым и понятным (по крайней мере, лучше, чем эти ужасные непоследовательные функции WordPress).
Моя команда не испытывала никаких трудностей с последним проектом. Мы использовали этот .gitignore файл для исключения всего, кроме папок assets и core.
Как я уже отмечал в этой статье, изучить MODX несложно. Некоторое время займет привыкание к терминологии и способам реализации тех или иных вещей.
Документация достаточно хорошая, хотя в поисках ответов на некоторые вопросы вам придется постараться. Шансы найти ответ по возникшей проблеме в WordPress, вероятно, в несколько раз выше, т.к. численность сообщества MODX поменьше.
Тем не менее, я нашел сообщество в Твиттере, которое оказалось очень полезным. Отправив несколько вопросов группе #MODX, я каждый раз получал хотя бы один ответ, который направлял меня в нужном русле.
Процесс установки MODX более сложный, чем у WordPress. Например, чтобы установить систему локально, я клонировал наш репозиторий, затем скопировал туда файлы MODX, настроил файлы конфигурации, запустил установку, подправил некоторые файловые разрешения и снова запустил установку. По сравнению с WordPress, поднятие и запуск MODX немного витееваты.
Пока я еще новичок в MODX и должен многое изучить, в конечном итоге, я понимаю, что нашел добротную и надежную CMS, предлагающую гибкость, которая мне нужна.
Я без сомнений могу порекомендовать ее для бизнеса с большими веб-сайтами на сотни страниц. И уже с нетерпением жду погружения в следующий MODX проект…
- Автор статьи выделяет две версии MODX: Revolution и Modxcloud, между тем как официальное разделение происходит на Revolution и Evolution.
Версия MODX Revolution рекомендуется к использованию всеми пользователями, включая новичков, это современная, надежная система. Совершенно новый API базы данных на основе xPDO обеспечивает эффективный и простой способ чтения, создания и редактирования всех MODX объектов. С помощью одного простого запроса можно манипулировать данными нескольких MODX таблиц.
Версия MODX Evolution также достаточно надежна и стабильна, постоянно обновляется, но является уже устаревшей, и подходит для сайтов, которые уже работают на ней или для тех веб-хостов, где ограничена оперативная память 8M или 16M, т.к. для Revolution требуется минимуму 32M.
Что касается Modxcloud, то это дополнительный сервис от команды MODX — виртуальный хостинг на базе уже встроенной самой последней версии MODX Revolution. Хостинг рассчитан на серьезные проекты с большой нагрузкой на сервер, хотя есть возможность выбрать бесплатный вариант размещения (очень даже неплох для получения опыта работы с MODX). Разместив сайт на MODXcloud, процесс обновления в дальнейшем происходит по клику, можно сказать, вопрос обеспечения безопасности сайта здесь вне конкуренции. - Когда автор говорит о хорошей документации, речь, конечно, идет о англоязычной версии.
Тем не менее, русскоговорящих сайтов по системе MODX сейчас довольно много, так что разработчики не будут одиноки. - Автор описывает трудности установки MODX на локальный сервер, но на самом деле все гораздо проще: сервер с установленным PHP и cgi не досаждает с вопросами доступа и процесс установки длится 3-5 минут.
А вообще, разработчики MODX рекомендуют пользоваться расширенным дистрибутивом установки (advanced вместо traditional), что на порядок повышает безопасность вашей системы: вы можете ядро системы установить в папку, недоступную из веба, а папки бэк-энд менеджера и коннекторов переименовать как вам угодно.
Шаблон для Modx, структура шаблона сайта, предварительная подготовка, настройки
В этом уроке рассмотрим структура шаблона и сделаем предварительную подготовку для дальнейшей работы.
Вот и пришло время познакомить вас с установкой бесплатных шаблонов на CMS MODX Revolution. Как известно, в этой системе нет как таковых готовых шаблонов, т.е. не имеется волшебной кнопки, кликнув на которую он установится, а пользователь будет наслаждаться им. Конечно, некоторое подобие готовых тем существует, но таких решений очень мало, а мы будет рассматривать универсальный подход, чтобы любой бесплатный шаблон после скачивания стал основой для нашего сайта.
Предположим, что вам не нужно объяснять, как установить CMS на хостинг и подключиться к FTP, на эту тему существует множество руководств, а наш урок совершенно не об этом. Мы рассмотрим вариант, что Modx успешно установлен, и к FTP мы успешно подсоединились. Далее будем рассматривать установку шаблона на примере из категории Бизнес и услуги. Возьмем за основу шаблон Arbitrary. Посмотреть демо и скачать его вы можете по ссылке.
Откройте полученный архив и разархивируйте его себе на компьютер. Ниже представлена файловая система данного шаблона. Пройдемся по ней подробнее.
Обратим внимание на папки css, fonts, images, js. Их необходимо будет перенести на хостинг в папку assets свеже установленного Modx Revo. После перенесения их в нужную папку наблюдаем такую картину.
На этом подготовительная часть по части файлов заканчивается. Перейдем к основным настройкам CMS Modx, которые будут полезны. Я описываю то, как обычно делаю сама, но все субъективно, никому не навязываю свое мнение и не говорю, что это единственный верный путь разработки. Возможно, вы внесете ряд своих изменений.
Заходим в админку нового сайта, переходим на вкладку Приложения-Установщик и загрузим ряд основных расширений, которые очень пригодятся для дальнейшей работы.
Среди них Ace, GoogleSiteMap, pdoTools, SimpleSearch, TinyMCE, translit, Wayfinder(меню можно формировать и pdoTools, тут дело вкуса и привычки). Это то, чем я пользуюсь из проекта в проект, далее будем устанавливать еще приложения, если это будет нужно. Стоит ли описывать процесс установки? Надеюсь, тут не возникнет сложностей, ведь все приложения от стандартного поставщика modx.com. Нужно просто кликнуть кнопку Загрузить дополнения, затем в поиске найти нужное, кликнуть на найденном Загрузить, затем перейти в Управление пакетами, там появится новый пакет, кликнем Установить и все готово. Можно сразу загрузить все пакеты, затем перейти в управление ими и установить их за раз. Получаем примерно такую картину.
Далее рассмотрим основные системные настройки Modx. Наводим курсор на шестеренку в правом верхнем углу и выбираем соответствующий пункт. Далее опишу настройки, которые делаю обычно. Иногда требуется что-то поменять дополнительно, но это по обстоятельствам. На второй странице пагинации есть настройки Визуального редактора. Там в соответствующих полях должны стоять названия редакторов, которые мы скачали в разделе с пакетами. Это Ace(редактор кода с подсветкой, гораздо удобнее работать с элементами) и TinyMCE(визуальный редактор для работы с ресурсами, его можно настроить для работы с таблицами отдельно, но я обычно этого не делаю, в интернете хватает информации на эту тему, либо можно выбрать другой редактор, тут дело вкуса. Мне же хватает стандартных средств).
Следующие настройки, которые нужно изменить находятся на третьей странице пагинации и называются Дружественные URL. Думаю, тут и так понятно что и зачем, поэтому не буду рассматривать отдельно каждый пункт, а просто приложу скрин со своими настройками. Отдельно только скажу по поводу пункта Транслитерация псевдонимов, здесь нам поможет приложение, которое мы устанавливали, translit. Оно на лету создает человекопонятный URL, что очень важно для SEO и пользователей, пункт заполняем значением russian.
Далее заполняем настройки Сайт на 7 странице пагинации. Важные пункты: Страница ошибки 404 (здесь выберете номер ресурса, который отвечает за 404, но у нас он не создан), Публиковать по умолчанию (Обычно отмечаю Да, мне так удобнее), Название сайта (Будет выводится при входе в админку и в левом верхнем углу панели, так красивее, согласитесь). Собственно все, может что-то и забыла, будем разбираться по ходу.
Далее в меню панели администратора выбираем пункт Содержимое-Типы содержимого. У пункта HTML убираем .html и оставляем поле пустым. Это делается для того, чтобы modx в конец урлов не добавлял расширение. Мне так нравится больше визуально, хотя есть мнение, что поисковики больше любят страницы с .html, но это спорный вопрос.
Еще один момент, который нужно сделать для нормальной работы и функционирования ЧПУ, это переименовать файл ht.access в .htaccess. Это скрытый конфигурационный файл сервера, находится он в корне установленной системы. У меня почему-то при установку уже был этот файл с нужным названием, но он был пуст, собственно я переименовала ht.access, заменила пустой, все хорошо работает.
На этом завершается подготовительная часть и можно переходить к следующем уроку. Удачи, надеюсь, у вас все получилось.
html — Как мне структурировать страницы modx, чтобы они не все находились в корневом URL-адресе, а были организованы в папку в менеджере?
Задавать вопрос
спросил
Изменено 9 лет, 3 месяца назад
Просмотрено 433 раза
Я разрабатываю свой сайт в modx, и у меня есть несколько пользовательских страниц ошибок, которые я хочу сгруппировать в папку с именем «ошибка», и я хочу, чтобы они были доступны только через domain. com/error/page.html. Я уже поместил пользовательские страницы ошибок в контейнер с именем error, который в основном выглядит так, как показано на рисунке ниже.
Только страницы по-прежнему доступны только из корня (т. е. с домена.com/page.html), даже несмотря на то, что теперь они находятся в контейнере «ошибка». Как мне изменить его, чтобы когда люди видели мои страницы ошибок, они видели URL-адрес: » domain.com/error/page.html «? Кто-нибудь знает, как это сделать?
p.s.: Я уже понял, что могу влиять на URL-адрес страницы, введя нужный URL-адрес в ее» alias». Таким образом, псевдоним «error/page» означает, что его можно найти по адресу «domain.com/error/page.html».
Но странно то, что это больше не работает, когда я помещаю страницы в папке «ошибка». Когда я это делаю, я могу получить доступ к самой папке через domain.com/error, но больше не к страницам в папке по адресу domain.com/error/page.html
- HTML
- modx
- modx-революция
- modx-ресурсы
1
Найдите в настройках системы страницу с ошибкой и страницу с отказом в доступе, просто установите для них идентификаторы созданных вами пользовательских страниц.
Если вам нужны настраиваемые страницы для других кодов ошибок, возможно, вам придется использовать некоторые правила перенаправления в файле конфигурации htaccess или apache. Некоторые из них, вероятно, никогда не будут работать [например, 500 ошибок], и в этом случае вам придется использовать статический html-файл и конфигурацию сервера, чтобы указать на него.что касается установки пути — вам нужно будет установить свои настройки [дополнительные системные настройки] на «использовать дружественный путь псевдонима»
также — очистить кеш, с помощью modx, если есть сомнения, очистите кеш…
2
Зарегистрируйтесь или войдите в систему
Зарегистрируйтесь с помощью Google
Зарегистрироваться через Facebook
Зарегистрируйтесь, используя электронную почту и пароль
Опубликовать как гость
Электронная почта
Требуется, но не отображается
Опубликовать как гость
Электронная почта
Требуется, но не отображается
Информация для getimages — SiteDash, возьмите под контроль свои сайты MODX
getImages — это дополнение от jerry325, впервые выпущенное 08. 11.2016.
Описание пакета
Этот фрагмент извлекает файлы изображений из каталога, обрабатывает их с помощью фрагмента шаблона и возвращает результаты.
Это произошло из-за того, что я переписал свой сниппет «myGallery». Меня разочаровали пакеты Галереи, так как я хотел иметь возможность просто добавлять изображения и эскизы в каталог через FTP и чтобы они отображались. Это работало хорошо, но по мере того, как я добавлял все больше и больше каталогов, я обнаружил, что мне нужно создавать новые страницы, а я слишком ленив для этого. Я хотел иметь возможность создавать страницы, просто сканируя структуру папок, которые были загружены через FTP, и использовать имена папок в качестве имен страниц. Я использовал свой фрагмент getFolders, чтобы получить структуру папок, и мой фрагмент getFoldersList, чтобы создать меню из этой структуры папок. Затем я использовал свой сниппет getImagesFolder, чтобы извлечь нужную папку из URL-адреса, который передал меню, а затем передал результаты через отличный сниппет getPage Джейсона Кауарда, и я был в деле. Это звучит намного сложнее, чем есть на самом деле, и работает как сон. Начиная с версии 2.0 больше нет необходимости в фрагменте getImagesFolder (не знаю, о чем я думал с этим куском). Как всегда, буду признателен за любые предложения по улучшению. Поддержка/комментарии должны быть размещены здесь: http://forums.modx.com/thread/81713/support-comments-for-getimages
Инструкции по использованию/установке
Установка с помощью управления пакетами.
Детали
- Разработчик(и)
- Джерри325
- Выпущено
- 08.11.2016
- Первое появление
- 08.11.2016
- Лицензия
- GPLv3
- Поддерживаемые базы данных
- MySQL
- Минимальные требования MODX
- 2
Выпуски getImages
Поставщик | Подпись | Выпущено |
---|---|---|
MODX. Оставить комментарий
|