Наверх

Рейтинг

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

Работа с полями ресурса после сохранения (пример создания плагина)

05 августа 2017, 10:17

В MODX существует система плагинов и событий. Одно из интересных событий — OnDocFormSave. Это событие на сохранение ресурса.

Простыми словами — если мы создадим плагин, у которого отметим на вкладке «Системные события» галочку OnDocFormSave, то код этого плагина будет запущен после сохранения любого ресурса.

В коде плагина мы легко можем определить, какой ресурс был сохранён — только что созданный или уже существовавший ранее. Это нужно, если мы захотим обрабатывать только поля новых ресурсов, но ничего не менять, если в ресурс просто вносятся какие-то изменения. Для этой цели MODX передаёт нам параметр $mode:
<?php
if ($mode == 'new') {
    // Здесь пишем наш код
}

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

Привязываем сторонние плагины к полям формы ExtJS

05 июля 2016, 16:59

Cтраница компонента в MODX — это такой же интерфейс, как и везде. Он нужен для пользователей, поэтому, нужно упростить им жизнь. Представим, что одно из полей кастомного объекта — это телефон. Чтобы пользователь не путался — в каком формате вводить телефон в это поле, установим для него маску.

Можно было, конечно, написать функционал маски для поля ввода на ExtJS, но это сложно и долго. Мы «прикрутим» к форме jQuery MaskedInput.


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

19 компонентов для админки MODx Revo, которые упростят жизнь

10 марта 2017, 10:02

Многие разработчики и администраторы сайтов сталкиваются повседневно с проблемами, которые повторяются день за днем. В данной статье мы рассмотрим компоненты, которые повысят удобство использования панели администратора в MODx Revo. Наверняка, некоторые из них будут вам знакомы, и все же надеемся, что новой информации будет больше.
Читать дальше

Портал событий и мероприятий для организации

03 апреля 2014, 17:30

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

Внешний вид портала адаптирован в первую очередь для мобильных устройств, в чем очень помог Bootstrap:


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

Как не чистить кэш всего сайта?

21 мая 2014, 15:13

Постоянно задают вопросы «а как при сохранении чистить кэш не всего сайта, а только обновляемого ресурса?». А вот так:
<?php
switch($modx->event->name) {
  case 'OnDocFormRender':
	$resource->set('syncsite', 0);
  break;
  
  case 'OnDocFormSave':
    if ($modx->event->params['mode'] != 'upd') {return;}
    $resource->_contextKey = $resource->context_key;
    $cache = $modx->cacheManager->getCacheProvider($modx->getOption('cache_resource_key', null, 'resource'));
    $key = $resource->getCacheKey();
    $cache->delete($key, array('deleteTop' => true));
    $cache->delete($key);
  break;
}

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

Создание простого MIGX TV

21 апреля 2016, 14:20

Небольшая видеоинструкция по созданию простого MIGX TV
Читать дальше

Реализуем пагинацию без GET-параметров в URL

11 ноября 2015, 15:22

Иногда требуется, чтобы ссылки постраничной навигации выглядели как-то так:
http://site.ru/articles/2.html
http://site.ru/articles/3.html
http://site.ru/articles/4.html
MODX с такой задачей справляется довольно легко.

Необходимо только поправить ссылки в сниппете, например, pdoPage:
&tplPage=`@INLINE <li><a href="[[~[[*id]]]][[+pageNo]].html">[[+pageNo]]</a></li>`
&tplPageActive=`@INLINE <li class="active"><a href="[[~[[*id]]]][[+pageNo]].html">[[+pageNo]]</a></li>`
&tplPageFirst=`@INLINE <li class="control"><a href="[[~[[*id]]]][[+pageNo]].html">Первая</a></li>`
&tplPageLast=`@INLINE <li class="control"><a href="[[~[[*id]]]][[+pageNo]].html">Последняя</a></li>`
&tplPagePrev=`@INLINE <li class="control"><a href="[[~[[*id]]]][[+pageNo]].html">«</a></li>`
&tplPageNext=`@INLINE <li class="control"><a href="[[~[[*id]]]][[+pageNo]].html">»</a></li>`
И создать плагин, указав события OnPageNotFound и OnHandleRequest:
Читать дальше

siteExtra 1.4.0 — поддержка синтаксиса Fenom

17 июня 2017, 16:29

Небольшая новость — теперь шаблон и чанки, входящие в комплект siteExtra переписаны на Fenom.

После установки параметр «Использовать Fenom на страницах» будет установлен в значение «Да» и можно будет вовсю использовать преимущества этого шаблонизатора, такие как расширение шаблонов (и чанков), более сложные проверки {if} или {switch} и многое другое.
Читать дальше

Обновление MODX Revolution 2.0.8 до версии 2.2.x

09 июня 2014, 17:02

Сегодня проводил обновление сайта на MODX Revolution 2.0.8 до версии 2.2.5 и хочу поделиться опытом, может кому пригодится.

Для начала проблема: нельзя 2.0.8 обновить сразу до версии 2.2.5 в автоматическом режиме (если у кого-то есть другое мнение, с радостью выслушаю). Со времен 2.0.х не только удалили много деприкативного кода, так еще и добавили много всего, и изменения коснулись не только файловой системы, но и в базе данных много изменений появилось.
В связи с этим увидел только один вариант: развернуть новый сайт и перенести туда все из старого. И как оказалось, это не так уж и сложно оказалось сделать. Здесь вам phpMyAdmin в помощь. Но успех переноса обратнопропорционален привычке вносить изменения в сторонние пакеты (в том числе и в базовые настройки пакетов).
Читать дальше

Бесплатный HTTPS для всех на хостинге Beget

04 мая 2016, 18:38



Сервис Let's Encrypt, насколько я слышал, вышел из беты, в связи с чем мой любимый хостинг Beget добавил получение сертификатов SSL в свою панель управления.

Теперь каждый может получить SSL сертификат для любого своего сайта бесплатно и очень просто.
Читать дальше

Авторизация

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


Шаблоны MODX

1 2 Дальше »

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