Вставка кода на все страницы (РЕШЕНО)

подскажите пожалуйста как вставить (инициализировать) код на все url (страницы)
код такой
if ($this->User_IsAuthorization()){
$this->Viewer_Assign('aBlogsAllow',$this->Blog_GetBlogsAllowByUser($this->oUserCurrent));
}
в данный момент сделал для index url, есть ли возможность задать его в каком то файле в одном чтобы он транслировался на весь сайт?

9 комментариев

avatar
На хук повесить, например, на engine_init_complete и
if ($this->User_IsAuthorization()){
    $this->Viewer_Assign('aBlogsAllow',$this->Blog_GetBlogsAllowByUser($this->User_GetUserCurrent()));
}
avatar
с хуками пока особо не дружу, есть ли какие нибудь другие способы кроме прописывания во всех экшенах?
avatar
не совсем понял вопрос по поводу редактирования «всех экшенов», вам нужно добавить новый хук, на примере этого github.com/livestreet/livestreet/blob/1.0.3-replication/classes/hooks/HookCopyright.class.php

например, такого содержимого:
<?php

class HookNew extends Hook {

  public function RegisterHook() {
    $this->AddHook('engine_init_complete', 'EIC');
  }

  public function EIC() {
    if ($this->User_IsAuthorization()){
      $this->Viewer_Assign('aBlogsAllow',$this->Blog_GetBlogsAllowByUser($this->User_GetUserCurrent()));
    }
  }

}

назвать данный файл HookNew.class.php и положить в папку рядом с выше указанным в качестве примера хуком.
готово
avatar
класс все работает, огромное спасибо!!!
насчет экшенов просто я в некторые экшены добавил этот код и также все работало, но хуком удобнее, и можно еще уточнить что это за хук такой 'engine_init_complete', 'EIC' это выдуманные слова или зарезервированные?
avatar
я в некторые экшены добавил этот код и также все работало, но хуком удобнее
да, из экшенов ваш код можно нужно удалить.
и можно еще уточнить что это за хук такой 'engine_init_complete'
хук, который выполняется после загрузки ядра и всех базовых, необходимых модулей из автозагрузки, но до запуска экшена и его эвента.
'EIC' это выдуманные слова или зарезервированные?
это просто название метода, повешенного на хук 'engine_init_complete', не зарезервированное, просто аббревиатура от имени хука.
avatar
подскажи пожалуйста а как можно сделать подобное действие для функционала из плагина, т.е чтобы плагиновый функционал работал на всех страницах?
avatar
это слишком обобщенный вопрос, нужно больше конкретики
avatar
есть плагин который выводит категории для топиков и эти категории видно только на экшенах плагина, поэтому думаю его как то транслировать на все экшены или на некоторые
avatar
это уже нужно смотреть код, универсального средства нет
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.