这是我写的学习RageFrame的第二篇,这一篇给大家分享下我是如何创建路由,导入外部js,css文件的,这里写下我的全部流程,希望对大家有所帮助。

话不多说,直接开始,在上一章中,我们已经把项目实例化到本地了(查看点击这里),但是我发现,用户名和密码是随机出来了,难记,这里给大家先分享如何修改默认用户名和密码

1.我们先登录到后台,点击用户名的下标栏,到这里修改密码。

2.密码修改完成后,打开项目数据库,打开rf_backend_member表格,修改这里的用户名后点击保存即可(真*物理修改)

项目实例化后,我们看下大致的目录结构

按照YII2官方文档的指示,会自带一个路由,modes生成器,我们直接网站后加/gii

但如果不是localhost访问时页面会报错,这个时候需要修改配置文件,这里放下解决方法

urlManager配置了后缀为 .html,在使用 /gii 访问时,由于没有后缀,YII2框架在解析URL时,就直接返回404了,所以在配置了 suffix 属性的时候,就需要加上.html来访问,或者不配置’suffix’属性即可

如果你通过本机以外的机器访问 gii,请求会被出于安全原因拒绝,所以需要配置 gii 为其添加允许访问的 IP 地址

'gii' => [

'class' => 'yii\gii\Module',

'allowedIPs' => ['127.0.0.1', '::1', '*.*.*.*'] // 按需调整这里

]

接下来是创建路由,这里接入我找到的最全流程

也可点击前往

选择"Module Generator"(模块生成器),将会看到如图所示的画面。

当光标定位到"Module Class"时,会有一个提示框显示出来,提示"Module Class"必须是完整的路径名和类名,这里需要输入"app\modules\admin\Module"。在"Module ID"输入框中输入"admin",然后点击"Preview"按钮,该按钮的功能是展示所有将会被生成的文件,并且这些文件允许在创建之前进行预览,如图所示。

点击"Generate"按钮,生成所有文件。因为Web服务器进程需要写入权限,所以要确保"modules"文件夹对于该应用程序是可写入的。模块的基本目录结构创建成功后,会看到如图所示的页面。

该页面中有关于模块的配置使用说明和,只需要修改应用主配置文件,生成的模块就可以被正确调用。

到这里,我们的路由就创建好了,但是你会发现,明明照着流程来了,就是访问不了

这里给出我的解决方法

改两处
一处是改 common/models/Country里面的
namespace app\models; 为 namespace common\models; 另一处是 改\frontend\controllers\CountryController.php 里面的 namespace app\controllers; use yii\web\Controller;
use yii\data\Pagination;
use app\models\Country;
为 namespace frontend\controllers; use yii\web\Controller;
use yii\data\Pagination;
use common\models\Country;

最后解决,成功访问

接下来分享如何导入外部js,css文件,找到文件目录中的\web\backend\resources\plugins,放入你的文件

然后修改\backend\assets\AppAsset.php文件

 public $basePath = '@webroot';
public $baseUrl = '@web/resources'; public $css = [
'plugins/toastr/toastr.min.css', // 状态通知
'plugins/fancybox/jquery.fancybox.min.css', // 图片查看
'plugins/layui-v2.5.6/css/layui.css',
'plugins/cropper/cropper.min.css',
'css/rageframe.css',
'css/rageframe.widgets.css',
]; public $js = [
'plugins/layer/layer.js',
'plugins/layui-v2.5.6/layui.js',
'plugins/sweetalert/sweetalert.min.js',
'plugins/fancybox/jquery.fancybox.min.js',
'js/template.js',
'js/rageframe.js',
'js/rageframe.widgets.js',
];

在这里添加上对应文件的路径即可。

如果对您有所帮助,欢迎您点个关注,我会定时更新技术文档,大家一起讨论学习,一起进步。

