Modx revolution. обновление 2.6.5-pl

Поля ресурса

Все ресурсы имеют следующие предопределенные поля:

1. Базовые поля ресурса MODX.

Имя Описание
id Идентификатор (порядковый номер) ресурса.
template Ссылка на шаблон, который будет использоваться для отображения этого ресурса.
published Включает публикацию ресурса во front-end.
pagetitle Заголовок (название) ресурса.
longtitle Расширенный заголовок ресурса.
description Описание ресурса.
introtext Краткая информация о содержимом ресурса. Может использоваться для его представления на главной странице или в некотором разделе.
alias URL-псевдоним по которому можно обратиться к этому ресурсу. Предназначен для сайтов, которые используют дружественные URL. Например, ресурс с псевдонимом «home» и типом контента «html» будет иметь URL «home.html» (если конечно же он не контейнер).
parent идентификатор (id) родительского ресурса.
link_attributes Предназначен для указания атрибутов, которые необходимо добавить к ссылке. Обычно используется сниппетом, генерирующим меню.
menutitle Заголовок, который может использоваться сниппетами для представления ресурса в меню.
menuindex Порядковый номер индекса ресурса в меню. Более высокие значения индекса указывают на то, что ссылку на ресурс необходимо расположить ниже.
hidemenu Убирает ресурс из выборки при формировании меню. Обычно используется сниппетами, генерирующими меню.
content Контент ресурса.

2. Поля, осуществляющие настройку ресурса.

Имя Описание
isfolder Указывает, является ли ресурс «Контейнером». Если это так, то ресурс будет вместо суффикса иметь слеш (/). Это касается только тех сайтов, которые используют дружественные URL.
searchable Определяет, необходимо ли ресурс включать в результаты поиска.
cacheable Определяет, необходимо ли ресурс кешировать.
createdby Содержит идентификатор (id) пользователя, который создал ресурс.
editedby Содержит идентификатор (id) пользователя, который последним редактировал этот ресурс.
deleted Определяет, отмечен ли ресурс на удаление или нет.
deletedby Содержит идентификатор (id) пользователя, который отметил ресурс на удаление.
publishedby Содержит идентификатор (id) пользователя, который опубликовал ресурс.
createdon Содержит дату создания ресурса пользователем.
publishedon Содержит дату публикации ресурса.
editedon Содержит дату последнего редактирования документа.
pub_date Содержит дату, начиная с которой ресурс будет опубликован.
unpub_date Содержит дату, начиная с которой ресурс будет снят с публикации.

manager/

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

manager/assets/ — этот каталог содержит библиотеки ExtJS, а также реализацию пользовательских ModExt. ModExt расширяет оригинальную библиотеку ExtJS, чтобы сделать процесс разработки более удобным для пользователей.

manager/controllers/ — контроллеры это PHP файлы, привязанные к modActions. Они просто извлекают данные и возвращают их, также служат для визуализации и отображения в браузере. Всякий раз, когда вы загрузите страницу в менеджере, вы в сущности говорите MODX, чтобы он загрузил конкретный контроллер, который просто загружает Smarty шаблон и выводил в браузере любые необходимые JavaScript.

manager/templates/ — этот каталог содержит файлы-шаблоны для каждой страницы менеджера. Они не содержат PHP код, а используются для организации HTML.

Дополнительные файлы

• manager/assets/ext2/ext-all.js — Это основной файл библиотеки Ext, которая должна быть включена на всех страницах Manager (или любой страницы с помощью Ext). Это сжимаются для экономии места, что бы уменьшить время загрузки и скорость загрузки страниц. Тем не менее, если вы делаете много работы JavaScript, вы можете столкнутся с ошибками. Лучший способ избавиться от ошибок, просто переименовать этот файл, а затем переименовать ext-all.js файл и ext-all-debug.js, использовать несжатую версию в процессе разработки. Просто убедитесь , чтобы переключить их обратно после этого!

2 способ: Обновление MODX вручную

Шаг 1. Очищаем кэш сайта

Переходим в административную панель сайта и выбираем «Управление» -> «Очистить кэш сайта»

После очитки кэша завершаем все сеансы: «Управление» -> «Завершить все сеансы»

Далее удаляем содержимое папки /core/cache. Саму папку cache не удаляем!

Шаг 2. Бэкапимся 🙂

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

Если нет возможности создать бэкап сайта, то можете просто создать копии файлов или заархивировать папку с сайтом.

Шаг 4. Загружаем файлы на сервер

