Наверх

Блог RSS

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

Подписка на новости для вашего сайта

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

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

Так как на начальном этапе подписчиков будет немного, то отправку писем я реализовал с помощью простого плагина на событие OnDocFormSave
Читать дальше

Часть 1 (Практика). Получение свойств объекта

11 апреля 2013, 17:08

Давайте, напишем свой сниппет, который будет показывать пользователю любое поле любого ресурса. Нам понадобятся знания, полученные в первой части статьи.
Задача. У сайта есть слоган. Текст слогана находится в поле introtext главной страницы сайта. Нужно отображать этот слоган на всех страницах сайта.

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

Часть 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 и создайте пару-тройку страниц с разными названиями.
Читать дальше

Плагин для переключения контекстов при отсутствии нужного URL в текущем контексте

11 апреля 2013, 14:46

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

Прописывать везде ссылки типа [[~30 &context=`catalog`]] не хочется, да и не всегда возможно, поэтому я написал плагинчик switchContext на событие OnHandleRequest, который сам переключает контекст, если нужной страницы нет в текущем контексте
Читать дальше

Галерея в стиле Вконтакте или Яндекс.Картинок

11 апреля 2013, 13:21

Уже написал две статьи о своем новом сниппете AlignImage на community.modx-cms.ru и на modxclub.ru. Для тех, кому интересны подробности, опишу их здесь.

Сниппет позволяет выводить галерею в стиле Вконтакте или Яндекс.Картинок. Вот так, например:


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

Оптимизация сайта на 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 и пр.) должны вызываться без восклицательного знака.
Читать дальше

Новый дизайн, новый движок — Перенесли narkohelp.ru на MODX REVO

10 апреля 2013, 12:35

Перенесли один из старейших сайтов по тематике лечения разных видов зависимости (http://narkohelp.ru/) на MODX Revolution.

Скриншот сайта narkohelp.ru
Скриншот сайта narkohelp.ruСкриншот сайта narkohelp.ru

.

.

.

.

.

.


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

ООП офигенная штука!

09 апреля 2013, 17:17

Наконец-то я решил попробовать ООП. Ну что ж, друзья… Я подсел и конкретно. Теперь многое хочется переписать на ООП. Каким же я был слепым!

А всего-то — маленькая доза. Решил сделать проверку на то, имеет ли пользователь возможность просматривать свойства объекта или нет. И если нет — выводить ошибку. Так как это пригодится еще много где, решил вставить этот функционал (правильнее, наверное, «метод») прямо в класс самого объекта.

После генерации схемы и модели для работы со своими таблицами в базе, я получил файл, в котором мой новый объект описывался так:
class Calls extends xPDOSimpleObject {}
И я мог делать со своим объектом все, что хотел — то есть, getObject, getCollection, newObject, get, set

А тут взбрело в голову дописать функционал прямо в класс
Читать дальше

Плагин для редиректа если страница перенесена или изменен URL страницы

09 апреля 2013, 17:14

Надоело мне проставлять вручную редиректы, когда SEO-шники меняют URL (для лучшего соответствия страницы запросам) и просят сделать так, чтобы страница из индекса не вылетела.

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

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

Авторизация

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

Подписка или RSS

Буду присылать новые статьи — никакого спама



Шаблоны MODX

1 2 Дальше »

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