Наверх

Рейтинг

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

Часть 4 (Практика). Доступ к ТВ-параметрам

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

Задание. Написать сниппет, который будет выводить на страницу заголовки, анноцации и даты публикации только тех ресурсов, у которых значение TV-параметра «Выводить на главной» равно 1. Или если таких ресурсов больше 10 будет выводить сообщение «Найдено больше 10 ресурсов»
У меня id TV-параметра «Выводить на главной» — 3.

Итак. Сначала нам надо найти все объекты класса modTemplateVarResource, у которых значение равно единице:
$tvs = $modx->getCollection('modTemplateVarResource', array('value' => 1));
foreach ($tvs as $k => $tv) {
    $tvs[$k] = $tv->toArray();
}
print "<pre>";
print_r($tvs);

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

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

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

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

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


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

Часть 3 (Отступление). Пишем плагин

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

Здесь напишу небольшую подсказку для тех, кто еще ни разу не писал плагинов. Готового ответа на задание в этой статье нет.

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

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

При создании/редактировании ресурса вызываются два события: OnBeforeDocFormSave и OnDocFormSave. Первое событие вызывается перед тем, как данные ресурса сохранятся, а второе — уже после сохранения. Соответственно, во время события OnBeforeDocFormSave у нас объекта еще не существует — есть только данные, которые ввел пользователь. А нам нужно знать id ресурса, соответственно это событие нам не подходит.
Читать дальше

Часть 4 (Практика). Редактирование ТВ-параметров

15 апреля 2013, 14:57

Второе практическое задание звучало так:
Задание 2. Напишите сниппет, который будет при каждом просмотре страницы увеличивать значение TV-параметра «Просмотры» на 1. А потом напишите второй сниппет, который выведет общее количество просмотров всех страниц, созданных пользователем. Подсказка — текущего пользователя можно получить так:
$user = $modx->user
и в переменной $user у нас будет объект класса modUser с полями текущего пользователя.
Ну первый сниппет для нас уже легко. Создаем ТВ views и сниппет setViews:
if ($views = $modx->resource->getTVValue('views')) {
    $views++;
} else {
    $views = 1;
}
$modx->resource->setTVValue('views',$views);
И вставляем его где-нибудь на странице. Некешируемым (так как он должен выполняться каждый раз при открытии страницы).
Читать дальше

xPoller — опросы для MODX

20 августа 2014, 11:30

xPoller — это дополнение для MODX, позволяющее организовать у вас на сайте AJAX-опросы для пользователей.

Интерфейс довольно простой:

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

Очень простое добавление кастомных объектов в MODX

07 декабря 2015, 22:33

Все знают, что Василий Наумкин разработал «заготовку» для создания собственных компонентов — modExtra. Чтобы создать компонент нужно только описать модель и подготовить интерфейс — всё зависит от фантазии разработчика.

Однако, надо обладать хоть какими-то познаниями и, например, не каждый дизайнер или верстальщик сможет, да и захочет, с ней разбираться.

Периодически я вижу, что на сайтах, например, заявки или каталог, наполняемый с фронтенда реализуется с помощью ресурсов. Но ресурсы не всегда подходят для этого. Сегодня я покажу, как просто и быстро добавить новый объект в MODX. Да, в очередной раз =)
Читать дальше

Создаем свою сборку MODX REVO

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


Уже довольно давно существует скрипт от bezumkin для создания сайтов на сервере с уже установленными необходимыми пакетами.

Но иногда нужно быстренько развернуть сайт на обычном shared-хостинге. Я как-то сделал себе отдельный сайтик, где настроил нужные мне дополнения, создал файлы robots.txt и sitemap.xml, настроил дружественные URL и прочие мелочи. Соответственно, если нужно было развернуть новый сайт я брал свою заготовку, переносил ее на новое место и занимался уже созданием сайтов.

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

Подборка дополнений, которые могут однажды пригодиться. Часть 2

20 марта 2014, 21:07

Продолжим подборку интересных и полезных дополнений из официального репозитория MODX.

VersionX

Сохраняет старые версии ресурсов, сниппетов, чанков и пр. Этакий местный бэкап. Версии можно просмотреть и восстановить. Очень удобно при разработке.

TVSnippEdit

Позволяет создать свой тип рендера для ТВ-шек. Как бы объяснить, что это значит… Видели, что при заполнении ТВ с типом image рядом с ТВ-шкой отображается превьюшка? Вот это и есть рендер — вы получаете значение, обрабатываете его и сообщаете, что отобразить в админке рядом с этой ТВ-шкой. Например, если ТВ предназначен для ввода JSON, можно рендерить массив, чтобы проверять, что JSON введен корректно.
Читать дальше

Подборка дополнений, которые могут однажды пригодиться. Часть 3

21 марта 2014, 00:42

Третья часть подборки дополнений из официального репозитория.

ColorPicker

Добавляет новый тип ТВ — выбор цвета.

Upshare

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

SIMPLX MyGit

Позволяет сохранять все изменения элементов (чанков, сниппетов, плагинов) в вашем аккаунте на github.com Теперь вы можете не беспокоиться, что что-то сломается — вы всегда сможете вернуться к предыдущей версии через какое угодно время.
Читать дальше

Как обновить MODX одной кнопкой

25 сентября 2015, 12:07

Разработал небольшое дополнение, которое позволяет обновлять MODX нажатием одной кнопки

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

Авторизация

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


Шаблоны MODX

1 2 Дальше »

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