说明
这是一篇关于清雨博客开发的进阶篇,这里会给出一些开发上的技巧以及开发注意说明,这里有两部分内容组成,第一部分为开发注意事项,第二部分为开发示例
关于网址路径和图片路径的说明
由于伪静态和支持二级目录的缘故,清雨设定了两个重要的常量:URL
HOME
常量URL
说明
首先我们看一下URL
的值是怎样的,例如 $a = URL.'admin/user-manage'
开启伪静态的状态下,$a 的值为:/admin/user-manage
未开启伪静态的状态下,$a 的值为:?admin/user-manage
,注意,这里多了一个问号
如果清雨项目部署在二级目录下,例如/test/中,那么$a的值也会发生变化
开启伪静态的状态下,$a 的值为:/test/admin/user-manage
未开启伪静态的状态下,$a 的值为:/test/?admin/user-manage
,注意,这里多了一个问号
此时你应该了解到URL的作用了,没错,使用它的话能兼容伪静态和支持二级目录,这样对你项目的移植性具有了兼容,不管清雨程序复制到什么环境中,都能保持正常运行,如果你将跳转链接写死的话,/admin/user-manage 那么当项目移植到二级目录下,该访问链接就会报错。
URL
主要用于应用开发中的网址跳转,例如我们需要给后台的侧栏菜单中添加一个自定义的菜单:
//这里a标签的href中的链接就需要拼接URL常量了 hook('admin_sidebar_menu_3','<a href="'.URL.'admin/user-manage">用户管理</a>');
常量HOME
说明
接下来介绍HOME
,例如 $a = HOME.'admin/user-manage/style/main.css'
大家都知道引用文件,不管是样式还是图片,跟伪静态没啥关系,所以这里的HOME只是针对二级目录而已。
当程序部署在项目的根目录下,$a 的值为:/admin/user-manage/style/main.css
当程序部署在项目的二级目录test文件夹下,$a 的值为:/test/admin/user-manage/style/main.css
HOME
主要用于应用开发中的模板引入文件,例如给后台引入一个自定义的css样式
//这里拼接HOME hook('admin_css',HOME.'ext/demo/style/main.css');
提示:使用URL
HOME
时,后面的字符串第一位不需要为斜杠/
关于图文上传说明
使用sx.upload方法时,这里点击按钮,执行函数:sx.upload('.files-uploadh') 的时候,这个函数其实做了两件事
第一件事:如果input元素上有这个class:files-uploadh,那么它的value会被赋值为:上传成功后的图片url
第二件事:如果img元素有这个class,那么它的src会被赋值为成功后的图片url
所以你的input和img元素都要有这个class哦!
提示,这里的input的type可以为hidden,也可以为text,这里主要用于提交表单
<div class="form"> <div class="key">图片上传:</div> <div class="value"> <div class="img-upload"> <input type="hidden" name="img" class="img-upload" value="{$ini.ext-sdk.img}" /> <img src="{$ini.ext-sdk.img}" class="img-upload" alt="" /> <div class="img-upload-btn" onclick="sx.upload('.img-upload')">点击修改</div> </div> <small>这里的input和img的class要保持一致,如此才会将上传的图片的链接赋值给这两个元素哦</small> </div> </div>
阿萨德
这里能留言吗