网站建设_网站制作_网站设计_网站建设公司-广州ebingou

织梦dedecms栏目怎么无限分类?

2021-08-26 16:51


用织梦做过比较大型的网站,或者者建过多级栏目,并且对于用户进行栏目授权的人可能遇到过,织梦默认的是最高只能授权到二级栏目,再往下分就不可以了。这样就将整个指定的二级栏目及其下级的所有栏目都授权给了这个用户,但是有的时候,我们想要单独的给其授权某一个三级栏目或者四级栏目。那么目前织梦的这个栏目设置就不合适了。所以今天因为工作的需要尔做了一下改动。

不以解决问题的学习都是耍淌氓,即日既然遇到了这个问题,就该当想主意解决。首先我看了一下这样改动之后会产生的感化。第一,祭浠是如许的栏目可能是给外部的人用,以是要让之前所拥有的用户栏目授权不受感化,这样是最好了,因为尔看了一下这个授权栏目的规则,其实就是通过一个admin表的typeid字段,只有指定一个或多个二级栏目的id,就可以在栏目管理,和发布文章,编纂文章的模块检索出这个id对于应的一级栏目id和其下所有的多级栏目id,进行授权,这样他就可以管理这个整个的二级栏目了,那么我们要保证之前的所有用户的这个规则没有变,而又对新加的这用外部用户界说一个新的规则。之前写的url过滤,也是为了防止这些外部用户的。第二,要共时修改著作发布和作品编辑的文章栏目选项。所以,我们便要对于这些用户加以辨别了,辨别内部用户和外部用户,所以我们不妨在admin加一个字段。具体干法如下:尔不过简单将一下,这里提供下载,将对应的文件覆盖一停便可以了。

1、给admin表加多一个字段区分授权用户。尔加的是一个‘yesno’字段,1为授权用户,默认为0。即使你不能直接操作数据库可用sql语句

PHPALTER TABLE`dede_admin` ADD`yesno` SMALLINT( 1 ) NOT NULL DEFAULT'0' AFTER`loginip`1 ALTER TABLE`dede_admin` ADD`yesno` SMALLINT( 1 ) NOT NULL DEFAULT'0' AFTER`loginip`

2、修改系统用户管理的加加账户操作,

这个士∫修改之后将所有的栏目读出,默认的是只读到第两级栏那危做法是借鉴了文章发布时的栏目挑拣。

a.找到sys_admin_user_add.php这个文件,在头彩强加上这一句,require_once(DEDEADMIN.’/inc/inc_catalog_options.php’);入而加载必要的函数,

b.z找到$dsql->Execute(‘op’);将从他到include DedeInclude(‘templets/sys_admin_user_add.htm’);之间的部分没有包括这两个东东,换成$typeOptions .= GetOptionList(0,$cuserLogin->getUserChannel(),0)。这个你可以瞅一下,模板中议定$typeOptions得到的这些栏目列表,这个GetOptionList函数就能得回所哟的栏目。这你访问sys_admin_user_add.php这个文件试出来所有的栏目了。

3、第一步我们增添了一个yesno字段,那么尔们这里便应该在添添账户时用到了,找到sys_admin_user_add.htm模板,在安定验证串的反面加这样一个单选框

<tr>
<td height=”30″>是否为外部编辑人员:</td>
<td style=”text-align:left;”>
<input type=”radio” name=”yesno” checked value=”0″ />否
<input type=”radio” name=”yesno” value=”1″ />是
</td>
</tr>,然后在sys_admin_user_add.php文件的if($dopost==’add’)前提里面的$inquery改为这样
PHP$inquery = "INSERT INTO `dedecp_admin`(id,usertype,userid,pwd,uname,typeid,tname,email,yesno)VALUES('$mid','$usertype','$userid','$pwd','$uname','$typeid','$tname','$email','$yesno'); ";1 $inquery = "INSERT INTO `dedecp_admin`(id,usertype,userid,pwd,uname,typeid,tname,email,yesno)VALUES('$mid','$usertype','$userid','$pwd','$uname','$typeid','$tname','$email','$yesno'); ";

因为织梦已经自动将提交的name获取,所以这里$yesno不妨直接用。这访谒,我们要加加授权用户选是就不妨了。这里要注意的是,如果你选一个三级栏目,必须要将其所有的上司栏目选中,这样我玫邻停面的显示的时候本领正常运用。

3、这样便可以将栏手段id写入admin表的typeid了。下面要改的便是靠山核心-网站栏目处置的显示了。我们要让其只表露他授权的栏目。为了不影响以前的账户,那么我们可以做一下分流,通过这个yesno字段。栏目处置首先访问的是catalog_main.php这个文件,我们便在这里做分流,让畴前的不变,新加的访问新的模板和函数,我是将这个文献整体改为这样