RageFrame学习笔记:创建路由+导入layui的更多相关文章

  1. ArcGIS案例学习笔记_3_2_CAD数据导入建库

    ArcGIS案例学习笔记_3_2_CAD数据导入建库 计划时间:第3天下午 内容:CAD数据导入,建库和管理 目的:生成地块多边形,连接属性,管理 问题:CAD存在拓扑错误,标注位置偏移 教程:pdf ...

  2. vue2.0学习笔记之路由(二)路由嵌套+动画

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. vue2.0学习笔记之路由(二)路由嵌套

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. vue学习笔记(十)路由

    前言 在上一篇博客vue学习笔记(九)vue-cli中的组件通信内容中,我们学习组件通信的相关内容和进行了一些组件通信的小练习,相信大家已经掌握了vue-cli中的组件通信,而本篇博客将会带你更上一层 ...

  5. WebGL three.js学习笔记 创建three.js代码的基本框架

    WebGL学习----Three.js学习笔记(1) webgl介绍 WebGL是一种3D绘图协议,它把JavaScript和OpenGL ES 2.0结合在一起,通过增加OpenGL ES 2.0的 ...

  6. Tornado学习笔记(二) 路由/post/get传参

    本章我们学习 Tornado 的路由传参等问题 路由 路由的匹配 Tornado的路由匹配采用的是正则匹配 一般情况下不需要多复杂的正则,正则的基本规则如下(站长之家) 举个例子 (r'/sum/(\ ...

  7. vue常用操作及学习笔记(路由跳转及路由传参篇)

    路由跳转 - 超链接方式跳转 html: <div id="app"> <h1>Hello App!</h1> <p> <!- ...

  8. 巨杉学习笔记 | SequoiaDB MySQL导入导出工具使用实战

    本文来自社区用户投稿,感谢这位小伙伴的技术分享 巨杉数据库架构简介 巨杉数据库作为分布式数据库是计算和存储分离架构,由数据库实例层和存储引擎层组成的.存储引擎层负责数据库核心功能比如数据读写存储以及分 ...

  9. EntityFramework Core 学习笔记 —— 创建模型

    原文地址:https://docs.efproject.net/en/latest/modeling/index.html 前言: EntityFramework 使用一系列的约定来从我们的实体类细节 ...

  10. HTML&CSS基础学习笔记—创建列表

    创建一张表格 很多时候我们需要在网页上展示一些数据,使用表格可以很好的来展示数据. 在HTML中<table>标签定义 表格. <table> </table> 添 ...

随机推荐

  1. Lambda 表达式总结

    1 Lambda 表达式简介 ​ Lambda 表达式是 JDK 8 的新特性,主要用于简化匿名内部类的定义,帮助用户方便.高效地书写优雅的代码. ​ Lambda 表达式实现的必须是一个接口,并且接 ...

  2. Spring Boot图书管理系统项目实战-4.基础信息管理

    导航: pre:  3.用户登录 next:5.读者管理 只挑重点的讲,具体的请看项目源码. 1.项目源码 需要源码的朋友,请捐赠任意金额后留下邮箱发送:) 2.页面设计 出版社管理.语种管理.书架管 ...

  3. Oracle Linux6下安装Oracle 12c实战

    经过N次安装尝试吐血总结,希望对大家有所帮助,同时做下记录备忘: 总结:安装前的准备工作是关键!!!Check and recheck! 参考:http://docs.oracle.com/cd/E1 ...

  4. 使用 MSYS2 编译 exe 可执行程序

    MSYS2 是一个在 Windows上 运行的软件环境,它提供了一种在 Windows 上使用 GNU 工具链的方式,包括 GCC 编译器和 GNU Make 构建系统. 在 MSYS2 中,你可以使 ...

  5. 硬件开发笔记(八): 硬件开发基本流程,制作一个USB转RS232的模块(七):创建基础DIP元器件(晶振)封装并关联原理图元器件

    前言   有了原理图,可以设计硬件PCB,在设计PCB之间还有一个协同优先动作,就是映射封装,原理图库的元器件我们是自己设计的.为了更好的表述封装设计过程,本文描述了创建晶振封装(DIP),将原理图的 ...

  6. Ubuntu 安装 Python3.6.7

    注意: 不要卸载ubuntu自带的python版本: ubuntu下不同版本的python可以共存,可直接安装python3.6. 1.升级包索引和软件 sudo apt update sudo ap ...

  7. itertools.chain.from_iterable()将嵌套列表合并成一个

    from itertools import chain a = [[1,2],[3,4]] print(chain.from_iterable(a)) # [1,2,3,4]

  8. queryset高级用法:select_related

    在提取某个模型的数据的同时,也提前将相关联的数据提取出来.比如提取文章数据,可以使用select_related将author信息提取出来,以后再次使用article.author的时候就不需要再次去 ...

  9. 记一个 Andorid 生成文件失败的bug

    Android生成文件失败:java.lang.IllegalStateException:Failed to build unique file: /storage/emulated/0/... 1 ...

  10. React 组件之状态

    没有什么是不可能的,只是需要找到正确的方法. 1. 什么是状态? 状态就是组件内部特有数据的载体(组件数据挂载方式),改变数据页面就会刷新,由组件自己设置和更改,也就是说由组件自己产生.维护,使用状态 ...