Наумов Алексей

Наумов Алексей

Был в сети 28 июля 2026, 14:21
Заказы принимаю
Если разрабатывается сложное дополнение, и добавляется серьезный функционал, или меняются основы поведения, то может сложиться ситуация, когда обновление в «1 клик» может не получится в принципе, потребуются какие-либо предварительные шаги или действия после обновления. Правда же? Ну и что теперь, этому разработчику сложного и нужного дополнения подъезды мыть?
Если в будущем администрирует сайт разработчик — это приятно и удобно, бесспорно.

Но если сайт передается клиенту и управляем им менеджер, то типовая ситуация будет такой:
1. О, что это за значек?
2. Хм, новая версия, новые возможности… установить…
3. Аааа, ничего не работает! (т.к. разработчик поменял функционал, а где-то на modx.pro написал, что перед обновлением нужно руками че нить в таблице поменять)
4. Звонок разработчику =)

Так что в каком виде разработчик сделал сайт, в таком виде он и должен работать, до тех пор, пока разработчик не обновит ядро сайта или используемые компоненты, предварительно создав резервную копию и убедившись, что все будет работать.
Скопируйте сниппет ecMesasges, в нем найдите обработку параметра $thread, начиная со строки
$thread = $modx->getOption('thread', $scriptProperties, '');
и немного ниже, удалите.

После чего еще ниже найдите

$where = array('`Thread`.`name`' => $thread->get('name'));
и поменяйте на

$where = array();
по идее все
Простой плагин closeWebSite, вешаем на событие OnLoadWebDocument

В плагине цифра 8 — это id страницы входа, цифра 1 — id главной страницы.
<?php
$logged = $modx->user->hasSessionContext('web');
$isLoginPage = $modx->resource->get('id') == 8;

if($logged){
  if($isLoginPage){
    $url = $modx->makeUrl(1);
    $modx->sendRedirect($url);
  }
  return;
}
if(!$logged && !$isLoginPage) {
  $modx->sendForward(8);
}
Находите в админке пункт меню «Управление словарями» и там создаете новую запись, указав пространство имен easycomm, язык ru.

Отправлять вопросы зарегистрированные пользователи могут, да. В этом случае автоматически подставляется их имя и заполняется колонка createdby (посмотрите структуру таблиц компонента в phpmyadmin).