devilinside
Создатель
- Регистрация
- 25 Июн 2014
- Сообщения
- 24
- Реакции
- 11
Было бы здорово еще на каком нибудь простеньком примере это увидеть..Т.е. теперь не нужно изменять файл Модуль.php и лишаться тем самым возможности его обновления
Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature may not be available in some browsers.
Было бы здорово еще на каком нибудь простеньком примере это увидеть..Т.е. теперь не нужно изменять файл Модуль.php и лишаться тем самым возможности его обновления
Ну допустим мы решили вставить блок поиска в другой хук, раньше мы вносили изменения в файлы ядра модуля, т.е. /modules/blocksearch/blocksearch.php - соответсвенно если наш модуль обновлялся, то все изменения сделанные в нем терялись и он отваливался от добавленного нами хука. Теперь же функция override так же доступна и для модулей.Было бы здорово еще на каком нибудь простеньком примере это увидеть..
<?php
if (!defined('_CAN_LOAD_FILES_'))
exit;
class BlockSearchOverride extends BlockSearch
{
}
public function install()
{
if (!parent::install() || !$this->registerHook('displayTopSearch') )
return false;
return true;
}
public function hookDisplayTopSearch($params)
{
return $this->hookTop($params);
}
<?php
if (!defined('_CAN_LOAD_FILES_'))
exit;
class BlockSearchOverride extends BlockSearch
{
public function install()
{
if (!parent::install() || !$this->registerHook('displayTopSearch') )
return false;
return true;
}
public function hookDisplayTopSearch($params)
{
return $this->hookTop($params);
}
}
Очень удобное нововведение..
Забавно, несмотря на то что это одно из самых ожидаемых нововведений, разработчики до сих пор не включили это в документацию
если Вы посмотрите оригинальный файл blockuserinfo.php то увидите что выводится этот модуль в хуке displayNav файлом nav.tplСпасибо за ответ.
если Вы посмотрите оригинальный файл blockuserinfo.php то увидите что выводится этот модуль в хуке displayNav файлом nav.tpl
соответственно если хотите так же то и повторять параметры надо как у хука displayNav
т.е. в Вашем случае код будет
<?php
if (!defined('_CAN_LOAD_FILES_'))
exit;
class BlockUserInfoOverride extends BlockUserInfo
{
public function install()
{
if (!parent::install() || !$this->registerHook('displayTopUserInfo') )
return false;
return true;
}
public function hookDisplayTopUserInfo($params)
{
return $this->hookDisplayNav($params);
}
}
Помимо этого, напомню, чтобы сработало правило переопределения необходимо в папке cache удалить файл class-index.php
так же Вы читали во втором посте что перекомпиляция включена а кеширование выключено.
Ну и напоследок сбрасываем наш модуль или удаляем и инсталлируем заново - разницы никакой
если Вы посмотрите оригинальный файл blockuserinfo.php то увидите что выводится этот модуль в хуке displayNav файлом nav.tpl
соответственно если хотите так же то и повторять параметры надо как у хука displayNav
т.е. в Вашем случае код будет
<?php
if (!defined('_CAN_LOAD_FILES_'))
exit;
class BlockUserInfoOverride extends BlockUserInfo
{
public function install()
{
if (!parent::install() || !$this->registerHook('displayTopUserInfo') )
return false;
return true;
}
public function hookDisplayTopUserInfo($params)
{
return $this->hookDisplayNav($params);
}
}
Помимо этого, напомню, чтобы сработало правило переопределения необходимо в папке cache удалить файл class-index.php
так же Вы читали во втором посте что перекомпиляция включена а кеширование выключено.
Ну и напоследок сбрасываем наш модуль или удаляем и инсталлируем заново - разницы никакой