dedecms获取当前栏目id(获取当前页面)

在网站开发与维护过程中,我们经常需要获取当前访问的栏目ID,以便进行后续的页面跳转、内容展示等操作。DedeCMS作为一款功能强大的内容管理系统,自然也提供了获取当前栏目ID的方法。本文将深入解析DedeCMS获取当前栏目ID的实用技巧,并结合实际案例进行讲解,帮助开发者更好地掌握这一技能。

一、DedeCMS获取当前栏目ID的基本方法

在DedeCMS中,获取当前栏目ID主要有以下几种方法:

1. 使用$_GET全局变量

在DedeCMS中,栏目ID通常通过$_GET全局变量传递。例如,当访问某个栏目页面时,URL可能会包含类似“/list-123.html”的参数,其中“123”即为栏目ID。在PHP代码中,可以通过以下方式获取:

“`php

$cid = $_GET[‘cid’];

“`

2. 使用$_SESSION全局变量

在某些情况下,栏目ID可能存储在$_SESSION全局变量中。例如,用户浏览了某个栏目后,栏目ID会被保存到$_SESSION中,以便在后续页面中直接使用。获取方式如下:

“`php

$cid = $_SESSION[‘cid’];

“`

3. 使用DedeCMS内置函数

DedeCMS提供了一些内置函数,可以方便地获取当前栏目ID。以下是一些常用的函数:

  • `GetCurCategoryId()`:获取当前访问的栏目ID。
  • `GetCategoryIdByRewrite()`:根据URL重写规则获取栏目ID。
  • `GetArcId()`:获取当前文章ID。

二、DedeCMS获取当前栏目ID的技巧与注意事项

在获取当前栏目ID时,需要注意以下几点:

1. URL参数传递:确保URL中包含栏目ID参数,并且参数名称与$_GET全局变量匹配。

2. 会话存储:如果使用$_SESSION存储栏目ID,需要注意会话的有效性,避免会话过期导致栏目ID丢失。

3. 安全防范:避免直接将$_GET或$_SESSION中的栏目ID用于数据库查询等操作,防止SQL注入等安全问题。

4. 代码优化:在使用DedeCMS内置函数获取栏目ID时,尽量选择合适的函数,避免不必要的性能损耗。

三、DedeCMS获取当前栏目ID的案例分析

以下是一些实际案例,展示如何在DedeCMS中获取当前栏目ID:

案例一:根据URL获取栏目ID

“`php

// 获取URL中的栏目ID

$cid = $_GET[‘cid’];

// 查询数据库获取栏目信息

// …

// 展示栏目信息

// …

>

“`

案例二:根据会话获取栏目ID

“`php

// 检查会话中是否存在栏目ID

if (!isset($_SESSION[‘cid’])) {

// 获取URL中的栏目ID并存储到会话中

$cid = $_GET[‘cid’];

$_SESSION[‘cid’] = $cid;

} else {

$cid = $_SESSION[‘cid’];

}

// 查询数据库获取栏目信息

// …

// 展示栏目信息

// …

>

“`

案例三:使用DedeCMS内置函数获取栏目ID

“`php

// 使用GetCurCategoryId()函数获取当前栏目ID

$cid = GetCurCategoryId();

// 查询数据库获取栏目信息

// …

// 展示栏目信息

// …

>

“`

四、总结

本文详细介绍了DedeCMS获取当前栏目ID的实用技巧和注意事项,并结合实际案例进行了讲解。通过学习本文,开发者可以轻松掌握获取当前栏目ID的方法,为网站开发与维护提供有力支持。在实际应用中,还需根据具体需求选择合适的方法,并注意安全防范。希望本文对大家有所帮助!

dedecms列表页如何调用子栏目列表以及子栏目的名称

dedecms栏目名称的调用方法:{dede:field name=”typename”}调用当前栏目的名称

{dede:channel type='son' row='5'}<a href=”[field:typeurl/]”>[field:typename/]</a>{/dede:channel}调用该顶级频道下所有字栏目,row代表调用5条

{dede:type typeid='栏目id'}<a href=”[field:typeurl/]”>[field:typename/]</a>{/dede:type}表示调用指定id的栏目,只能调用一个。

{dede:channel type='top'}<a>[field:typename/]</a>{/dede:channel}调用子栏目的当前顶级栏目名称。

调用顶级栏目名称示例代码:

{dede:field.titlerunphp=’yes’}list($toptype,$sontype)=split(‘/’,@me);@me=$toptype;{/dede:field.title}

dedecms也叫织梦内容管理系统,是一款知名的PHP开源网站内容管理系统,以简单、实用、开源而闻名,DedeCms免费版的主要目标用户在个人站长,功能更专注于个人网站或中小型门户的构建,当然也不乏有企业用户和学校等在使用。

