对某一篇文章,某一种产品等设置访问权限修改教程 |
对某一篇文章,某一种产品等设置访问权限修改教程
最近失业在家,正好接到朋友公司做网站的项目,其他都弄好了,就差访问权限这一块功能了,查找论坛中 没有此功能的教程,苦于重疾无药,只得自己研究,经过两天查资料奋斗,终于DIY出来了,高兴之余,不敢独 享,拿出来与大家分享!经过实战检验,文章与产品模块可实现对某一种产品访问权限的控制。其他模块的修改 也是一样吧。刚入门一个星期,不是科班,没系统学过代码,不熟悉代码,第一次做教程,对JTBC认识也较浅显 ,其中有什么错误希望大家指正,谢谢。资料查阅主要在论坛,特别感谢大象教程中对“关于我们”的修改章节 的启示。感谢!交流QQ:781971540 一、先是想对整个栏目的设置访问权限修改。 (一)整个栏目的访问权限: 1、打开article栏目下面的 index.asp 第一行 与 <% 之间添加: <!--#include file="../passport/common/api/user.asp"--> 2、然后在下面的 <% 的里面,添加: Call user_init() Call isuserlogin("0") 很简单,这样就达到只有登录会员才可以访问的控制了。 二、下面是想对某一篇文章设置访问权限修改,也是本教程的重点与价值所在。 (二)文章模块(article) 等中对某一篇文章或产品访问权限修改(只有会员才可以访问等的权限): 1、在数据库jtbc_article表中增加一项,比如名称为 a_popedom类型为文本,其他默认. 2、修改article后台模板样式(后台修改模板处输入article.tpl.manage) add模板适当位置,如标题下面,增加一行: <tr class="green"> <td height="25">{$=itake('manage.popedom','lng')}</td> <td>{$=sel_usergroup("popedom", "checkbox", "")}</td> </tr> edit模板适当位置,如标题下面,增加一行: <tr class="green"> <td height="25">{$=itake('manage.popedom','lng')}</td> <td>{$=sel_usergroup("popedom", "checkbox", "{$popedom}")}</td> </tr> 3、在article文件夹中,修改\article\common\incfiles\manage_config.asp, 在Sub jtb_cms_admin_manage_adddisp()部分添加一行: rs(cfname("popedom")) = left_intercept(format_checkbox(get_str(request.Form("popedom"))), 50) 在Sub jtb_cms_admin_manage_editdisp()部分添加一行: rs(cfname("popedom")) = left_intercept(format_checkbox(get_str(request.Form("popedom"))), 50) 4、在\article\common\incfiles\module_config.asp中的 <% '**************************************************** ' Jetiben CMS Power by Jetiben.com ' Email: jetiben@hotmail.com ' Web: http://www.jetiben.com/ '**************************************************** 在这里加入下面一段判断语句代码 Function pp_check_popedom(ByVal strpopedom) Dim tstrpopedom: tstrpopedom = get_str(strpopedom) If check_null(tstrpopedom) Then pp_check_popedom = true Else Dim tutype: tutype = get_userinfo("utype", nusername) If cinstr(tstrpopedom, tutype, ",") Then pp_check_popedom = true Else pp_check_popedom = false End If End If End Function 5、在\article\common\incfiles\module_config.asp中的(与上面是同一个文件,已经打开): Function jtbc_cms_module_detail() Dim tid, tmpstr tid = get_num(request.querystring("id"),0) sqlstr = "select * from " & ndatabase & " where " & nidfield & "=" & tid & " and " & cfname ("hidden") & "=0" Set rs = conn.Execute(sqlstr) If Not rs.eof Then 加到这地方 Dim ttpoic: ttpoic = htmlencode(get_str(rs(cfname("topic")))) 加入代码: If Not pp_check_popedom(rs(cfname("popedom"))) Then Call imessage(itake("module.popedom", "lng"), -1) 6、在\article\common\language\manage.jtbc 的 <?xml version="1.0" encoding="utf-8"?> <xml mode="jtbc" author="jetiben"> <configure> <node>item</node> <field>disinfo,chinese</field> <base>language_list</base> </configure> <language_list> 加到这 </language_list> </xml> 加入代码: <item> <disinfo><![CDATA[popedom]]></disinfo> <chinese><![CDATA[阅读权限]]></chinese> </item> 7、在\article\common\language\module.jtbc 的 <?xml version="1.0" encoding="utf-8"?> <xml mode="jtbc" author="jetiben"> <configure> <node>item</node> <field>disinfo,chinese</field> <base>language_list</base> </configure> <language_list> 加到这 </language_list> </xml> 加入代码: <item> <disinfo><![CDATA[popedom]]></disinfo> <chinese><![CDATA[抱歉,您并没有阅读此文的权限]]></chinese> </item> 8、在\article\index.asp中 (1)在 index.asp 第一行 与 <% 之间添加: <!--#include file="../passport/common/api/user.asp"--> (2)然后在下面的 <% 的里面,添加: Call user_init() 9、在\article\manage.asp中 在 manage.asp 第一行 与 <% 之间添加: <!--#include file="../passport/common/api/user.asp"--> 按照上面的方法做完所有修改就可以了。 |
转载于:https://blog.51cto.com/ljllovehome/730225