Наверх

Рейтинг

Сортировка: По дате По просмотрам ↓

Авторизация, регистрация пользователей, личный кабинет и основы контроля доступа в MODX Revolution

17 ноября 2013, 01:01

Не многие знают, но в MODX уже из коробки существует мощная система разделения прав пользователей. Кроме того, компонент Login позволяет создать на сайте самую настоящую систему регистрации, авторизации, личного кабинета пользователей. Предлагаю разобрать возможности этого компонента и некоторые нюансы доступа пользователей.
Читать дальше

Часть 2. Метод getCollection

12 апреля 2013, 23:14

Продолжим знакомство с xPDO. В первой части мы рассмотрели возможности получения информации о каком-то объекте. А что, если нам нужно получить сразу несколько объектов, при том, что мы не знаем, какие у них id-шники, сколько их, знаем только, например, их родителя?

Здесь нам поможет метод getCollection.

getCollection — брат метода getObject, который в отличие от него выдает (возвращает) нам не объект, а целый массив объектов.
Давайте откроем сайт из предыдущей части и в консоли напишем следующее:
$resources = $modx->getCollection('modResource');
$output = '<p>Всего ресурсов: '.count($resources).'</p>';
foreach ($resources as $k => $res) {
  $output .= '<p>['.$k.'] => '.$res->get('pagetitle').'</p>';
}
print $output;

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

Работа со своей таблицей в MODX. Добавляем пользовательские объекты

20 августа 2013, 17:21

Давно не было новых уроков. Начнем новую серию экспериментов связанных теперь уже с дополнительными объектами в MODX. Это довольно часто используется, особенно, если вы хотите хранить в базе данных какую-то дополнительную информацию. Например, компонент Redirector хранит все редиректы в отдельной таблице. И мы научимся делать так же)

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

Часть 1. Метод getObject

11 апреля 2013, 16:42

Я думаю, все когда-либо слышали аббревиатуру xPDO, все знают, что она как-то связана с MODX. Многие слышали, что xPDO может показывать фокусы, с его помощью можно производить массовые операции с разными объектами, а Fi1osof и многие другие постоянно всем советуют изучать его.

Однако многих отпугивают такие заголовки, как, например

$this->_lazy и повторные запросы к БД при $object->toArray() и ->get();
или
xPDO::addDerivativeCriteria(), class_key, CRC и прочие связанные друг с другом тонкости

потому что начинать, конечно, надо с простого.

Вот в этой статье я и попытаюсь сделать введение в xPDO для тех, кто просто хочет понять, что это такое.

Для начала разверните где-нибудь тестовый пустой сайт (проще всего будет зарегистрироваться на https://modhost.pro/, создать бесплатный аккаунт и на нем развернуть один сайт). После чего поставьте себе компонент Console и создайте пару-тройку страниц с разными названиями.
Читать дальше

Оптимизация сайта на MODX Revolution — уменьшение времени загрузки страницы

10 апреля 2013, 15:17

Советы по оптимизации сайта штатными средствами MODX

Всегда вызывайте сниппеты кешируемыми


Многие разработчики привыкли писать так:
[[!getResource?
  &parents=`5`
  &tpl=`tpl.news`
]]
Это в корне неверно. Убирайте восклицательные знаки везде. Исключение составляют те сниппеты, которые обрабатывают какую-то информацию, которая поступает от пользователя, т. е.:
  • FormIt (пользователь заполняет форму и сниппет должен данные обработать);
  • Login, Register (точно так же — обработка пользовательских данных, например, логин и пароль);
  • getPages (ссылки на разные страницы формируются с GET-параметрами, типа /?page=3, соответственно сниппет должен обработать этот GET-параметр);
  • Ну и другие сниппеты, например, на моем сайте — это сниппеты Loginza для авторизации и TicketsComments, с помощью которого можно оставлять комментарии к статье.
Остальные сниппеты (такие как Wayfinder, getResources, Breadcrumb и пр.) должны вызываться без восклицательного знака.
Читать дальше

Кастомизация форм в MODX Revolution

14 апреля 2013, 13:24


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

И для этого нам не придется писать ни одной строчки кода!

Давайте, посмотрим, что, например, можно сделать с формами
Читать дальше

Отправка письма на e-mail через сервис MODX modMail

15 мая 2014, 19:19

Для меня стало настоящим открытием то, что в MODX есть встроенный сервис для отправки писем на e-mail. Конечно, кто-то знает об этом, и возможно очень давно, но я узнал о такой возможности совсем недавно (уверен, не я один).

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

Добавление, редактирование и удаление кастомных объектов

15 февраля 2014, 18:26

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

Для начала нужно продумать модель ваших объектов — какие поля вам понадобятся. Я возьму для примера формирование экзаменационных листов на пересдачу в вузе.


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

Часть 4. Связи объектов, getOne, getMany, работа с ТВ

15 апреля 2013, 12:51

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

Итак, создайте новый TV-параметр, назначьте его одному из шаблонов и у какого-нибудь ресурса установите значение этого параметра.

Думаю, вы уже догадались, что TV-параметры — это тоже объекты) У TV-параметров класс modTemplateVarResource.

Давайте посмотрим, как же выглядят эти объекты:
$tvs = $modx->getCollection('modTemplateVarResource');
foreach ($tvs as $k => $tv) {
    $tvs[$k] = $tv->toArray();
}
print '<pre>';
print_r($tvs);
Если хоть у одного из ресурсов заполнено хоть одно из дополнительных полей, вы увидите это значение в результате выполнения скрипта.
Читать дальше

Реализация админки во фронтэнде сайта на MODX Revo

06 апреля 2013, 02:01

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

Начал я с того, что написал сниппет addResource, который будет создавать новый ресурс с указанным заголовком и прочими параметрами
Читать дальше

Авторизация

через сервис Loginza:


Шаблоны MODX

1 2 Дальше »

Объектная
модель
MODX