dedecms自定义标签问题!,第1张

在\dede\include\extendfuncphp文件中添加如下函数:

function getArticleList($category=0,$order="",$limit="0,200"){

global $dsql;

$query = "SELECT arc,tptypedir,tptypename,tpcorank,tpisdefault,tpdefaultname,tpnamerule,

        tpnamerule2,tpispart,tpmoresite,tpsiteurl,tpsitepath

        FROM `#@__archives` arc LEFT JOIN `#@__arctype` tp on arctypeid=tpid

        where tpid=$category";

//此sql语句我只加了where判断文章所属分类

//其他的order limit 你根据需要自己添加

$dsql->SetQuery($query);

$dsql->Execute('lit');

$arr = array();

$cnt = 0;

$str = "";

while ($row = $dsql->GetArray('lit')) {

if($cnt%4 == 0){

$str = "<div class='css1'>";

}

if($cnt%4 > 0){

$class = "css3";

}else{

$class = "css2";

}

$str = "<span class='"$class"'>"$row['title']"</span>";

$cnt++;

if($cnt%4 == 0){

$str = "</div>";

}

//$row中可用的常用字段如下:$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']

}

return $str;

}

然后在模板中使用 

{dede:field name='typeid' function="getArticleList(@me)" /}

将分类的id传给此函数就可以调用到数据,输出就是你要的格式。

输出内容你修改下php文件,常用字段都给你写在注释里了。

如果可以请也将我昨天给你回答的采纳一下。

Meta标签的SEO设置

对于我们搜索引擎优化来说,最为重要的标签大家已经了解了,但具体应该如何优化这些标签呢?下面,我们就来具体说明。

(1)、网页描述Description

网页的描述要根据网站的实际内容填写,很多站长会随意填写网站的描述,或者在描述中大量堆砌关键词,这些都是对SEO不利的行为,例如一个以SEO知识和资讯为主的站点,它的描述Meta标签可以这样写:

<META NAME="Description" CONTENT="为大家提供SEO优化知识、最新SEO技巧、SEO软件下载等丰富实用信息。">

这样的描述不仅概括了整个网站的内容,也突出了软件这一关键词,而类似“某某网站是最好的门户”、“某某网站为您服务”这样的描述,就由于忽略了网站的主要关键词,而让搜索引擎摸不着头脑。

(2)、网页关键词Keywords

与META标签中的"description"类似,"Keywords"也是用来描述一个网页的属性,只不过要列出的内容是“关键词”,而不是网页的介绍,这就意味着,要根据网页的主题和内容选择合适的关键词

对此,建议各位SEO人员在选择关键词时,除了要考虑与网页核心内容相关之外,还应该是用户易于通过搜索引擎检索的,过于生僻的词汇不太适合做META标签中的关键词。

由于网页关键词由于一直被大量地用于优化,目前它对于搜索引擎的重要性已经不如以前了,但是完善网页的关键词标签仍然可以起到一定的作用。

同样以一个SEO知识网站为例,它的关键词可以这样写:

<META NAME="Keywords" CONTENT="新手学SEO,SEO基础知识、SEO应用、SEO学习">

$ctag->GetAtt('flag');当前默认情况下flag设置的是c属性。。如果必须在标签中存在这个flag这个字段例如:

{dede:arclist wodefiled='你号'}

{/dede:arclist}

那么在你的arclistlibphp中的代码就可以使用$ctag->GetAtt('wodefiled=');

在这种情况下可以获取到你的字段。。

如果当前你想调用默认的falg的标签就无需这么GetAtt了 它不会去查找你的定义默认的标签$attlist="flag|c,row|12,titlelen|24";也就是说你当前这里定义的属性不需要使用GetAtt来调用。

而如果{dede:arclist flag='h'}

{/dede:arclist}

而设置了flag的属性就可以调用了。

{dede:arclist row='20' orderby='pubdate' idlist='' channelid='1' }

[field:global runphp='yes' name=autoindex]

$a="<li><img src='field:picname/]' /></a></li>";

$b="$b="<li class='样式'><img src='field:picname/]' /></a></li>";";

if ((@me%2)==0) @me=$a;

else @me=$b;

[/field:global]

{/dede:arclist}

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » dedecms自定义标签问题!

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情