Наверное это самый важный шаг данной статьи.

В Advanced версии присутствуют всего две папки — core и setup.

Прошу заметить, что в папке core/config нет файла config-inc.php, что очень хорошо, так как мы обновляем наш MODX. 

Итак, загружаем файлы через ftp. И конечно соглашаемся с заменой.

Шаг 5. Запускаем обновление MODX Revo

P.S. Проверьте какая версия PHP установлена на хостинге, я очень рекомендую поставить PHP 7.

В TimeWeb это делается в настройке сайта:

Когда вы залили все файлы, переходим по адресу yoursite.ru/setup/ и выбираем русский язык

Нажимаем далее

Устанавливаем checkbox на «Обновление существующий установки»

P.S. В случае если Вы хотите изменить подключение к БД, изменить путь к панели управления или к core, то необходимо выбрать «Расширенное обновление»

Дальше проделываем по той же схеме, как и при установке MODX Revo.

Вот и всё

Единственное что может быть, так эта ошибка «Каталог ядра в открытом доступе», но есть один железный способ исправить эту проблему, почитать можно здесь.

Если у Вас возникли вопросы, спрашивайте через форму ниже.

Лучший способ выразить благодарность автору — поделиться с друзьями!

Спасибо, что поделились 🙂

02.02.2017 / 28769

Работа с ресурсами в MODX

Ресурсы в админке (менеджере) MODX отображаются в левой панели на вкладке «Ресурсы». Представляются они пользователю в виде дерева.

Создание ресурса

Создание ресурса в MODX осуществляется с помощью кнопок расположенных на соответствующей панели в левой части админки.

После этого на экране появится страница ресурса, состоящая из вкладок и панели «Содержимое ресурса». Все эти элементы содержат поля ресурса.

После заполнения необходимых полей и нажатия на кнопку «Сохранить», они заносятся в базу данных, а ресурсу присваивается некоторый идентификатор (порядковый номер ресурса).

Редактирование ресурса

Отредактировать ресурс в админке MODX можно несколькими способами:

  • с помощью нажатия левой кнопкой мыши на необходимый ресурс в дереве;
  • посредством поднесения курсора к определённому ресурсу и выбором из контекстного меню пункта «Редактировать». Вызывается контекстное меню с помощью правой кнопки мыши.

После редактирования ресурса, его необходимо сохранить. Для этого необходимо нажать на кнопку, расположенную вверху экрана и имеющее соответствующее название.

Удаление ресурса

Для удаления ресурса в MODX Revolution к нему необходимо поднести курсор и в контекстном меню выбрать пункт «Удалить». Кроме этого удалить ресурс можно также в режиме редактирования с помощью кнопки «Удалить». После удаления, ресурс на самом деле не удаляется. Ему просто устанавливается включенным состояние параметра , т.е. ресурс как бы помечается на удаление. Для того чтобы окончательно стереть ресурс или ресурсы, помеченные на удаление, необходимо на вкладке «Ресурсы» нажать на значок мусорного ведра.

Что это такое

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

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

Сниппеты (Snippets)

Сниппет в MODX – это элемент, который содержит в себе PHP-код, выполняемый во время обработки шаблона.

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

Если в системе уже присутствует какой-либо установленный сниппет, вызывается он так:

  ]   //Кэшируемый вызов

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

  ]  //Некэшируемый вызов

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

Ресурсы (Resources)

Ресурс – это один из объектов MODX, доступ к которому можно осуществить посредством уникального идентификатора ресурса (URL/URI – Uniform Resource Locator/Identifier).

В основном ресурс представляет собой документ, другими словами, страницу сайта. Каждому такому ресурсу должен быть назначен шаблон, который, в свою очередь, может определять дополнительные поля (переменные шаблона, TV) этого ресурса.

Существует четыре встроенных типа ресурсов: 

  • Документ – самый распространённый ресурс, веб-страница. Состоит из заголовка, описания, аннотации, подробного содержимого, дат и других полей ресурса;
  • Веб-ссылка – ресурс MODX, который содержит URL (единый указатель ресурсов), ссылку на внешний ресурс или веб-страницу. Основное назначение ресурса – использование в качестве ссылок в меню MODX;
  • Символьная ссылка – ресурс , указывающий на другой документ MODX, однако поле символьной ссылки содержит только идентификатор ресурса (ID) документа, на который она ссылается. Основное назначение символьных ссылок – как и в предыдущем случае;
  • Статический ресурс – ресурс, содержащий в поле контента путь к определенному файлу. Если на сайте имеется контент, который не должен изменяться динамически, можно использовать для его отображения статический ресурс.

