1. Приветствуем Вас на неофициальном форуме технической поддержки XenForo на русском языке. XenForo - коммерческий форумный движок от бывших создателей vBulletin, написанный на PHP.

Обработчик события добавления сообщения

Тема в разделе "Для новичков", создана пользователем Дима Полстянко, 19.08.2011.

Загрузка
  1. Дима Полстянко

    Дима Полстянко Местный

    Регистрация:
    22.12.10
    Сообщения:
    197
    Симпатии:
    12
    Версия XF:
    1.1.3
    Хочется выполнять ряд операций после добавления каждого нового сообщения. Причем хочется иметь доступ к уже вставленному сообщению для анализа содержимого

    Это возможно ?
    Какой метод надо переписать (дополнить) ?

    можно конечно триггер на базу повесить, но как то некрасиво
     
  2. nikita90

    nikita90 Местный

    Регистрация:
    22.05.11
    Сообщения:
    47
    Симпатии:
    25
    Версия XF:
    1.1.0 RC
    Код:
    class XenForo_DataWriter_DiscussionMessage_Post
    Там находится метод
    Код:
    _messagePostSave()
    Определяете нужный CodeEventListner и в соответствующем классе пишие
    Код:
    protected function _messagePostSave()
    {
        parent::_messagePostSave();
    
        ВАШ КОД
    }
     
  3. Дима Полстянко

    Дима Полстянко Местный

    Регистрация:
    22.12.10
    Сообщения:
    197
    Симпатии:
    12
    Версия XF:
    1.1.3
    а примерчик есть где нибудь ?
    может писал кто уже такой обработчик ?
     
  4. nikita90

    nikita90 Местный

    Регистрация:
    22.05.11
    Сообщения:
    47
    Симпатии:
    25
    Версия XF:
    1.1.0 RC
  5. Бboris

    Бboris Тролль

    Регистрация:
    20.08.11
    Сообщения:
    205
    Симпатии:
    33
    Get-запрос при размещении новой темы на форуме
    Пользователь размещает (или модератор редактирует) тему "Трактор Беларусь",нажимает на кнопку "Создать тему"
    Автоматически с созданием темы происходит пара Get запросов.
    Например:
    http://sait1.ru/Трактор+Беларусь
    http://sait2.ru/Трактор+Беларусь
    Как реализовать такое?
     
  6. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Если не ошибаюсь, то нужно использовать обработчик controller_pre_dispatch, в котором уже можно будет отслеживать происходящее. Т.е. готового метода нет.
    Попробуйте этот или другие обработчики и посмотрите, что происходит. Также можно ознакомиться с тем кодом, который отвечает за внесение данных в базу.
     

Поделиться этой страницей