PHPrequire_once(dirname(__FILE__)."/config.php");

//读与用户的新定义典型

global $dsql;
$id = $_SESSION['dede_admin_id'];
$dsql->SetQuery("select `yesno` from `dedecp_admin` where `id` = $id limit 0,1");
$dsql->Execute();
$row = $dsql->GetObject();
if(1==$row->yesno){
require_once(DEDEINC."/typeunit.class.admin1.php");
$userChannel = $cuserLogin->getUserChannel();
include DedeInclude('templets/catalog_main1.htm');
}else{
require_once(DEDEINC."/typeunit.class.admin.php");
$userChannel = $cuserLogin->getUserChannel();
include DedeInclude('templets/catalog_main.htm');
}12345678910111213141516 require_once(dirname(__FILE__)."/config.php");//读取用户的新界说类型global $dsql;$id = $_SESSION['dede_admin_id'];$dsql->SetQuery("select `yesno` from `dedecp_admin` where `id` = $id limit 0,1");$dsql->Execute();$row = $dsql->GetObject();if(1==$row->yesno){require_once(DEDEINC."/typeunit.class.admin1.php");$userChannel = $cuserLogin->getUserChannel();include DedeInclude('templets/catalog_main1.htm');}else{require_once(DEDEINC."/typeunit.class.admin.php");$userChannel = $cuserLogin->getUserChannel();include DedeInclude('templets/catalog_main.htm');}

这样通过yesno字段,让授权用户访问新的catalog_main1.html模板,停面我们就看一下这个模板和这个typeunit.class.admin1.php怎么写的需要用的文章我都打包好可以有需要和尔联系。只有照着里面说明上传一下便不妨。其实我的改动就是将一些敏感的对象去掉了一下等等。有兴趣的可以看一下,改动比较多的是typeunit.class.admin1.php这个文件,重新界说了一下他的读取规则。

5、然后就是文章加添和编辑的修改,在这里,我都是进行了一下用户类型的判断,进而调取不同的操纵。以文章添加为例,找到article_add.php。在($dopost!=’save’)的操纵中,最后的加上

PHPglobal $dsql;
$id = $_SESSION['dede_admin_id'];
$dsql->SetQuery("select `yesno` from `dedecp_admin` where `id` = $id limit 0,1");
$dsql->Execute();
$row = $dsql->GetObject();
if(1==$row->yesno){
include DedeInclude("templets/article_add1.htm");
}else{
include DedeInclude("templets/article_add.htm"); copyright dedecms
}12345678910 global $dsql;$id = $_SESSION['dede_admin_id'];$dsql->SetQuery("select `yesno` from `dedecp_admin` where `id` = $id limit 0,1");$dsql->Execute();$row = $dsql->GetObject();if(1==$row->yesno){include DedeInclude("templets/article_add1.htm");}else{include DedeInclude("templets/article_add.htm");}

然后在article_add1.htm中不过将$typeOptions = GetOptionList($cid,$cuserLogin->getUserChannel(),$channelid);改为$typeOptions = GetOptionList2($cid,$cuserLogin->getUserChannel(),$channelid);,然后在inc_catalog_options.php新定义了两个方法,这个大家可以下载望一停。同理编辑也是这样。到这里基本就完了,我的是织梦5.7的,不知道有没有版本问题,写来就是交流一下,本来写的实的很普遍,大家多多交流。

更多广州网站建设相关问题欢迎咨询我们!


声明:文章凡未标注本网均转载自其他平台,是出于传递更多信息之目的。若有来源标注错误或侵犯了您的合法权益,请作者持权属证明与本网联系,我们将及时更正、删除,谢谢。转载联系作者并注明出处:http://www.ebingou.com/jianzhanzhixun/2080.html

需求调研

企业网站建设

方案确认

公司网站建设

设计确认

企业网站设计

程序开发

企业建网站

项目质检

企业做网站

上线确认

手机网站建设

上线确认

外贸网站制作

上线确认

购物网站制作

上线确认

行业新闻

上线确认

建站资讯

服务支持

我们珍惜您每一次在线询盘,有问必答,用专业的态度,贴心的服务。

合作只是开始 服务永无止境!

管理系统

合作流程

网站建设流程从提出需求到网站建设报价,再到网页制作,每一步都是规范和专业的

教育医疗

常见问题

提供什么是网站定制?你们的报价如何?等网站建设常见问题

教育医疗

售后保障

网站建设不难,难的是一如既往的热情服务及技术支持。EbinGou知道:做网站就是做服务,就是做售后。