Уроки MODX Revolution

Мы начнем с самого начала, с установки MODX Revolution и перейдем к построению простого сайта.

Для тех, кто хочет сразу попробовать MODX Revolution в работе, есть отличный сайт modx-test.com, где это можно сделать, жмём на кнопку Хочу тестовый сайт MODX Revolution. После ввода своей почты и конфигурирования сайта, необходимо немного подождать, пока сайт создастся. Он будет активен 24 часа и в следующих 24 вы можете скачать транспортный пакет сделанного вами сайта со всеми изменениями…

Будем исследовать разные фичи, чуть не сказал «компоненты» по аналогии с Joomla, адонны и все необходимые вещи для создание сайта с помощью MODX Revolution.

Целевая аудитория MODX уроков

Целевая аудитория для этих уроков — это в основном люди, которые до этих уроков были полностью не знакомы с MODX Revolution. Вам совсем не нужно знать MODX Evolution для прохождения данных уроков.

Если вы знакомы с MODX Evolution, вы можете найти начальные уроки несколько скучными, так как уже все это знаете и основы там и здесь будут повторятся, но я надеюсь, что вы все же чему-то научитесь из данных уроков.

Если вы уже знакомы с MODX Revolution, тогда эти уроки скорее всего вам будут малополезны, так как большинство материала отсюда вам должно быть известно, так что можете просто «потусить» здесь, может найдете какие-либо ошибки и укажете мне на них.

ВАЖНОЕ ЗАМЕЧАНИЕ:

Необходимо осознать одну очень важную вещь самого начала — в MODX CMS почти всегда есть несколько способов сделать что-либо. MODX не ограничивает вас в выполнении чего-либо в определенном порядке или определённым образом. Мои объяснения будут лишь показывать как те или иные вещи делаю я. Это не значит, что это единственно верный способ или наилучший способ, это просто один способ. Таким образом, эти уроки — доступное руководство к действию, точка вашего старта в разработке сайтов. Обязательно пользуйтесь официальной документацей, посещайте другие блоги, форумы и сообщества MODX для поиска новых идей и нового обучения. У меня лишь одна надежда, что вы возьмете к себе на вооружение вещи, изложенные здесь и будете развивать свои способности как у вас получится.

Создание страниц и разделов сайта на MODx Revolution.

Для того чтобы создать страницу или раздел, необходимо дереве элементов на вкладке Ресурсы нажать на значек «Новый документ»:

Откроется страница для редактирования ресурса, которая имеет 3 вкладки: Документ, Настройки, Группы ресурсов. Рассмотрим каждую из вкладок.

Вкладка документ.

Здесь необходимо заполнить следующие поля:

Заголовок – данное поле обязательно для заполнения.  Текст с этого поля обычно вставляют в тег title исходного кода страницы — 

]

.

Расширенный заголовок – необязательное поле, в котором можно прописать более длинный и информативный заголовок, который в последующем можно будет выводить при помощи тега на страницах сайта — ].

Описание — необязательное поле, но очень рекомендую его заполнять, т.к. текст с этого поля вставляется в тег description (полезно для SEO) — ].

Аннотация — необязательное поле. Для страниц его заполнять не нужно, но если вы создаете новость, статью или товар, то заполнить просто необходимо — ].

Шаблон – здесь вам необходимо указать шаблон, который будет использован при формировании данной страницы.

Пункт меню — краткий заголовок ресурса в меню — ].

Атрибуты ссылки – здесь вы можете добавлять атрибуты к ссылкам в меню, к примеру если добавить target=»_blank»  то ссылка будет открываться в новом окне,  rel=»nofollow» – то яндекс не будет учитывать данную страницу и т.п. думаю суть вы поняли — ].

Не показывать в меню – Если  чек бокс на против данной опции,  то данный ресурс не будет показываться в большинстве сниппетов меню и навигации — ].

Опубликован – Данный параметр определяет, будет ли показан данный ресурс посетителям сайта (если чек бокс не установлен, то данный ресурс сохраняется как черновик и не выводится на сайте) — ].

Содержимое ресурса – Здесь добавляется контент данного ресурса — ].

После заполнения данной вкладки у вас должно получиться примерно так:

Вкладка Настройки.

Родительский ресурс – Здесь при необходимости вы можете указать ID родителя

Вкладки Тип ресурса и Местонахождение содержимого – в 99% случаях оставляете значение по умолчанию.

