我有一个由yii framework提供支持的网站。
Yii版本:1.1.14
Php版本:5.4以上
我尝试从以下位置安装论坛模块
http://www.yiiframework.com/extension/bbii
我在自述文件中指定的main.php中添加了模块。但/论坛没有工作,我尝试了一些其他模块,但没有一个正在进行我的安装。我现在卡住了,我尝试了谷歌,但这就像一个独特的错误,我不知道如何调试它。请帮忙。感谢
return array(
'basePath'=>dirname(__FILE__).DIRECTORY_SEPARATOR.'..',
'name'=>'testapp',
'preload'=>array('log','bootstrap'),
'import'=>array(
'application.models.*',
'application.components.*',
'application.vendor.*',
'application.controllers.NavSort*',
),
'modules'=>array(
'gii'=>array(
'class'=>'system.gii.GiiModule',
'password'=>'123',
// If removed, Gii defaults to localhost only. Edit carefully to taste.
'ipFilters'=>array('127.0.0.1','::1'),
'generatorPaths' => array(
'bootstrap.gii'
),
),
'forum'=>array(
'class'=>'application.modules.bbii.BbiiModule',
'adminId'=>1,
'userClass'=>'User',
'userIdColumn'=>'id',
'userNameColumn'=>'username',
),
),
'homeUrl'=>array('site/login'),
// application components
'components'=>array(
'bootstrap' => array(
'class' => 'ext.yiibooster.components.Bootstrap',
),
'user'=>array(
// enable cookie-based authentication
'allowAutoLogin'=>true,
),
'session'=>array(
'autoStart'=>true,
'sessionName'=>'session',
'cookieMode' => 'only',
'timeout'=>86400,
),
'urlManager'=>array(
'urlFormat'=>'path',
'showScriptName'=>false,
//'urlSuffix'=>'.html',
'urlSuffix'=>'',
'class' => 'UrlManager',
'rules'=>array(
'<controller:\w+>/<id:\d+>'=>'<controller>/view',
'<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
'<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
'<controller:[\w\-]+>/<action:[\w\-]+>' => '<controller>/<action>',
// defaults to a site page if not above
'<view:[a-zA-Z0-9-]+>/'=>'site/login',
),
),
'db'=>array(
'connectionString' => 'pgsql:host=localhost;port=5432;dbname=testdb',
'emulatePrepare' => false,
'username' => 'postgres',
'password' => 'root',
//'tablePrefix'=>'',
'charset' => 'utf8',
),
'errorHandler'=>array(
'errorAction'=>'site/error',
),
'log'=>array(
'class'=>'CLogRouter',
'routes'=>array(
array(
'class'=>'CFileLogRoute',
'levels'=>'error, warning',
),
),
),
),
'params'=>array(
// this is used in contact page
'adminEmail'=>'info@site.com',
),
);
答案 0 :(得分:4)
您缺少可以指导框架打开模块的URL规则。
您可以使用两种通用规则
'<module:\w+>/<controller:\w+>/<action:[\w-]+>' => '<module>/<controller>/<action>',
'<module:\w+>/<controller:\w+>' => '<module>/<controller>',
'<module:\w+>' => '<module>',
或者您可以创建特定规则
'forum/<controller:\w+>/<action:[\w-]+>' => 'forum/<controller>/<action>',
'forum/<controller:\w+>' => 'forum/<controller>',
'forum' => 'forum',
区别仅在于普遍规则与其他规则冲突时,您应该使用更具体的规则。
例如,要使我的应用程序中的Gii在我的多语言系统中正常工作,我使用以下规则
'gii/<controller:\w+>/<action:[\w-]+>' => 'gii/<controller>/<action>',
请记住,重要的是,您将URL规则放在该数组中。第一个匹配,将触发打开特定的操作。详细了解URL Management。