В общем, как и сказал
prometheus, событие onContentPrepare вызывается только внутри материала, соответственно, в блоге категории подобный метод не сработает, с чем я и столкнулся.
Поэтому я использовал событие onContentBeforeDisplay. Этот метод вызывается ПЕРЕД отображением контента, но самое главное - здесь доступны все свойства материала в блоге категории, в отличии от onContentPrepare. Но опять уперся своими рогами (не от жены, а так - просто тупой, наверное) в стену. В материале все отрабатывало корректно, однако в блоге не выводилось ничего, отображалась только моя заглушка - {endtime}, которая по идее должна бы замениться на таймер.
Тут опять помог
prometheus:
И еще нужно убедиться что объект $this->article действительно создан и содержит нужные данные
например var_dump($this->article);
Ну я, как умный человек, смотрю, только не вижу нифига. И вместо того, чтобы внимательно проанализировать то, что мне показывают на экране, мол: "Человече, глазы свои разуй наконец", я в панике бегаю по форуму, размахивая руками и крича "SOS" доставая все того же
prometheus.
Сегодня, решив во что бы то ни стало добить этот многострадальный плагин, я начал смотреть более внимательно, что мне показывает var_dump($this->article). А она показывает мне, что в полном материале есть данные ["introtext"] и ["fulltext"], а в блоге только ["introtext"].
Я же в коде использовал:
$article->text = preg_replace_callback($regex, array($this, "Replacer"), $article->text);
что производило замену {endtime} на код таймера только в полном тексте материала. А для блога надо было использовать
$article->introtext = preg_replace_callback($regex, array($this, "Replacer"), $article->introtext);
Добавил проверку:
if (empty($article->text) && !empty($article->introtext)) {
$article->introtext = preg_replace_callback($regex, array($this, "Replacer"), $article->introtext);
} else {
$article->text = preg_replace_callback($regex, array($this, "Replacer"), $article->text);
}
Все, проблема решена.
Огромное спасибо
prometheus, который не прошел мимо, а навел, так сказать, на путь истинный!