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

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

С нами с 31 января 2013; Место в рейтинге пользователей: #3
Сергей Шлоков
24 сентября 2019, 22:21
0
Значит настраивать параметры Jevix нужно в наборе параметров Ticket. Остальные параметры будут игнорироваться.

Для комментариев используется набор параметров Comment.

joxi.ru/nAybzZ6fgRJEor
Сергей Шлоков
24 сентября 2019, 22:08
0
Эта настройка никак не влияет на теги. Верните обратно, чтобы проверить.

Так вы работаете с тикетами? Или только с Jevix?
Сергей Шлоков
24 сентября 2019, 22:02
0
На картинке же видно — сниппет Jevix.
Сергей Шлоков
24 сентября 2019, 20:44
0
Если работаете с тикетами, то нужно работать с набором параметров «Ticket».
Сергей Шлоков
24 сентября 2019, 20:01
+1
Ну если ничего не делать, то так и случится. Упорство Дмитрия должно послужить положительным примером.
Сергей Шлоков
24 сентября 2019, 19:57
-1
Я бы на это сильно не рассчитывал. Узкое место MODX совсем не в загрузке классов.
Сергей Шлоков
20 сентября 2019, 10:20
0
А под своими процессорами ты имеешь ввиду свои, но наследники modProcessor, или вообще свой механизм?
Просто ты ответил немного неопределённо —
Только 3й вариант, только свои процессоры.
То ли за третий, то ли за второй.

П.С. Надо было сделать четыре комментария с каждым вариантом и за них голосовать. Эмулировать опрос. Стормозил чутка.
Сергей Шлоков
20 сентября 2019, 09:44
+1
Я тоже склоняюсь за третий вариант.
Сергей Шлоков
20 сентября 2019, 09:44
0
Боюсь большой объем работы просто застопорит все.
Это да. Особенно когда свободного времени мало. Но я вижу причины для чего так срочно нужно выпустить решение с костылями. В крайнем, лучше сделать копи/паст по всем правилам современной разработки.
Сергей Шлоков
20 сентября 2019, 08:29
0
Думаю, это не очень правильный подход. Или одно или другое.
Сергей Шлоков
20 сентября 2019, 06:37
+1
Потому что ты запрашиваешь объекты. И тебе выводятся поля из объекта.

Для понимания. Если ты создашь новый пустой объект и выведешь его
$resource = new modResource(...);
$resource->toArray();
то тоже получишь все поля, но пустые.

В твоём случае, ты инициализируешь указанные в select поля объектов данными из базы. Остальные поля — так называемые lazy. Они инициализируются из кэша. Если кэша нет, то делается запрос в базу и сохраняется в кэш.
Если нужно получить массив данных (что предпочтительней), то лучше делать так
$resources = [];
if ($c->prepare() && $c->stmt->execute()) {
    $resources = $c->stmt->fetchAll(PDO::FETCH_ASSOC);
}
foreach($resources as $resource){
    echo "<pre>".print_r($resource, true)."</pre>";
}
В этом случае получишь то, что запрашивал. И памяти меньше кушает.
Сергей Шлоков
19 сентября 2019, 12:33
0
А Slim рекомендует так
location ~ ^/api/ {
        try_files $uri /api/index.php$is_args$args;
    }
Какое решение лучше?
Сергей Шлоков
19 сентября 2019, 09:52
0
Про права я писал тут. Насчёт вызова событий нужно подумать. Это зависит от реализации.
Сергей Шлоков
19 сентября 2019, 09:43
+6
Выскажу здесь своё никому не нужное мнение.

Интересная статья для размышления. Не хватает четвертого варианта, который описал Василий выше и который использую я при разработке RESTful API дополнения.
Первые два варианта из разряда «забить гвоздь телефоном». Результат маленький и большие накладные расходы.
Третий вариант — это взять маленький молоточек. Чтобы забить средние и большие гвозди придётся сильно попотеть.

Цикл статей, имхо, нужен только для понимания, что встроенные средства MODX мало пригодны. Только для исключительно простых целей. Как по мне, даже JSON:API спецификация с его include, fields, filter и sort неудобна. Мне как разработчику было бы проще послать POST запрос, в котором описать как положено select, where, limit и т.п. Да, это уже не REST, но возможностей гораздо больше.
Сергей Шлоков
17 сентября 2019, 20:36
+3
Во-первых, это не готовое API, а инструкция по его созданию.
Во-вторых, про это уже говорили. Данное решение изучалось. Оно оказалось крайне ограниченное. Ничего кроме items/15 вы не получите.Т.е. статью с комментариями одним запросом никак не получить. И поля никак не указать. Так что на этом серьезное API не сделаешь.
В-третьих, сам Джейсон недавно в обсуждениях на Github писал, что делает API через Slim. Т.е. даже сам сапожник не носит свои сапоги.
В-четвертых, задача попробовать минимизировать зависимость от core-разработчиков.
И в-пятых, третья версия MODX планировалась на Slim 3. Возможно наше решение даст толчок для реализации этих планов.

Так что всё пока логично. А вас, товарищ, мы из групповухи вычеркиваем.)
Сергей Шлоков
17 сентября 2019, 19:10
+1
которое, в принципе уже и так есть
API в студию!