Сергей Шлоков

Сергей Шлоков

С нами с 31 января 2013; Место в рейтинге пользователей: #5
05 октября 2017, 22:26
+3
Так как я с недавних пор решил разобраться в логике работы кэша MODX и Fenom, то знаю ответ. Завтра постараюсь подробно рассказать почему. В формате комментария это сделать сложно.
04 октября 2017, 16:57
0
Почемуу, почемуу, потомуу.
04 октября 2017, 16:30
+2
Вот так {3 | url} тоже будет работать.
04 октября 2017, 14:44
+1
Разобрал проблему. Если интересно, вот статья.
02 октября 2017, 22:18
+2
Определите сначала этот параметр, а затем подсуньте его в массив с where.
02 октября 2017, 08:53
+3
Ещё забыл написать про новый метод кэшменеджера — remember. Он пригодится в тех случаях, когда нужно получить значение из кэша, и если кэш пусто, то сохранить данные в кэш.
Например, получаем общее количество активных пользователей.
cache()->remember('count_users', 300, function() use ($modx) {
    return $modx->getCount('modUser', array('active' => 1));
});
Если в кэше пусто, то выполняется замыкание, в котором возвращается вычисленное значение. Затем это значение сохраняется в кэше на 5 минут. И пока не истечет это время при последующих запросах количество пользователей будет запрашиваться из кэша.

30 сентября 2017, 17:32
+1
Игнор скорее всего глючит на вложенных уровнях — у меня на первом уровне (в шаблоне) и в ресурсе все гуд. А у тебя, наверно, через феном вызывается сниппет, который вызывает чанк с игнором. Чисто предположение.
29 сентября 2017, 23:26
+3
Если кто не заметил, мой PR таки принят. Так что дебажить феном теперь значительно легче.
28 сентября 2017, 15:03
+3
Спасибо за добрые слова! :)
27 сентября 2017, 17:24
0
Это всё на совести разработчиков fullCalendar. У меня в планах нет задачи перетаскивать интерфейс гугл календаря в свой компонент.
19 сентября 2017, 18:07
+1
Это вряд ли. Как вариант, для редакторов проверять контент регуляркой на событие OnBeforeDocSave и запрещать php код.
19 сентября 2017, 18:03
0
Пока нет. Для яндекс календаря нет api. Нужно разбираться с СalDAV. Не до этого сейчас.
19 сентября 2017, 10:13
+2
Вышеописанные варианты (и сессии, и плейсхолдеры) все-таки являются некими костылями — и сессии и плейсхолдеры предназначены для другого. На самом деле в Fenom есть возможность передавать переменные в шаблоны. Кому интересно как, читайте.
16 сентября 2017, 10:22
+3
А что мешает прописать класс в самом ресурсе в поле «Атрибуты ссылки»? Не охота писать в каждом ресурсе, создайте плагин на событие OnLoadWebPage и для ресурсов определённых родителей прописывайте нужный класс.
15 сентября 2017, 17:42
+1
До первого обновления.

Можно сделать копию сниппета и в нем заменить метод.
15 сентября 2017, 17:10
+2
Но как им передавать такие чанки в параметрах, используя синтаксис Fenom?
Никак. Метод $modx->getChunk(), который используют все эти сниппеты, не умеет работать с файловыми чанками и не понимает данный синтаксис. Это умеет делать только метод $pdoTools->getChunk().

П.С. Ну и функция chunk() из библиотеки modHelpers.
15 сентября 2017, 17:06
+1
Я понял, что мой вопрос вы не поняли. С чего вдруг сниппет TaggerGetTags должен уметь загружать чанки, указанные с использованием синтаксиса pdoTools? Теперь понятно?
15 сентября 2017, 16:38
0
А какая связь между сниппетом TaggerGetTags и pdoTools?
15 сентября 2017, 12:06
1
+2
Вообще, логику в чанках лучше не определять. Если рассматривать MODX с точки зрения MVC концепции (насколько это возможно), то чанк — это вид. И среди программистов не принято в видах прописывать логику. Для этого есть контроллеры. В MODX это лучше делать в плагинах
// Плагин
switch ($modx->event->name) {
    case 'pdoToolsOnFenomInit':
            $fenom->addAccessorSmart("product", "data", Fenom::ACCESSOR_PROPERTY);
            $fenom->data = [
                "name" => '', // Тут имя определяете по вашему условию
            ];
    break;
}
А в чанке просто вызывать
Фильтры для {$.product.name}
12 сентября 2017, 08:33
+1
В данном случае всё зависит от железа. Про какие-то ограничения с пользователями я не слышал, а вот с ресурсами была такая проблема. На хабре была статья Николая Ланца про это. По моему свыше 300 тыс. ресурсов MODX уже обработать не может. Нужно отключать кэширование карты алиасов и чего-то там ещё. В общем выкручиваться.