ms2 события

Здравствуйте. Я делаю сайт — магазин, с не маленьким функционалом. Меня попросили сделать систему событий, независимую от административной части. Т.е просто страничка, вида как на скриншоте:

Для всего своего функционала я без проблемно внедрил данный код:
$sql = "INSERT INTO `r_events` (`id`, `user_id`, `massage`, `link`, `status`, `date`) VALUES (NULL, '".$user_id."', 'Был создан заказ с другого сайта. ', '[[~4]]?idx=".$shop_id."', '0', CURRENT_TIMESTAMP);";
$q = $modx->prepare($sql);
$q->execute();
Который добавляет каждый чих в БД в табличку с событиями… А как мне внедрится в процесс оформления заказа в корзине? В какой сниппет нужно смотреть? Или может как то плагином?
Единственный костыль который мне приходит в голову — это в конечном шаге корзины, в чанке msOrder вызывать сниппет, который будет 1 раз добавлять запись в БД… Но мне кажется это костыль, и можно это сделать по человеческий.
Спасибо.
Николай
18 декабря 2013, 12:36
modx.pro
1 039
0

Комментарии: 6

Василий Наумкин
18 декабря 2013, 16:43
0
А ты не смотрел таблицу msOrderLog? Там фиксируются все изменения статуса заказа, от момента создания.
    Clean
    18 декабря 2013, 17:18
    0
    кстати, в этой таблице, на мой взгляд было бы не лишнем добавить поле c типом text для свободных данных.
    Мне бы например пригодилось при онлайн оплате заказа, для ввода более детальных параметов, ну и вообще для любого расширения логирования, чтобы не городить свои таблицы и костыли…
      Василий Наумкин
      18 декабря 2013, 17:19
      0
      Лог связан с заказом, а в нем есть такое поле — используй на здоровье.
        Clean
        18 декабря 2013, 17:34
        0
        Да, видел, только мне кажется логичнее выстраивать связь на момент изменения, а не в одном массиве держать дату изменения ну и нужный набор данных =)
    Николай
    18 декабря 2013, 17:31
    0
    Василий, подскажи пожалуйста, в каком файле выполняется запрос на добавление данных? Я хочу немного модифицировать структуру и запрос…
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    6