Вадим

Вадим

С нами с 30 апреля 2016; Место в рейтинге пользователей: #494
Вадим
10 февраля 2017, 16:29
2
+2
А-а, так вам нужны закрытые каталоги? доступ к базе? конфиги и разные вкусности? :) Тогда у вас проблема с безопасностью. Вам надо было спрашивать — «Как закалить сайт на modx?»
Вот здесь посмотрите Hardening Your MODX Site
Павел Гвоздь
11 октября 2015, 19:47
3
+2
{$chunk = $_modx->getChunk('@FILE '~ $_modx->config.site_template ~'/my_chunk.tpl', [])}
An Si
29 апреля 2015, 11:26
1
0
Я создал плагин для обновления раз в день и в нём после обновления очищаю кэш так:
$cacheOptions = array(xPDO::OPT_CACHE_KEY => 'crlist');
$modx->getCacheManager()->delete('crlist', $cacheOptions);
An Si
17 апреля 2015, 11:02
2
+2
мда, логично… затупил с утра. В общем, чтобы обновлять раз в день без крона можно создать плагин на событие OnLoadWebDocument. В плагине просто сравнивать день последнего обновления и сегодняшний день. Если они отличаются, то обновляем, иначе нет.

$lastDayUpdate = strftime('%d',strtotime($modx->getOption('currencyrate_last_date')));
if ($lastDayUpdate!=date('d')) {
    $currencyrate = $modx->getService('currencyrate', 'currencyrate', $modx->getOption('currencyrate_core_path', null, $modx->getOption('core_path') . 'components/currencyrate/') . 'model/currencyrate/');
    if (!($currencyrate instanceof currencyrate)) return '';
    $currencyrate->rateIntoDb();
}
return;
Василий Наумкин
04 марта 2015, 13:57
3
+2
Сделать это с помощью aggregates и composites в схеме моего кастомного объекта не получилось (собственно, добавление в схему связи с нативным modx-объектом ни к чему не привело — связи не появилось).
Вот здесь ты просто где-то ошибся.

К своему объекту можно привязать что угодно — для того и нужны aggregates и composites. Например, вот связь сервиса HybridAuth с юзером. Вот она же, но уже в самом классе.

А вот связать объект MODX со своим чуть сложнее, нужно проявить фантазию. Мне нравится делать это при загрузке metadata своей модели.
Владимир
25 августа 2014, 12:55
1
0
Установка расширений- соответственно, создание таблиц в базе, а базу, в обсуждаемом случае, нужно просто залить свою, в которой все таблицы установленных расширений уже созданы. Другое дело, что расширения могли обновляться, тогда записи в базе об ранее установленных расширениях бесполезны, раз файлы утрачены.
Так что, расширения просто придется переустановить, и устанавливать их, перед тем как заливать свою базу, незачем. Кстати, во многих расширениях (например у Василия Наумкина) есть чекбоксы, позволяющие не перезаписывать дефолтные чанки, а более ничего затереться не может.
Виктор
25 августа 2014, 11:48
1
0
Во-первых, вопросы нужно задавать в блоге для вопросов =/
Во-вторых, поставить модх — установить компоненты, которые были — перезалить бд
Василий Наумкин
30 июля 2014, 12:32
1
0
Ну тогда нужно сравнить время из лога MODX и лог посещений сервера. То есть, нужно найти что открыл пользователь в ту же секунду, как появилась ошибка в MODX.

Ну а дальше по вышеописанной методике.
Василий Наумкин
30 июля 2014, 11:00
1
0
Метод один — очистить кэш, очистить лог, затем открывать страницы по одной и смотреть в лог.

Как появятся ошибки — отключать по одному сниппеты на странице и проверять лог. Так должен найтись виновник и с ним уже разбирайся.