Позиция в меню – проставляется автоматом

Дата отмены публикации — при помощи данного пункта вы можете запланировать отмену публикации ресурса.

Контейнер – если вы поставите галочку на против данного пункта, то документ превратится в рубрику (категорию).

Доступен для поиска – разрешает или запрещает поиск в содержимом ресурса, так же может использоваться в сниппетах.

Использовать HTML-редактор – включает или отключает HTML-редактор

Заморозить URI – если отметите данный пункт, то появится дополнительное поле, к котором вы сможете прописать какой либо URL и он при любом редактировании будет оставаться неизменным.

Кэшируемый – если данный пункт отмечен, то ресурса будет сохранен к кэш после первого обращения к нему.

Очистить кэш – очищает кеш при сохранении ресурса.

Удалён – отменяет публикацию ресурса.

Вкладка Группы ресурсов.

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

Вот как то так) Идем далее.

Редактирование страниц сайта.

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

Удаление страниц сайта.

Удалить страницу можно также при помощи вышеупомянутого контекстного меню выбрав, пункт «Удалить», либо же при редактировании страницы вы можете нажать одноименную кнопку.

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

Чтобы полностью удалить ненужный ресурс, то вам потребуется  кликнуть по кнопке «Очистить корзину».

Watch this video on YouTube

На сегодня все, создайте все основные страницы и категории, далее мы сделаем статическое меню динамическим при помощи PdoMenu.

Предыдущая запись MODX snippet (сниппеты)
Следующая запись Как создать аккаунт google, google play, youtube, gmail и прочих сервисах от гугл?

Зачем они нужны?

phx модификаторы облегчают жизнь modx разработчикам. Допустим у нас есть сайт с каруселью изображений (ну или с баннером), который нужно выводить только на главной странице. Для этого достаточно поместить его в отдельный чанк и затем вывести в шаблоне при помощи такой конструкции

]`]]

Где: 1 — id главной страницы,$carusel — чанк с кодом карусели (баннера). Только полные чайники создают новый шаблон, ради нескольких строк кода карусели. Я тоже таким был, в общем не отчаиваемся и внедряем phx в разработку.

Разберем вышеприведенную конструкцию по подробнее:

]`]]

*id — выводит id текущей страницы;

:is=`1`:then=

— проверяет равно ли *id == 1? и если равно, то выводится содержимое then;$carusel — выводит чанк carusel.

Вместо *id, можно использовать и другие поля, например *template — выведет текущий используемый шаблон. Либо можно проверять заполнено или нет TV-поле (пусть будет *keywords) и если оно заполнено, то выводить его. Разберем данный случай поподробнее. Дано стандартная разметка:

Задача: не выводить эту строку, если TV keywords не заполнено.Решение.

]

Нагрузки

Нужно следить за обработкой модификаторов, бездумное их использование вызовет лишние нагрузки. Вернемся к карусели, данная запись считывается слева направо и МОДХ выполняет все вложенные условия, в независимости от того, верное условие или нет, будет ли выводится на текущей странице содержимое ], в любом случае его содержимое обработается. В связи с этим более целесообразно переписать запись:

]]]

В этом случае, содержимое чанка $carusel, будет обработано в случае, если выполняется условие

*id:is=`1`

т.к. выполняется

]

и если id текущей страницы равно 1, последнее что обрабатывается — ], если id не равно 1, тогда — ]. А если чанка $caru — нет в элементах, то и нагрузки не будет.

А вообще идеальный вывод будет выглядеть так.

]]]

О том, как правильно интегрировать верстку в modx revo в рекомендую почитать здесь.

Примечание! Вы можете комбинировать сколько угодно модификаторов под логику работы компонентов сайта, но главное помните, их основная суть — облегчить разработку, а не усложнять без того сложные задачи. Обычно, самый эффективный и действенный способ — это самый простой, так как чем проще и понятней конструкция — тем легче с ней будет работать в дальнейшем. Ниже перечислены основные модификаторы, которые можете использовать для любого тега МОДХ Рево.

Модификаторы условия

