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

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

С нами с 31 января 2013; Место в рейтинге пользователей: #3
Сергей Шлоков
29 ноября 2018, 19:04
+1
Да ладно. А это что?
Сергей Шлоков
29 ноября 2018, 18:14
0
Вань, а зачем по-умолчанию эта фича включена? Валятся ошибки из ядра. Зачем это вываливать конечным пользователям? Включили бы на время тестирования, вычистили и отключили.
Сергей Шлоков
29 ноября 2018, 18:09
+1
Придётся подождать, когда появится свободное время. Ждём… Ждём… Ждём… ))
Сергей Шлоков
29 ноября 2018, 18:05
0
Чего-то перемудрили с меню. Пользовательский пункт съехал
Сергей Шлоков
28 ноября 2018, 09:47
0
Если что у меня версия движка MODX Revolution 2.2.14-pl (traditional)
Подскажите, что делаю не так?
Нужно чуть больше молиться. Чтобы защищало не только от взлома сайта, но и телепатические способности усиливало. ))
Сергей Шлоков
28 ноября 2018, 08:42
1
+4
Новое системное событие OnBeforeRegScripts даёт возможность манипуляции со скриптами и стилями перед их включением на страницу.
Если точнее "OnBeforeRegisterClientScripts".

При регистрации скриптов теперь не добавляется type=«text/javascript»
Наверно разговор про это. Но видимо это осталось только в планах.

И ещё отмечу это изменение. Несмотря на споры, его всё-таки приняли. Напомню, про что это. Т.е. создаёте CRC FenomResource, в котором меняете механизм парсинга — парсите только fenom (прям как у фреймворков). И никаких глюков и костылей.

А вообще не понятно, какой вектор развития MODX. Будут поддерживать 2 ветки — 2.х и 3.х? Или только 3.х? Тройка вроде ещё в альфа. Ладно, пошёл обновляться.
Сергей Шлоков
27 ноября 2018, 18:10
0
Самый простой вариант. Создаёте сниппет getContent и вставляете вместо [[+content]] —
[[!getContent? content=[[+content]]]]
Код сниппета:
return is_numeric($content) ? $modx->getObject('modResource', ['id' => (int) $content])->get('content') : $content;
Можно создать сниппет-модификатор.

П.С. С феномом было бы лучше.
Сергей Шлоков
27 ноября 2018, 10:43
0
А зачем
$cx->prepare()
Чтобы набить config контекста. И так для каждого запроса. Оптимизируется банальным джойном (желательно с кэшированием).

но я бы сделал так
'url' => $cx->getOption('site_url'),
Не обязательно, если не нужно дефолтное значение, config — публичное свойство.

Кроме того, не вижу необходимости дёргать чанк ради какого-нибудь <a ....>Контекст.

Судя по всему не настроены права load для анонимов.

Что происходит в последнем кейсе? Получается объект контекста текущего контекста!

Ну и вообще весь свитч выглядит как
else {} if () {}
Не удивлюсь, если ещё и сниппет кэшированный.
Сергей Шлоков
27 ноября 2018, 09:34
-1
Рад, что помог.

П.С. Зеркально отвечаю на любезность минусом.
Сергей Шлоков
27 ноября 2018, 08:28
-1
Так бывает, когда верстальщик думает, что он и программировать умеет. Претензий нет только к первым двум строчкам и последней.
Сергей Шлоков
22 ноября 2018, 14:25
0
Сохранять можно только скалярные типы данных — integer, float, string. Массив легко переводится в строку либо с помощью функции json_encode(), либо функции serialize().
Сергей Шлоков
20 ноября 2018, 20:14
0
Я выложил проект как есть и не планирую его доработок. Любые предложения через PR.

В вашем случае могут помочь права доступа «console» (нужно создать самому). Или правка js файла — у компонента есть возможность подключать пользовательские css и js файлы.
Сергей Шлоков
17 ноября 2018, 07:04
0
В настройках пользователя.
Сергей Шлоков
11 ноября 2018, 21:46
0
ИМХО я все сделал верно.
Разбираться всегда лучше, чем не разбираться. Я так и научился.
Сергей Шлоков
11 ноября 2018, 07:46
0
Действительно, и почему же newObject не сохраняет id? Может потому, что он предназначен для нового объекта. Ибо для существующего объекта есть getObject. А если нужно создать новый при условии, что такого ещё нет или обновить существующий, то делается это как написал выше Василий.

Пишу в раздел вопросы, т.к. в раздел «для разработчиков» рейтинг недостаточен
Самое место в разделе «Вопросы».
Сергей Шлоков
06 ноября 2018, 14:29
3
+2
1. Создаёте плагин с любым именем и следующим содержанием
<?php
switch ($modx->event->name) {
    case 'pdoToolsOnFenomInit':
        /** @var Fenom $fenom */
        $fenom->addModifier('lcfirst', function ($input) {
           return mb_strtolower(mb_substr($input, 0, 1)) . mb_substr($input, 1);
        });

        break;
}
2. Отмечаете событие «pdoToolsOnFenomInit» на второй вкладке.
3. Сохраняете.
4. Пользуетесь.
Сергей Шлоков
29 октября 2018, 12:13
0
Учится работать с консолью.