问题描述
所以我尝试在 Yii2 Basic 中使用 Admin Lte 包。我已经在网上学习了一些关于如何安装它的教程。安装后看起来很棒,但我遇到了问题。 我的问题是,我希望这个新视图只有在用户通过其他身份验证时才能工作,它应该遵循默认的 Yii2 应用程序。 我如何在 web.PHP 中设置此条件,或者是否有其他出路,我想知道。
Config/web.PHP
'view' => [
'theme' => [
'pathMap' => [
'@app/views' => '@vendor/dmstr/yii2-adminlte-asset/example-views/yiisoft/yii2-app'
],],
解决方法
作为一个想法,您可以创建 2 个入口点:
-
Widget _buildHH(){ return Theme( data: Theme.of(context).copyWith(primaryColor: Colors.orange),child: Expanded( child: TextFormField( maxLength: 2,cursorColor: Colors.orange,style: TextStyle(color: Colors.orange),decoration: InputDecoration( border: OutlineInputBorder(),labelText: 'HH' ),onEditingComplete: () => FocusScope.of(context).nextFocus(),keyboardType: TextInputType.number,validator: (String value){ return null; },onSaved: (String value){ _HH = value; },),) ); }
(我们称之为@app/web/index.php
) -
main
(我们称之为@app/web/adminlte.php
)
adminlte
将包含自己的配置文件(其中没有管理实现)。index.php
将连接其配置文件(其中具有管理实现)。
两个入口点都会触发 adminlte.php
来运行 Yii 应用程序。
在 Web 服务器端配置 URL 拆分。 例如:
-
Application::run()
-->example.com
-
index.php
-->cp.example.com
或
-
adminlte.php
-->example.com/cp/
-
adminlte.php
-->example.com
或以您喜欢的其他方式。
另外,添加从一个应用程序到另一个应用程序的重定向:
如果用户打开基于 index.php
的 URL 并且他没有被授权,则将他重定向到 adminlte
。
如果用户打开基于 main
的 URL 并且他已获得授权,则将他重定向到 main
。
因此,您将获得 2 个入口点(2 个独立的 Yii 应用程序)。 但与此同时,他们将能够使用相同的数据库和相同的代码库(模型、身份验证等)毫无问题地工作。