с простым выводом текста при запросе /admin/test/[index]
выпадает эта ошибка
PHP Error
Description
Illegal offset type
вообще без понятия куда копать. ошибка не информатива. Описания по работе с модулями ноль. Просто сказано что есть такая структурная единица, а как ей пользоваться не сказано. Может бросьте в меня код с примером или ссылкой где о модулях рассказывается больше чем в оф. мануале ?
class Admin extends CWebModule
{
public function init()
{
// this method is called when the module is being created
// you may place code here to customize the module or the application
// import the module-level models and components
$this->setImport(array(
'Admin.models.*',
'Admin.components.*',
));
}
public function beforeControllerAction($controller, $action)
{
if (parent::beforeControllerAction($controller, $action))
{
// this method is called before any module controller action is performed
// you may place customized code here
return true;
}
else
return false;
}
}
В конфиге нужно сделать так:
'modules'=>array(
'Admin'=>array(
// тут могут находиться настройки для инициализации модуля.
),
),
// или просто:
'modules'=>array('Admin'),
В общем-то, ничего особо сложного в работе с модулем больше нет.
К сожалению, нет, что привело к активному обсуждению вопроса на общем форуме, как подключить url правила в модуле.
Делается это с помощью прикрепления своего обработчика события приложения onBeginRequest (начало обработки запроса), который должен вытащить нужные правила из модуля. В самом модуле это делать поздно по понятным причинам.
sourceLanguage - это исходный язык приложения, с КОТОРОГО сообщения будут переводиться на текущий язык language.
en_us - просто кодовое обозначение английского языка (США), и мне кажется, что тут без разницы, в каком регистре. Для русского это просто ru.
Если вам так принципиален регистр в newsModule, то попробуйте потестить различные варианты, но в любом случае лучше писать так, как называется класс модуля новостей (NewsModule).
Чтобы верстальщик не перепутал, удобно сделать статический метод t класса NewsModule, который будет отвечать только за перевод сообщений модуля. И вызов упрощается: