在Yii中创建管理面板

在Yii中创建管理面板,yii,Yii,我试图在yii上创建一个管理面板,我遵循了这里的每个步骤 但是当我尝试超出主页时,我会遇到这个错误。知道为什么吗 CHttpException Unable to resolve the request "site/error". (/Applications/XAMPP/xamppfiles/htdocs/dev/yii/web/CWebApplication.php:286) #0 /Applications/XAMPP/xamppfiles/htdocs/dev/yii/base/CE

我试图在yii上创建一个管理面板,我遵循了这里的每个步骤

但是当我尝试超出主页时,我会遇到这个错误。知道为什么吗

CHttpException

Unable to resolve the request "site/error". (/Applications/XAMPP/xamppfiles/htdocs/dev/yii/web/CWebApplication.php:286)

#0 /Applications/XAMPP/xamppfiles/htdocs/dev/yii/base/CErrorHandler.php(331): CWebApplication->runController('site/error')
#1 /Applications/XAMPP/xamppfiles/htdocs/dev/yii/base/CErrorHandler.php(204): CErrorHandler->render('error', Array)
#2 /Applications/XAMPP/xamppfiles/htdocs/dev/yii/base/CErrorHandler.php(129): CErrorHandler->handleException(Object(CHttpException))
#3 /Applications/XAMPP/xamppfiles/htdocs/dev/yii/base/CApplication.php(732): CErrorHandler->handle(Object(CExceptionEvent))
#4 [internal function]: CApplication->handleException(Object(CHttpException))
#5 {main}
这是前面的我的sitecontoller.php/sitecontoller.php

还有我的config/front.php


另外,按照本博客的解释方式创建管理页面,而不是在模块文件夹中单独登录创建管理页面,有什么好处?

yi我找不到我们的控制器/操作。设置控制器和操作的名称时必须准确。例如:

class SiteController extends Controller{}
文件名必须与SiteController完全相同。它甚至区分大小写。如我所见,front/sitecontoller.php不是确切的名称。另一个注意事项是,您的控制器位于前端目录。您必须确保是否已将文件导入此目录。您可以在main.php文件中导入类和文件,如下所示:

'import' => array(
    'application.models.*',
    'application.components.*',
    'application.front.*'
),

此外,最好通过GII为您的前端创建一个模块,并将控制器/动作放入模块中。因此,您可以在以下位置访问您的管理员:http://example.com/front/login 例如。

教程中说应该在index.php中包含front.php配置

但是您正在dev/index.php文件中导入local.php或main.php配置

请按照此处所述创建front.php和local.php


我希望这能解决你的问题。干杯

你有站点控制器吗?如果是,是否有actionError方法?路由“site/error”是Yii中声明的默认errorAction。但是从您发布的链接中,您需要对配置文件front.php和back.php进行一些修改。为应用程序的两端定义errorHandler,如下所示:…'components'=>array'errorHandler'=>array'errorAction'=>site/error',…@ragingprodigy更新了我的问题。我应该把errorhandler放在哪里?顺便说一句这样做的好处是什么?errorHandler将放置在配置文件的组件部分,而不仅仅是创建管理模块。其次,我看不出以这种方式创建管理模块有什么好处……这只是偏好的问题,这只是我的观点,您的dev/index.php的设置与博客中的示例不同。我指的是:需要一次$yii;需要一次$shortcuts;Yii::createWebApplication$config->run;Yii::createWebApplication$config->runEnd'front';
return CMap::mergeArray(
    require(dirname(__FILE__).'main.php'),
    array(
        'theme' => 'bootstrap',
        'components'=>array(
            'urlManager' => array(
            'urlFormat' => 'path',
            'showScriptName' => false,
            'rules' => array(
                '<controller:\w+>/<id:\d+>' => '<controller>/view',
                '<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
                '<controller:\w+>/<action:\w+>' => '<controller>/<action>',
            ),
        ),
        )
        // Put front-end settings there
    )
);
class SiteController extends Controller{}
'import' => array(
    'application.models.*',
    'application.components.*',
    'application.front.*'
),