Наверх

Блог RSS

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

Небольшой скрипт, улучшающий отображение картинок в статьях

26 июля 2013, 13:01

Так как сайты заполняют в основном контент-менеджеры, которые о CSS знают лишь понаслышке, я давно заметил, что контент страниц выглядит некрасиво. Дело в том, что картинки имеют неправильные отступы (обычно ставят выравнивание и отступы по обоим сторонам от картинки). Получается что-то типа такого:
Читать дальше

MIGXdb - управление дочерними ресурсами.

20 мая 2013, 09:24

MIGX — это обычное дополнительное поле (TV), который позволяет сгруппировать множество TV в один — будь то текст, изображение, файлы, чекбоксы и т.д. В этом топике речь пойдёт о MIGXdb. С помощью MIGXdb можно работать не только с существующими таблицами базы данных, но можно создать пользовательские таблицы базы данных и связать их с ресурсами в дереве документов, при этом отображение самих ресурсов можно опустить. Очень удобно для управления большим количеством документов на сайте. Качаем MIGX с репозитория MODX и поехали дальше.
Читать дальше

editLinksNet - мое первое дополнение в официальном репозитории MODX

24 апреля 2013, 18:07

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

Сначала сделал пакетик с помощью PackMan и устанавливал этот пакет локально. Но и это тоже утомляло — найти последнюю версию пакета, загрузить его на сайт… И я решил закинуть пакет в репозиторий.

Никакого ответа мне не пришло, около месяца я заглядывал в репозиторий в поисках своего пакета, но его все никак не одобряли и в репозитории он не появлялся.

Сегодня случайно наткнулся на ссылку на свой же плагин) И могу с радостью представить вам первое мое дополнение, которое попало в официальный репозиторий MODX — EditLinksNet 0.1.0-beta1
Читать дальше

Шаблон Acallia для MODX

18 апреля 2013, 16:10


Для многих начинающих знакомиться с MODX, сюрпризом становится то, что для MODX нет шаблонов, как это понимается для других CMS (например, сколько разных шаблонов есть для wordpress или joomla).

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

Так вот, сегодня я начинаю выкладывать шаблоны в виде пакетов. Буду брать бесплатные HTML-шаблоны и запаковывать их в пакеты.

Новый раздел: Шаблоны MODX

Первым шаблоном будет Acalia. Внешний вид шаблона можно увидеть на демо-сайте. Шаблон доступен в официальном репозитории. Или вы можете скачать шаблон с моего сайта.
Читать дальше

Изменяем алгоритм подсчета просмотров страниц в компоненте Tickets

17 апреля 2013, 16:33

Мой блог работает на Tickets от bezumkin, однако Tickets считает просмотры только зарегистрированными пользователями. А у меня в блоге много читателей, кто получает обновления, например, по RSS и не регистрируются. Вот и решил я сделать так, чтобы любые просмотры писались в базу.

Для этого я каждому незарегистрированному читателю устанавливаю cookies, чтобы потом его опознать и повторно не считать его же просмотры.

Ну и добавляем новую запись о просмотре в базу (объект TicketView)
Читать дальше

Часть 5. Создание и удаление объектов

15 апреля 2013, 19:01

Мы уже умеем получать данные объектов, можем устанавливать новые значения полей, знаем, что существуют связи между объектами. Пора научиться создавать объекты и удалять их.

Для того, чтобы создать объект мы будем пользоваться методом newObject()
newObject() — создает новый объект указанного класса.
Но не забывайте сохранять объекты — здесь как с файлами — сначала создаем новый файл, потом наполняем его содержимым и сохраняем на диск.

Давайте, поработаем с чем-то еще, кроме ресурсов. Например, создадим новую категорию элементов:
$category = $modx->newObject('modCategory');
// название категорий хранится в поле category
$category->set('category','helloWorldCategory');
$category->save();

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

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

Часть 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);

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

Часть 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 Revolution

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


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

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

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

Авторизация

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


Шаблоны MODX

1 2 Дальше »

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