发一个自己写的通用后台(Yii2+metronic_v4.5.6) [ 2.0 版本 ]
项目简介
用Yii也快一年了,不过觉得对YII的了解十不足一。于是打算做一个通用后台,包括项目的基本功能,目前功能包括:配置管理、后台栏目、rbac、数据备份还原、广告、栏目、文章等。
项目刚开始,还有很多不足之处,希望多多指教。。
项目预览
本文由 e282486518 创作,采用 知识共享署名 3.0 中国大陆许可协议 进行许可。
可自由转载、引用,但需署名作者且注明文章出处。
e282486518
注册时间:2016-11-15
最后登录:2021-09-10
在线时长:28小时25分
最后登录:2021-09-10
在线时长:28小时25分
- 粉丝57
- 金钱645
- 威望40
- 积分1325
热门源码
- 基于 Yii 2 + Bootstrap 3 搭建一套后台管理系统 CMF
- 整合完 yii2-rbac+yii2-admin+adminlte 等库的基础开发后台源码
- 适合初学者学习的一款通用的管理后台
- yii-goaop - 将 goaop 集成到 Yii,在 Yii 中优雅的面向切面编程
- yii-log-target - 监控系统异常且多渠道发送异常信息通知
- 店滴云1.3.0
- 面向对象的一小步:添加 ActiveRecord 的 Scope 功能
- Yii2 开源商城 FecShop
- 基于 Yii2 开发的多店铺商城系统,免费开源 + 适合二开
- leadshop - 基于 Yii2 开发的一款免费开源且支持商业使用的商城管理系统
共 113 条评论
有没有谁遇到这个,文章添加的时候报这个错
Class '\kucha\ueditor\UEditor' not found
kucha\ueditor\UEditor是有的了
这里$this->parts['{input}'] = '
'.$class::widget($config).'';找不到你在view中调用widget出错?
Fatal error: Class 'Dotenv\Dotenv' not found in D:\www\yii2admin\common\env.php on line 65
应该是没有安装"vlucas/phpdotenv"扩展,查看vendor目录中是否有这个扩展
@e282486518 对安装之后可以,谢啦
求助下楼主,怎么解决
应该是没配置重写,导致的404错误
ueditor插件的使用,能不能普及一下,谢谢
controller
` <?php
class BusinessController extends BaseController
{
public function actions() { return [ 'upload'=>[ 'class'=>'kucha\ueditor\UEditorAction' ] ]; } public function actionAdd() { $model = $this->findModel(0); if(Yii::$app->request->isPost){ $data = Yii::$app->request->post('Business'); if($this->saveRow($model,$data)){ $this->success('操作成功',$this->getForward()); }else{ $this->error('操作错误'); } } $model->loadDefaultValues(); //$model->pid = Yii::$app->request->get('pid',0); return $this->render('create',[ 'model'=>$model ]); }?>`
views
`<?= $form->field($model, 'content')->widget('kucha\ueditor\UEditor',[
'clientOptions' => [ 'serverUrl' => Url::to(['public/ueditor']),//确保serverUrl正确指向后端地址 'lang' =>'zh-cn', //中文为 zh-cn 'initialFrameWidth' => '100%', 'initialFrameHeight' => '400', //定制菜单,参考http://fex.baidu.com/ueditor/#start-toolbar 'toolbars' => [ [ 'fullscreen', 'source', 'undo', 'redo', '|', 'fontsize', 'bold', 'italic', 'underline', 'fontborder', 'strikethrough', 'removeformat', 'formatmatch', 'autotypeset', 'blockquote', 'pasteplain', '|', 'forecolor', 'backcolor', '|', 'lineheight', '|', 'indent', '|', ], ['preview','simpleupload','insertimage','link','emotion','map','insertvideo','insertcode',] ] ]
],['class'=>'c-md-7'])->label('商家介绍'); ?>`
嗯,是不能使用了。ueditor插件最新版本和老版本不兼容。等会我升级后在上传
@e282486518 谢谢,麻烦您更新后,告诉我一声吧,我正用您的框架写一个项目
@qiuch87 已修正,将common\actions\UEditorAction.php的内容清空即可。已上传到GitHub了。
@e282486518 谢谢很感谢
@qiuch87 好像这个很早就有问题了,我这边插件没有升级所以一直没出问题。
作者你好,安装到了nginx配置这一步访问域名出现了白屏是什么原因,nginx配置如下
貌似没什么问题。。。var_dump输出一下试试看
该项目商城管理全部报404是没有这个功能还是?
是的,还没做商城。只是规划了数据库设计
菜单权限部分我用了感觉有点点问题,当前就是一个菜单下有很多子菜单.顶部主导航需要指定一个菜单入口,点击进去以后子菜单部分高亮. 问题是:新建了一个角色,权限分配的时候,主导航的这个入口没给权限,主导航其它的子菜单给了权限.然后,切换用户登录以后,给的权限的部分菜单就无法进入了.因为主导航指向进入的的入口没权限导致该主导航按钮不显示.不知道我这么说您是否明白.这个问题不知道有没有好的解决办法呢?
嗯,是的。如果二级菜单有权限它对应的一级菜单也必须有权限。这个可以在授权页面用js实现,当一级菜单没勾选时,勾选二级菜单时自动勾选一级菜单。这样的解决方案可以不?
谢谢你给出的建议,这个方案肯定是OK了,改动也不大,建议大家采用.另我参考了不少其它的yii管理后台.发现另一种处理方式,就是顶部的一级主导航全部使用js 去做动作响应.不另做跳转.这样,一级主导航不用指定入口action也没关系.点击以后,右侧导航直接使用ajax返回子菜单信息.谢谢您的回复,从您的项目里学到很多.
这时怎么回事?我什么都还没开始动
看样子是前台页面的models文件夹中没有User模型
您好,我是初学yii2的,想问下为什么项目从github下载下来运行报
应该是没有按照步骤安装吧?
1、下载源文件或git clone https://github.com/e282486518/yii2admin.git
2、composer install #安装依赖扩展
3、php ./yii install #配置环境、配置数据库并安装数据库
4、参照 doc 目录下的Nginx和Apache配置文件,配置服务器,并设置hosts文件。
楼主 请教下 谢谢
你那个地址联动 省(province)加载的时候就请求Request URL:http://www.yiiadmin.com/public/region?sid=0
我就composer 安装了select2 和 DepDrop 其他kartik下面就没有装了
而你省那里代码中没有体现出来请求public/region 只有 市 区 DepDrop中写了访问
/*
<?=\kartik\widgets\Select2::widget([ 'model' => $model, 'attribute' => 'province', //'data' => '', 'data' => ArrayHelper::map(\common\modelsgii\Region::find()->where(['parent_code'=>0])->asArray()->all(), 'code', 'fullname') ]);?> </div> 我只追踪到这个 <script type="text/javascript">window.datetimepicker_b88e8847 = {"autoclose":true,"format":"yyyy-mm-dd hh:ii","timezone":"Asia\/Shanghai","language":"zh-CN"};
var s2options_d6851687 = {"themeCss":".select2-container--krajee","sizeCss":"","doReset":true,"doToggle":false,"doOrder":false};
window.select2_06af509e = {"theme":"krajee","width":"100%","language":"zh-CN"};
window.depdrop_70a5be23 = {"depends":["order-province"],"url":"\/public\/region?sid=0","loadingText":"加载中"};
window.select2_190f3243 = {"allowClear":true,"theme":"krajee","width":"100%","placeholder":"选择","language":"zh-CN"};
window.depdrop_ed806f14 = {"initialize":true,"initDepends":["order-province"],"depends":["order-city"],"url":"\/public\/region?sid=0","loadingText":"加载中"};
*/
解决了!!!
大神请问一下,你的css和js文件 同时有压缩版和未压缩版两份,这是用什么方式压缩的。 如果我要改动,又怎么操作最好呢?在线等...谢谢
原来那是 metronic的静态资源 我还以为可以自动压缩你写的所有静态资源呢
是的,这个是metronic前端默认提供的压缩和非压缩两种。线上就用压缩的。
composer安装时出现
Package league/url is abandoned, you should avoid using it. Use league/uri instead.
这个不影响使用的。yii2-glide需要使用到这个模块,yii2-glide模块的作用就是可以生成像阿里云ssd中图片裁切功能。
Warning: require(D:\phpStudy\WWW\yii2admin\backend\web/../../vendor/autoload.php): failed to open stream: No such file or directory in...
下载的文件里面没有vendor文件夹,你们是怎么使用的了的。。。
这个需要先composer install
@e282486518 就是install后的,你看楼下也是这样,install后没有vendor文件夹
我下载的目录少什么东西吗
上传图片加入下面这段代码,上传图片会失败.
if ($saveDB) {
$pic = $this->savePic($url); if (!$pic) { $this->ajaxReturn($json);
}
$json['data']['id'] = $pic['id']; $json['data']['url'] = $pic['path'];
}
楼主你好,我照着你的代码,新增了一个一级菜单和对应的二级菜单,但是在二级菜单对应的页面做添加操作时,页面跳转后二级菜单不显示,对应的一级菜单高亮效果也没有了,实在找不到问题出在哪里?求楼主帮忙看下是哪里少了什么。
新手,跪谢!!!
public static function getMenus($rule = 'index/index'){
$menus = []; /* 获取一级栏目 pid=0 and hide=0 */ $menus['main'] = static::find()->where(['pid'=>0, 'hide'=>0])->orderBy('sort ASC')->asArray()->all(); $menus['child'] = []; //设置子节点 /* 面包屑导航 */ $nav = static::getBreadcrumbs($rule); var_dump($nav); var_dump($menus['main']); /* 获取一级栏目 */
好像是这里的$nav获取不到值,但是不知道怎么决绝
你要在 系统-》菜单管理-》仓库管理下添加一个‘添加’栏目,并将之添加入你所在系统组的权限中即可
栏目相关的都是在 menu表中,你可以看一下在里面添加了没有。
@e282486518 谢谢!已经好了 好久没登录账号了 才看到 抱歉啊!
$ php yii install
Exception 'yii\base\InvalidConfigException' with message 'The configuration for the "log" component must contain a "__class" element.'
in D:\Wnmp\html\yii2admin\vendor\yiisoft\yii2\di\ServiceLocator.php:206
Stack trace:
#0 D:\Wnmp\html\yii2admin\vendor\yiisoft\yii2\di\ServiceLocator.php(262): yii\di\ServiceLocator->set('log', Array)
楼主,install直接提示这个错误。已composer install过。
从composer上下下来的项目,使用composer install就报这个错误,请问是什么原因啊?
学习了!谢谢!
楼主好,刚刚把楼主的项目安装学习了一遍,收益匪浅,当然,我也修改了不少东西,.env那个文件我觉得是没有必要的,全局env方法十分鸡肋,代码看起来比较怪异难懂,去掉要好理解些,然后,安装脚本比较赞,很牛逼,截个图顶下楼主