请问fec admin在yii controllers下自己创建 CURD的demo

文档问题 · wakasann · 于 6年前 发布 · 2014 次阅读

根据 FEC ADMIN 后台框架与菜单路由问题 的答案,可以运行 fec admin了,不报Http 500错误,在添加了菜单并给用户分配了菜单权限

点击首页之后,画面就变成

已按照Github Yii2 fec admin和作者关于fec admin的文档 说明在yii2 advanced版本中安装和配置好了。

请问应该如何使用到fec admin的 布局和CURD操作?

共收到 5 条回复 问题提问
wakasann#16年前 0 个赞

关于布局部分,我尝试将 views/layouts/main.php 只有 <?php echo $content;?>,和 assets/AppAsset.php文件中的 $depends 属性的值 'yii\bootstrap\BootstrapAsset' 这个注释掉了,清一次缓存之后,刷新一次画面,再访问site/index 就没有boostrap的样式了。但是使用fec admin的CURD目前还不清楚。

Fecmall#26年前 0 个赞

1.你的界面怎么那么乱?现在弄好了吗?

2.fecadmin,本身就没有加载boostrap的东西,asset没有用yii2的,是自己配置的,你如果说有,给出你的证据

3.你说的curd,指的是如何加一个新的菜单和相应的功能吗?

3.1添加一个菜单

3.2给当前用户所在的role组添加这个菜单的权限

3.3刷新缓存(必须)

3.4你就可以看到这个菜单了,你点击这个菜单,会报错,说找不到。 如果你新建菜单添加的是/my/test ,那么你需要新建相应的controller文件 和里面的action方法,

3.5具体你参考fecadmin里面的文件,如果你做增删改查,可以参考fecadmin原来有的功能,快速的做增删改查: https://github.com/fecshop/yii2_fec_admin/blob/master/controllers/AccountController.php

wakasann#36年前 1 个赞

@Terry [[#2楼](#comment2)](#comment2) 谢谢你详细的回复

  1. 已处理好,AppAsset 注释掉 yii\bootstrap\BootstrapAsset 这个,已可以
  2. 这个是我刚安装的 yii2 advanced,在按照fec admin 说明文档已配置好后台。这是我没有修改默认的 AppAsset 导致的
  3. 对的,谢谢你的回复,我已经是按照 https://github.com/fecshop/yii2_fec_admin/blob/master/controllers/AccountController.php 文件,自己写好了Index页面 读取一个表的数据并显示出来了。

我自己加了一个BaseController

<?php

namespace backend\controllers;

use fecadmin\FecadminbaseController;

class BaseController extends FecadminbaseController{

	public function getViewPath()
	{
		return Yii::getAlias('@app/views') . DIRECTORY_SEPARATOR . $this->id;
	}

	public function getBlock($blockname=''){
		$_currentNameSpace = \fec\helpers\CModule::param("_currentNameSpace");
		if(empty($_currentNameSpace)){
			$message = "Modules Param '_currentNameSpace'  is not set , you can set like fecadmin\\Module";
			throw new \yii\web\HttpException(406,$message);
		}
		$modulesDir = "\\".$_currentNameSpace."\\block\\";
		$url_key = \fec\helpers\CUrl::getUrlKey();
		$url_key = trim($url_key,"/");
		//因为我不是基于模块开发,所以Url只有2段,所以截取部分暂时注释掉
		//$url_key = substr($url_key,strpos($url_key,"/")+1 );
		$url_key_arr = explode("/",$url_key);
		if(!isset($url_key_arr[1])) $url_key_arr[1] = 'index';
		if($blockname){
			$url_key_arr[count($url_key_arr)-1] = ucfirst($blockname);
		}else{
			$url_key_arr[count($url_key_arr)-1] = ucfirst($url_key_arr[count($url_key_arr)-1]);
		}

		$block_space = implode("\\",$url_key_arr);
		$blockFile = $modulesDir.$block_space;
		//echo $blockFile;exit;
		return new $blockFile;

	}
}

和在 config/params.php中加了 '_currentNameSpace' => 'backend', 这个参数。

Fecmall#46年前 0 个赞

OK,有问题继续发帖就好。这个扩展很久没有细看了,现在都在做fecshop这个系统

wakasann#56年前 0 个赞

@Terry #4楼 理解,谢谢你的回复:+1:

添加回复 (需要登录)
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册
Your Site Analytics