dedecms 列表点击加载更多读取数据库内容怎么实现

使用方法:

1、加载是用AJAX,需要先引用jQuery

2、模板在arcajax.php第二十八行请自行按需修改

3、arcajax.php放到plus目录下

HTML和js代码:

<divid=”loading27″>加载中</div>

<ahref=”javascript:;”id=”getMore”pnum=”2″class=”index-morebgwmt15″>浏览更多案例……</a>

<scripttype=”text/javascript”>

$(“#getMore”).click(function(){

var_this=$(this),

pnum=_this.attr(“pnum”),//分页码

typeid=1;//栏目ID

if(pnum==0){

returnfalse;

}

$(“#loading27”).show();

$.ajax({

url:'/plus/arcajax.php',

data:{typeid:typeid,pnum:pnum},

success:function(data){

if(data!=''){

$(“.index-list”).append(data);//数据显示到页面

_this.attr(“pnum”,Number(pnum)+1);//分页+1

}else{

_this.text(“没有更多的数据”);

_this.attr(“pnum”,0)

}

$(“#loading27”).hide();

}

})

returnfalse;

})

</script>

PHP代码(arcajax.php):

<?php

require_once(dirname(__FILE__).”/../include/common.inc.php”);

require_once(DEDEINC.'/channelunit.class.php');

require_once(DEDEINC.'/taglib/arcpagelist.lib.php');

$pnum=empty($pnum)?0:intval(preg_replace(“/[^\d]/”,'',$pnum));

$typeid=empty($typeid)?0:intval(preg_replace(“/[^\d]/”,'',$typeid));

if($typeid==0||$pnum==0)die(“RequestError!”);

if($typeid>0)

{

$titlelen=AttDef($titlelen,30);

$infolen=AttDef($infolen,160);

$imgwidth=AttDef($imgwidth,120);

$imgheight=AttDef($imgheight,120);

$listtype=AttDef($listtype,'all');

$arcid=AttDef($arcid,0);

$channelid=AttDef($channelid,0);

$orderby=AttDef($orderby,'default');

$orderWay=AttDef($order,'desc');

$subday=AttDef($subday,0);

$line=$row;

$artlist='';

//通过页面及总数解析当前页面数据范围

$strnum=($pnum-1)*12;

$limitsql=”LIMIT$strnum,12″;

$innertext='<li[field:globalname=”autoindex”runphp=”yes”]if(@me%3==0)@me=\'class=”mrnone”\';else@me=””;[/field:global]>

<div><ahref=”[field:arcurl/]”title=”[field:title/]”><imgsrc=”[field:litpic/]”width=”278″height=”245″></a></div>

<h3><ahref=”[field:arcurl/]”title=”[field:title/]”>[field:title/]</a></h3>

<p>[field:descriptionfunction=”cn_substr(@me,150)”/]</p>

<spanclass=”more”><ahref=”[field:arcurl/]”>浏览案例</a></span>

</li>';//模板

//处理列表内容项

$query=”SELECTarc.*,tp.typedir,tp.typename,tp.corank,tp.isdefault,tp.defaultname,tp.namerule,tp.namerule2,tp.ispart,

tp.moresite,tp.siteurl,tp.sitepathFROM`#@__archives`arcLEFTJOIN`#@__arctype`tpONarc.typeid=tp.id

WHEREarc.typeidIN(“.GetSonIds($typeid).”)ORDERBYarc.sortrankdesc$limitsql”;

$dsql->SetQuery($query);

$dsql->Execute('al');

$dtp2=newDedeTagParse();

$dtp2->SetNameSpace('field','[',']');

$dtp2->LoadString($innertext);

$GLOBALS['autoindex']=0;

$ids=array();

for($i=0;$i<12;$i++)

{

for($j=0;$j<1;$j++)

{

if($row=$dsql->GetArray(“al”))

{

$ids[]=$row['id'];

//处理一些特殊字段

$row['info']=$row['infos']=cn_substr($row['description'],$infolen);

$row['id']=$row['id'];

if($row['corank']>0&&$row['arcrank']==0)

{

$row['arcrank']=$row['corank'];

}

$row['filename']=$row['arcurl']=GetFileUrl($row['id'],$row['typeid'],$row['senddate'],$row['title'],$row['ismake'],

$row['arcrank'],$row['namerule'],$row['typedir'],$row['money'],$row['filename'],$row['moresite'],$row['siteurl'],$row['sitepath']);

$row['typeurl']=GetTypeUrl($row['typeid'],$row['typedir'],$row['isdefault'],$row['defaultname'],$row['ispart'],

$row['namerule2'],$row['moresite'],$row['siteurl'],$row['sitepath']);

if($row['litpic']=='-'||$row['litpic']=='')

{

$row['litpic']=$GLOBALS['cfg_cmspath'].'/images/defaultpic.gif';

}

if(!preg_match(“#^http:\/\/#”,$row['litpic'])&&$GLOBALS['cfg_multi_site']=='Y')

{

$row['litpic']=$GLOBALS['cfg_mainsite'].$row['litpic'];

}

$row['picname']=$row['litpic'];

$row['stime']=GetDateMK($row['pubdate']);

$row['typelink']=”<ahref='”.$row['typeurl'].”'>”.$row['typename'].”</a>”;

$row['image']=”<imgsrc='”.$row['picname'].”'border='0'width='$imgwidth'height='$imgheight'alt='”.preg_replace(“#['><]#”,””,$row['title']).”'>”;

$row['imglink']=”<ahref='”.$row['filename'].”'>”.$row['image'].”</a>”;

$row['fulltitle']=$row['title'];

$row['title']=cn_substr($row['title'],$titlelen);

if($row['color']!='')$row['title']=”<fontcolor='”.$row['color'].”'>”.$row['title'].”</font>”;

if(preg_match('#b#',$row['flag']))$row['title']=”<strong>”.$row['title'].”</strong>”;

//$row['title']=”<b>”.$row['title'].”</b>”;

$row['textlink']=”<ahref='”.$row['filename'].”'>”.$row['title'].”</a>”;

$row['plusurl']=$row['phpurl']=$GLOBALS['cfg_phpurl'];

$row['memberurl']=$GLOBALS['cfg_memberurl'];

$row['templeturl']=$GLOBALS['cfg_templeturl'];

if(is_array($dtp2->CTags))

{

foreach($dtp2->CTagsas$k=>$ctag)

{

if($ctag->GetName()=='array')

{

//传递整个数组,在runphp模式中有特殊作用

$dtp2->Assign($k,$row);

}else{

if(isset($row[$ctag->GetName()]))$dtp2->Assign($k,$row[$ctag->GetName()]);

else$dtp2->Assign($k,'');

}

}

$GLOBALS['autoindex']++;

}

$artlist.=$dtp2->GetResult().”

“;

}//ifhasRow

else{

$artlist.='';

}

}//LoopCol

}//loopline

$dsql->FreeResult(“al”);

}else

{

die(“RequestError!”);

}

AjaxHead();

echo$artlist;

exit();

dedecms怎么调用文章dedecms调用文章内容

如何调用dedecms中当前栏目下的子栏目中的文章

1。如果您的当前列是最终的类表页面,您将自动获取当前子列下的文档。

2.如果你当前的栏目是频道的封面,可以自动获取。在模板中定义前景样式,然后循环该列。

3.如果想在首页调用,只需要调用顶层栏目就可以自动获取子栏目文档。

4.如果要在固定位置调用指定的列文档,指定id号typeid=

多材料网络

为你解答

望采纳

怎样让dedecms把24小时内发布的内容显示为红色?

dedecms怎么修改最新发表的内容在24小时内显示红色,打开templets/default/index.htm.我们就假设以下这段代码是调用本站的最新发表标签:

下面的代码是我们修改之后24小时内标题红色的调用标签:

这样就可以了。这里调用最新标签跟你的是不一样的,如果你的首页是用的默认模板的话,请查找:”最新文章”,只需要将以下代码:

替换成以下代码:

$a=””;

$d=””;

$b=””;

$c=strftime(“%m-%d”,”@me”);

$ntime=time();

$oneday=3600*24;

if(($ntime-@me)

else@me=$d.$c.$b;

完成如上操作后,就大功告成了。去后台刷新缓存,生成首页看看效果吧!

怎么去掉dedecms网站前台的广告?

广告调用代码仍然嵌在主页的代码中,在主要代码中找到广告调用代码删除即可。删除时注意不要删除和他不想关的

文件。

什么是dede?

1、dede是织梦内容管理系统dedecms的简称,以简单、实用、开源而闻名,是国内最知名的PHP开源网站管理系统,也是使用用户最多的PHP类CMS系统,系统作者仅有一人,却做出如此功能的cms。

2、最新的版本无论在功能,还是易用性方面,都有了长足的发展。

本文关于dede的就讲解完毕,希望对大家有所帮助。

DEDE分页list_article.htm出问题了应该修改哪个PHP文件?

用arc.listview.class.php覆盖include/arc.listview.class.php调用方法{dede:pagelistlistsize=’5’/}{dede:pagelistpagelang=’en’listsize=’5’/}pagelang:en为英文,cn为中文,默认语言中文可以自行扩展

织梦标签嵌套到模板里,标签需要调取的数据怎么添加?

在后台就有一个标签管理,你可以在每次编辑文章的时候添加标签,但是每个标签的设置应该符合优化规则,比如不能设置热门的关键词当标签,可以选择一些长尾词做标签,希望你成功

© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享