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

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

С нами с 31 января 2013; Место в рейтинге пользователей: #3
Сергей Шлоков
12 января 2016, 09:53
0
Создаёте любой чанк, а затем указываете его в вызове
[[!AjaxForm?
    &snippet=`FormIt`
    &form=`tpl.AjaxForm.example`
    &hooks=`email`
    &emailTpl=`Название чанка с шаблоном`
    ...
]]
Сергей Шлоков
12 января 2016, 09:35
+1
Так кодирует json_encode. Ну и кодируйте также через сниппет
[[!pdoUsers? 
&sortdir=`DESC` 
&tpl=`user` 
&where=`[[!convertWhere? &cond=`%"callsign":"РУССКИЙ ЯЗЫК"%`]]`
]]
Сниппет convertWhere
$a = array('modUserProfile`.`extended`:LIKE'=>$cond);
return json_encode($a);
Не тестировал. По идее должен работать.
Сергей Шлоков
12 января 2016, 08:46
2
+2
В чем проблема? Сделайте плагин на событие OnDocFormSave
switch ($modx->event->name) {
    case 'OnDocFormSave':
        if ($resource instanceof Ticket) {
            $contexts = array();
            $query = $modx->newQuery('modContext');
            $query->select($modx->escape('key'));
            if ($query->prepare() && $query->stmt->execute()) {
                $contexts = $query->stmt->fetchAll(PDO::FETCH_COLUMN);
            }
            $modx->cacheManager->autoPublish(array_diff($contexts, array('mgr')));
        }
        break;
}
Сергей Шлоков
11 января 2016, 21:59
0
Сделайте копию стандартного файла, поправьте код как надо и подключите свой файл в системных настройках.
Сергей Шлоков
11 января 2016, 21:53
0
Пример TicketLatest — Прямой эфир. Выводит последний комментарий каждого тикета.
Сергей Шлоков
11 января 2016, 19:40
0
У тикетов не предусмотрен механизм автопубликации. Подозреваю, что из-за того, что это фрондэнд компонент. Его создает пользователь и либо сохраняет в черновик, либо публикует. Третьего не дано.
Сергей Шлоков
11 января 2016, 19:37
0
Если обновить сайт после назначенной даты, то ресурсы должны опубликоваться, что можно проверить в админке.
Сергей Шлоков
11 января 2016, 19:10
0
Тут кусочком кода не обойдешься. Вот можно почитать про создание пользователей. Если сложно, то лучше обратиться в раздел «Работа».
Сергей Шлоков
11 января 2016, 18:24
0
А подскажите, какую бы связку использовали Вы для реализации?
Всё зависит от задач и бюджета. Вам нужна обычная CRM система. Тут я вообще не вижу надобности в каких-то компонентах, кроме технических. Администратор создает пользователей, разносит их по группам (Руководители, сотрудники). Указывает связь сотрудник->руководитель. Это всё в админке.
А дальше работа для программиста — писать интерфейсы для сайта и логику.
Клиенты вообще не имеют доступа никуда, они просто заводятся в БД и все.
Для данной реализации нужно создавать отдельную таблицу. Т.е. «просто заводятся» не обойдешься.
Сергей Шлоков
11 января 2016, 18:12
0
Насколько сильно нужно переписывать стандартные компоненты?
Никакие стандартные компоненты переписывать не нужно.
И можно ли реализовать регситрацию пользователей (даже по сути можно просто в отдельную таблицу заводить) через фронтенд?
Можно. Есть готовые стандартные компоненты.
А вот как сделать чтобы при наступлении конкретной даты, отправлялось письмо тому, кто регистрировал пользователя?
Делать cron скрипт. Это не сложно.

А вот дальше у разработчика возникнут вопросы — где должны работать первые 3 группы пользователей — на сайте или в админке? Отсюда и решения будут разными.
Сергей Шлоков
11 января 2016, 18:01
0
Возможно ли все это реализовать стандартными средствами ModX + Office?
Нет. Нужно писать самостоятельное решение.
Сергей Шлоков
11 января 2016, 13:32
+1
Да. В списке среди прочих задач. Делаю пока простенькие вещи. Как появится побольше времени, займусь.
Сергей Шлоков
11 января 2016, 08:40
0
Публикация и снятие с публикации происходят как раз на сайте. У админки другие задачи.
Сергей Шлоков
11 января 2016, 07:22
+1
как прописать ему правило не вырезать этот спан класс?
Вот так.
Сергей Шлоков
08 января 2016, 18:03
0
Задачка интересная, но слегка бесполезная, мне кажется.
Согласен, коллега :)
Сергей Шлоков
08 января 2016, 17:31
0
Я так понял, при сохранении ресурса в плагине меняются какие-то поля ресурса и эти изменившиеся поля нужно отрисовать в диалоге не обновляя его по F5.
Для новичка MODX задача сложноватая — надо ловить событие ExtJs на обновление, посылать запрос на процессор, который должен вернуть нужные данные, и вставить их в форму.
Сергей Шлоков
08 января 2016, 09:47
0
В ошибке написано про сниппет 20. Что это за сниппет и что у него в 48 строчке?
Сергей Шлоков
08 января 2016, 09:23
0
ExtJs и плагины отвечают за разное. ExtJs — это javascript, работающий на клиенте (компьютере пользователя). С его помощью можно манипулировать DOM. А плагины — это блоки php-кода, работающие на сервере, к HTML странице никакого отношения не имеют.
Не понятно, какую задачу вы пытаетесь решить.
Сергей Шлоков
06 января 2016, 11:01
0
Должна быть в Приложениях.