Андрей

Андрей

С нами с 09 апреля 2015; Место в рейтинге пользователей: #68

Подсчёт значений из присоединённой таблицы на xPDO

Сегодня понадобилось вывести список блогов с подсчетом количества тикетов внутри. Желательно, за один запрос, и чтобы обращал внимание на состояние дочернего тикета.

В итоге вышел простой и быстрый сниппет getSections:
Василий Наумкин
10 декабря 2012, 05:22
modx.pro
7
3 739
0

Добавляем товар в корзину с параметрами (checkbox)

Пытаюсь добавить в корзину товар с параметрами.
Создал TV с именем add, в нём через запятую указываю значения.
Переделал сниппет для фильтрации. Вызывается [[*add:checkbox]], всё хорошо.
Denys Butenko
06 ноября 2012, 18:17
modx.pro
2
3 370
0

Про xPDO

Эта заметка назревала уже очень давно, полгода минимум. Вокруг замечательного MODX Revolution сломано много копий. Ходят слухи, что он «тормозной», «прожорливый» и «неповоротливый». И главным виновником всегда называют xPDO.

Конечно, это чушь и цель заметки — развенчание мифов. Закрыть, наконец, вопрос с «тормозами» и «прожорливостью». Показать, насколько Revolution удобен и гибок, что он позволяет работать как через ORM xPDO, так и без него — через обычный PDO.
Василий Наумкин
30 октября 2012, 18:36
modx.pro
18
17 391
0

Работа с кэшерами в Revolution

Не все знают, что MODX Revolution умеет работать с разными системами кэширования, для чего применяет следующие классы:
  • xPDOFileCache — стандартный обработчик по умолчанию, хранит кэш в файлах.
  • cache.xPDOAPCCache — обработчик для расширения php-apc
  • cache.xPDOMemCached — обработчик для memcached. Есть заметка про него
  • cache.xPDOMemCache — обработчик для memcache.
  • cache.xPDOWinCache — обработчик для wincache. Это для windows хостингов, на IIS.
При большом желании, вы можете написать свой обработчик для любого кэшера. Нужно просто расширить класс xPDOCache и описать собственные методы: add, set, replace, delete, get, flush, по образу и подобию одного из этих классов.
Василий Наумкин
15 октября 2012, 16:53
modx.pro
13
21 710
0

MODX_API_MODE и процессоры

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

Проблемы, в общем то нет, вопрос изучен, но выплыл интересный глюк.
А именно: не работали процессоры для создания/обновления ресурсов.

То есть, процессор для логина — нормально, контекст mgr — нормально, а при попытке создать ресурс — просто пустая error.
Выложил вопрос на официальном форуме и никто мне не ответил. Пришлось разбираться самостоятельно, глубоко копая исходники.
Василий Наумкин
08 сентября 2012, 04:23
modx.pro
26
11 325
0

Как правильно выставить права на файлы?

Доброе время суток!

Подскажите, пожалуйста, каким файлам нужно присвоить права 777?

Не могу найти в интернете рекомендаций на этот счет. Пока, я на все файлы ставляю 777, а иначе установщик отказывает устанавливать движеок.
Александр Наумов
07 сентября 2012, 22:24
modx.pro
4
16 521
0

Ошибка modTemplateVar: Attempt to set NOT NULL field type to NULL

В журнале ошибок появляется вот такое сообщение:

(ERROR @ /index.php) modTemplateVar: Attempt to set NOT NULL field type to NULL

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

Стоит Modx 2.2.4 + свежий MIGX.

Помогите, пожалуйста, разобраться.
Shin
06 сентября 2012, 13:52
modx.pro
1
5 043
0

Как не хакать сторонние классы

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

Что же делать?
Все просто — нужно расширить сторонний класс своими методами. По сути, это очень похоже на «классные процессоры», только без процессоров и использовать можно везде — это стандартная возможность ООП.
Василий Наумкин
30 июня 2012, 12:21
modx.pro
54
7 944
0

Как работать с MODX Api

Регулярно встречаю в сети разные велосипеды про то, как подключиться к MODX снаружи для работы с его Api. Даже на официальном сайте это описано сложновато.
Василий Наумкин
26 июня 2012, 13:55
modx.pro
27
21 327
0

Процессоры в MODX

В MODX есть файлы-процессоры, это php скрипты, которые выполняют определенные функции. Загляните в /core/model/modx/processors, и вы увидите, как их много.

Работать с процессорами можно из любого сниппета или плагина при помощи метода runProcessor:
$response = $modx->runProcessor('action/path/to/processor',$arrayOfProperties,$otherOptions);
В ответ мы получаем объект modProcessorResponse, со всеми его методами.
Василий Наумкин
20 июня 2012, 04:13
modx.pro
24
17 270
0