Задать вопрос
  • Как изменить текст в шаблоне с помощью события?

    @FromHeaven Автор вопроса
    Дмитрий, я создаю новый модуль, чтобы из него влиять на работу основного сайта, так как исходный код трогать крайне нежелательно, но есть необходимость его дорабатывать.
  • Как изменить текст в шаблоне с помощью события?

    @FromHeaven Автор вопроса
    Дмитрий, конкретный случай был взят для примера, чтобы понять механизм. Я имею дело с сайтом, который поставляет другая организация. Мне нужно дорабатывать некоторые моменты, но не затрагивая исходный код. Иначе все мои доработки пойдут коту под хвост со следующим обновлением. То есть дорабатывать нужно модульно, но при этом я делаю не что-то новое, а изменяю существующее. Изменение шаблона - ситуация взятая для примера.
  • Как изменить текст в шаблоне с помощью события?

    @FromHeaven Автор вопроса
    Дмитрий, в целом разобралась
    В контроллере основного сайта в функции, где рендерится нужная страница, присоединила обработчик события
    Yii::$app->view->on(View::EVENT_AFTER_RENDER, ['common\modules\replace\controllers\DefaultController', 'rename']);


    В контроллере своего модуля написала функцию, которую нужно выполнить
    public static function rename($event) {
          $new = str_replace("Какой-то текст", "Тестирование события", $event->output);
          $event -> output = $new;
        }


    В идеале нужно сделать так, чтобы вообще не трогать контроллер основного сайта. Есть какой-то способ из контроллера моего модуля подцепить момент, когда нужно вызывать событие? То есть в контроллере моего модуля подцепить функцию контроллера основного сайта и привязать к ней обработчик события.
  • Как изменить текст в шаблоне с помощью события?

    @FromHeaven Автор вопроса
    Дмитрий, Нет, для шаблона внутри основного сайта. Но изменять нужно из модуля, чтобы не трогать исходный код