Модификатор Описание Пример
if,input if — задает дополнительное условиеinput — добавляет в тег обратываемые данные [[+phx:input=`/assets/img/photo.gif`]] — добавляем в тег phx входное значение, следующим модификатором, например, можно обработать изображение.
Или [[+phx:input=`/assets/img/photo.gif`:contains=`photo.gif`:then=`da`:else=`net`]] проверить есть ли в пути определенная последовательность символов.]`:ne=`2`:then=`da`:else=`net`]] — если id-ресурса = 1 и не равно 2, выводим «da», или же «net»
or,and or — условие «ИЛИ»
and — условие «И»
]`:is=`2`:then=`da`:else=`net`]] — если id-ресурса = 1 или = 2, выводим «da», или же «net».]`:ne=`2`:then=`da`:else=`net`]] — если id-ресурса = 1 и не равно 2, выводим «da», или же «net»
isequalto, isequal, equalto, equals, is, eq Если тег равен модификатору, используется с «then» и «else.» ] — если id-ресурса = 1, выводим «da», или же «net»
notequalto, notequals, isnt, isnot, neq, ne Если тег не равен модификатору, используется с «then» и «else». ] — если id-ресурса не равно 1, выводим «da», или же «net»
greaterthanorequalto, equalorgreaterthen, ge, eg, isgte, gte Если тег больше или равен модификатору, используется с «then» и «else». ] — если id-ресурса больше или равен 1, выводим «da», или же «net»
isgreaterthan, greaterthan, isgt, gt Если тег больше модификатора, используется с «then» и «else». ] — если id-ресурса больше 1, выводим «da», или же «net»
equaltoorlessthan, lessthanorequalto, el, le, islte, lte Если тег меньше или равен модификатору, используется с «then» и «else». ] — если id-ресурса меньше или равно 10, выводим «da», или же «net»
islowerthan, islessthan, lowerthan, lessthan, islt, lt Если тег меньше модификатора, используется с «then» и «else». ] — если id-ресурса меньше 10, выводим «da», или же «net»
contains Если тег содержит модификатор, используется с «then» и «else». ] — если в теге содержится фраза «Сэ́мюэл Кле́менс» выводим «Марк Твен»
containsnot Если тег не содержит модификатор, используется с «then» и «else». ] — если в теге не содержится фраза «Сэ́мюэл Кле́менс» выводим «Кто-нибудь еще»
hide Если предыдущий модификатор возвращает положительное значение («then»), то не выводим обработанный тег. ] — если id-ресурса = 10, ничего не выводим
show Если предыдущий модификатор возвращает положительное значение («then»), то выводим обработанный тег. ] — если id-ресурса = 10, выводим.
then Условие, если тег соответствует модификатору, выводим сообщение, иначе ничего не выводим ] — если id-ресурса = 10, выводим «ept».
else Условие, если тег не соответствует модификатору, выводим сообщение. Используется только в связке с «then» ] — если id-ресурса = 10, выводим «ept» иначе «nooo».
select Установить свое значение, в зависимости от модификатора и вывода тега. Так же можно использовать «else», например если значение — не подходит под шаблон select ] — если тег — выводит «0», значит выводим «ВЫКЛ», если тот же тег равен «1» выводим «ВКЛ», если «2» выводим «ХЗ», если тег не подходит нашей выборке, то выводим «Ошибка».
in Работает аналогично php in_array, если тег совпадет с одним из элементов модификатора (разделяются они запятыми), то выводим then, если не совпало else ]`:else=`пробел`]] — если тег 12 (текущий шаблон) — равен «3» или «4», значит выводим , если не равен, выводим else.

Чанки (Chunks)

rong>Чанк â ÑÑо ÑÑÐ°Ð³Ð¼ÐµÐ½Ñ ÑÑаÑиÑеÑкого HTML-кода, ÑодеÑÐ¶Ð¸Ñ ÐºÐ°ÐºÑÑ-либо ÑаÑÑо повÑоÑÑемÑÑ ÑаÑÑÑ ÐºÐ¾Ð½ÑенÑа.

РкаÑеÑÑве пÑимеÑа можно пÑивеÑÑи ÑÑандаÑÑно пÑименÑемÑй Ñанк head, ÑодеÑжаÑий меÑа-Ñеги ÑÑÑаниÑÑ, ÑÑÑлки на ÑаблиÑÑ ÑÑилей и пÑ.

Ð Ñаблоне Ñанк вÑзÑваеÑÑÑ Ñак:


  ]

Чанк Ð¾Ð±Ð»Ð°Ð´Ð°ÐµÑ ÑвойÑÑвами Ñаблона, но не ÑодеÑÐ¶Ð¸Ñ TV-паÑамеÑÑÑ Ð¸ не Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð½Ð°Ð·Ð½Ð°Ñен ÑеÑÑÑÑÑ Ð½Ð°Ð¿ÑÑмÑÑ.

Ссылка на основную публикацию