Сортировка: По дате По просмотрам ↓
MIGX - компонент для ModX. Краткий обзор, готовые конфиги
22 марта 2016, 12:11
MIGX — очень полезный компонент для ModX, позволяющий создавать дополнительные поля(TV) в виде удобных табличек с перетаскиванием и редактированием значений как в теле таблицы так и в отдельном модальном окне.
При нажатии «Добавить элемент» может открываться модальное окно с формой для ввода данных, а может просто добавляться строка в конец таблицы, которую можно тут же заполнить без лишних манипуляций.
Поведение и свойства отображения элементов можно гибко настраивать через менеджер MIGX, а можно просто экспортировать JSON объект с готовыми настройками.
Читать дальше
При нажатии «Добавить элемент» может открываться модальное окно с формой для ввода данных, а может просто добавляться строка в конец таблицы, которую можно тут же заполнить без лишних манипуляций.
Поведение и свойства отображения элементов можно гибко настраивать через менеджер MIGX, а можно просто экспортировать JSON объект с готовыми настройками.
Читать дальше
Часть 3. Методы set и save
13 апреля 2013, 19:36
Продолжим серию статей об xPDO для начинающих. В предыдущих частях мы узнали, как можно получить значение полей того или иного объекта или даже нескольких объектов. Теперь посмотрим, как мы можем изменять эти значения.
Помимо метода get(), который получает значение, есть еще и метод set(), который это значение устанавливает. Мы можем поменять подряд сразу несколько значений, но после всех вызовов set() нужно объект сохранить. Сохраняет объект метод save().
Читать дальше
Помимо метода get(), который получает значение, есть еще и метод set(), который это значение устанавливает. Мы можем поменять подряд сразу несколько значений, но после всех вызовов set() нужно объект сохранить. Сохраняет объект метод save().
set() — устанавливает значение одного из полей объекта.
save() — сохраняет все изменения в объекте.
Читать дальше
Часть 5. Создание и удаление объектов
15 апреля 2013, 19:01
Мы уже умеем получать данные объектов, можем устанавливать новые значения полей, знаем, что существуют связи между объектами. Пора научиться создавать объекты и удалять их.
Для того, чтобы создать объект мы будем пользоваться методом newObject()
Давайте, поработаем с чем-то еще, кроме ресурсов. Например, создадим новую категорию элементов:
Читать дальше
Для того, чтобы создать объект мы будем пользоваться методом newObject()
newObject() — создает новый объект указанного класса.Но не забывайте сохранять объекты — здесь как с файлами — сначала создаем новый файл, потом наполняем его содержимым и сохраняем на диск.
Давайте, поработаем с чем-то еще, кроме ресурсов. Например, создадим новую категорию элементов:
$category = $modx->newObject('modCategory'); // название категорий хранится в поле category $category->set('category','helloWorldCategory'); $category->save();
Читать дальше
Часть 1 (Практика). Получение свойств объекта
11 апреля 2013, 17:08
Давайте, напишем свой сниппет, который будет показывать пользователю любое поле любого ресурса. Нам понадобятся знания, полученные в первой части статьи.
Читать дальше
Задача. У сайта есть слоган. Текст слогана находится в поле introtext главной страницы сайта. Нужно отображать этот слоган на всех страницах сайта.
Читать дальше
Разрабатываем социальную сеть на MODx Revolution
06 апреля 2013, 00:22
MODx развивается стремительными темпами, и я решил попробовать сделать социальную сеть на этом замечательном движке. Ведь в нем давно уже есть возможность работать с пользователями (регистрация, авторизация и пр.), встроенный механизм сообщений пользователей, он умеет работать с изображениями и много чего еще.
Для начала давайте разберемся с пользователями, дадим им возможность писать статьи, например, или добавлять свои события.
Читать дальше
Часть 2 (Практика). Вывод свойств нескольких объектов
12 апреля 2013, 23:23
Итак, нам нужно выполнить следующее задание:
Читать дальше
Задание. Написать сниппет, который выводит на страницу заголовки, аннотации и даты публикации всех новостей, если их всего пять или меньше, а если новостей больше пяти, пусть выводит содержание ресурса «Новости» (того самого контейнера, который является родительским ресурсом всех новостей).Допустим, id ресурса с новостями 22. Тогда получить все дочерние ресурсы с заголовками, аннотациями и пр. мы можем так:
$where = array('parent' => 22); $resources = $modx->getCollection('modResource',$where); foreach ($resources as $res) { $output .= '<h4>'.$res->get('pagetitle').'</h4>'; $output .= '<p>'.$res->get('introtext').'</p>'; $output .= '<p><small>Дата: '.$res->get('publishedon').'</small></p>'; } return $output;
Читать дальше
Подсчитываем количество нажатий на кнопку
27 мая 2014, 13:10
Я думаю, многим владельцам сайтов интересно, какой элемент на сайте более эффективен. На многих сайтах конверсия засчитывается при переходе по какой-либо ссылке или нажатии на какую-либо кнопку (например, «Купить» или «Записаться»). Таких кнопок на сайте может быть несколько и иногда хочется узнать, сколько человек нажало на каждую конкретную кнопку. По таким данным можно уже принять решение об эффективности тех или иных мер продвижения сайта.
Читать дальше
Читать дальше
Управление альбомом галереи на странице ресурса
15 мая 2014, 16:21
Чего мне всегда не хватало в Revo дак это удобной галереи для менеджера. Для Evo есть EvoGallery, где можно управлять альбомом прямо на странице документа. Менеджеру не нужно постоянно путаться, что редактирование документов осуществляется в дереве документов, а фотографии грузятся через модули. Все в одном месте, удобно. Причем галерея нужна на основе базы данных, а не просто файлы в папке, чтобы можно было указать описания для фотографий, метки, сортировать их итд.
Поэтому решил попытаться сделать похожее в Revo, где в качестве галереи выбрал Gallery. В Revo есть возможность создавать собственные параметры ввода для TV, на основе которых в Gallery сделан тип TV galleryalbumlist, с помощью которого можно привязать альбом к документы, но фотографии по прежнему загружаются через компоненты.
Читать дальше
Поэтому решил попытаться сделать похожее в Revo, где в качестве галереи выбрал Gallery. В Revo есть возможность создавать собственные параметры ввода для TV, на основе которых в Gallery сделан тип TV galleryalbumlist, с помощью которого можно привязать альбом к документы, но фотографии по прежнему загружаются через компоненты.
Читать дальше
Часть 3 (Практика). Массовое редактирование объектов
13 апреля 2013, 21:50
Задание было таким:
Для того, чтобы у нескольких ресурсов изменить значение какого-то поля, нужно их сначала получить:
Читать дальше
Задание. Представьте, что вы сделали клиенту сайт, он его заполнил, в раздел «Статьи» уже выложил около 50 статей, после чего звонит вам и просит, чтобы в разделе статьи URL были такими:Итак, первая часть задания./articles/23/то есть, чтобы псевдонимом у статей был id ресурса. Напишите код, который надо выполнить в консоли, чтобы у всех существующих статей исправить псевдонимы.
Для более продвинутых пользователей — напишите плагин, который будет устанавливать нужное значение для всех создаваемых документов в разделе «Статьи»
Для того, чтобы у нескольких ресурсов изменить значение какого-то поля, нужно их сначала получить:
$resources = $modx->getCollection('modResource',array('parent' => 22));
Читать дальше
Подборка дополнений, которые могут однажды пригодиться. Часть 1
20 марта 2014, 00:06
Решил пройтись по официальному репозиторию дополнения для MODX и удивился, сколько сейчас есть интересных и нужных дополнений. Вот лишь некоторые из них.
Читать дальше
Предупреждение!
Многие из этих дополнений я сам не использовал и не проверял. Информация и описания взяты с соответствующих страниц официального репозитория.
Simple File Upload TV
Позволяет прикреплять изображения к ресурсу с помощью одной кнопки — минуя файловый менеджер.Grid Class Key
Позволяет убрать из дерева ресурсов дочерние документы некоторых страниц, отобразив их в виде таблички. Доступны массовые действия для дочерних ресурсов и поиск.Читать дальше