Наверх

Рейтинг

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

Знакомство с xPDO ч. 2 или xPDO для «гиков»

15 мая 2014, 18:57

После написания первой вводной статьи по xPDO, где я разобрал только базовые понятия и простейшие запросы/операции, обещался я вам (и себе), что обязательно копну глубже. Потребовало это достаточное кол-во времени, ибо «почва через чур каменистая», и похоже кроме самого Jason`а Coward`а никто не знает точно как сделать с xPDO все «правильно и красиво». Надеюсь недостаток документации восполнится после выхода Революшн (а на данный момент добрая половина функционала xPDO не задокументированна вобще :( ).
Посему за сеансом «просветления в Дао» я обратился лично у вышеупомянутому Джэйсону, и получил ответы на некоторые вопросы. (Хотя один из у меня разрешить так и не удалось, но об этом чуть позже).
Данная статья покрывает такие функции xPDO:
→ $xpdo->newQuery();
→ new xPDOCriteria();
→ $xpdo->getOne;
→ $xpdo->getMany;
→ $xpdo->getObjectGraph;
→ $xpdo->getCollectionGraph;
→ $xpdo->getCount;
→ незадокументированные методы создания и отладки запросов.
→ а также не упомянутые ранее вопросы «облегченного» удаления записей в БД.
Читать дальше

Создаем раздел управления виджетами в MODX

01 апреля 2015, 14:12

MODX отличается от других систем абсолютной гибкостью. С одной стороны это плюс, с другой стороны это приводит к отсутствию в MODX такого понятия как «виджет». Сегодня я научу вас как с помощью MIGX сделать панель управления виджетами.

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

Пара фокусов с xPDO

18 мая 2014, 16:01

В ходе одного исследования выяснил несколько интересных вещей про xPDO, о которых раньше не задумывался или некогда было проверить. Решил немедленно поделиться.

Выборка 1000 ресурсов

$q = $modx->newQuery('modResource', array('id:>' => 0));
$q->limit(1000);

$q->prepare();
$q->stmt->execute();
$res = $q->stmt->fetchAll(PDO::FETCH_ASSOC);
foreach ($res as $v) {
	//echo $v['modResource_pagetitle'];
}
Этот код работает за 0.042197227478 и занимает 33.3 Mb памяти.

$q = $modx->newQuery('modResource', array('id:>' => 0));
$q->limit(1000);

$res = $modx->getCollection('modResource', $q);
foreach ($res as $v) {
	//echo $v->get('pagetitle');
}
А этот уже за 2.15289998055 и занимает 78.3 Mb памяти.

В чем же разница?
Читать дальше

Новый раздел на сайте — Шаблоны для MODX Revolution

26 сентября 2013, 18:08



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

Представляю вам, что получилось: Шаблоны MODX

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

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

Новая версия Sendex

27 марта 2014, 13:29

На своем сайте для рассылки новых статей я использую компонент Sendex. На данный момент у меня всего 59 подписчиков, но так как хостинг у меня простенький, за один запрос все письма не отправляются. Раньше в кроне стояло задание, по которому раз в 5 минут отправлялись 20 писем. Но мне такая система не очень нравится — я люблю все контролировать сам. Хочу, чтобы можно было сначала отправить письмо себе, потом, если письмо отправилось некорректное, удалить все письма и сгенерировать новую версию.

Поэтому я форкнул Sendex и добавил в табличку писем массовые операции. Василий принял мой Pull Request и теперь в Sendex можно зажать клавишу Shift и выделить сразу несколько писем. Выделенные письма можно удалить или отправить.

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

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

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

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

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

autoRedirector — Автоматический редирект при изменении адреса страницы

25 февраля 2014, 17:00

Представляю на суд публики дополнение autoRedirector, которое позволит вам не беспокоиться о том, что иногда адреса страниц меняются.

После установки плагин будет отслеживать изменение адресов страниц и записывать старые адреса в отдельную табличку. Если пользователь перейдет по одной из старых ссылок, плагин перенаправит его на актуальный адрес. В результате пользователь увидит искомую страничку, а не ошибку 404.
Читать дальше

Автоматизация перелинковки сайта в MODX REVO

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

Попросил меня один знакомый SEO-шник помочь ему в перелинковке сайта. Представляю вашему вниманию, что у меня получилось и как это сделать у себя.
Задача. Оптимизатор должен иметь возможность ходить по сайту и вставлять в текст ссылки. Сделать это нужно как можно проще для оптимизатора, чтобы его работа проходила как можно быстрее.

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

Плагин для транслитерации русских имен файлов загружаемых в ModX Revolution

15 мая 2014, 19:09

В процессе работы с ModX Revolution возникла необходимость сделать плагин для транслитерации имен файлов загружаемых пользователем на хостинг через встроенный менеджер файлов. Использованную функцию UrlTranslit нарыл где то здесь.

Как использовать:
Создаем новый плагин с именем TransliterateFileNames
копируем в плагин код с Github
назначаем на событие OnFileManagerUpload.
Читать дальше

SiteHeart — онлайн чат для сайта

27 августа 2014, 19:14

В последнее время в сфере электронной коммерции распространены различные плагины онлайн-помощи для посетителей сайта. Одним из таких плагинов является SiteHeart. Этот чат совершенно бесплатный, имеет много возможностей как функциональных (например, прием платежей прямо в чате, отправка файлов и пр.), так и для кастомизации.

Для установки его на сайт можно воспользоваться дополнением SiteHeart. Вам нужно лишь зарегистрироваться в системе и указать в системных настройках ID вашего чата.


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

Авторизация

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


Шаблоны MODX

1 2 Дальше »

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