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

1、首先登录织梦网站后台,点击:系统—>SQL命令行工具(如图所示)。

2、打开SQL命令运行器,运行代码:ALTER TABLE `数据表前缀_archives` MODIFY COLUMN `keywords` char(168)(如图所示)。

3、找到article_editphp、article_addphp文件(如图所示)。

4、打开文件article_addphp,并找到代码:$keywords = cn_substrR($keywords,60),然后把数字60改成168(如图所示)。

5、打开文件article_editphp,并找到代码:$keywords = trim(cn_substrR($keywords,60));然后把数字60改成168,织梦程序修改标签限制字数就可以了。

定义标签的属性就好   宽度一样

类似

c{ width:100px; float:left; margin-left:5px; margin-right:5px;}

$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的属性就可以调用了。

栏目列表+子栏目+子栏目

<div>

<ul>

{dede:channelartlist typeid='top' }

{dede:type}

<li><a href="[field:typelink /]">[field:typename /]</a></li>

{/dede:type}

<ul>

{dede:channel type='son'}

<li><a href="[field:typelink/]">[field:typename/]</a></li>

{/dede:channel}

</ul>

{/dede:channelartlist}

</ul>

</div> 看看这个,对应调用替换试试

一、修改{dede:field name='position'/}的文字间隔符,官方默认的是>

在include/typelinkclassPHP第101行左右将>修改为你想要的符号即可

二、去掉{dede:field name='position' /}最后的分隔符>

{dede:field name='position' runphp='yes'}

$a=mb_strlen(@me);//计算字符串的长度

@me=cn_substr(@me,$a-2,-1);//截取字符

{/dede:field}

三、{dede:field name='position'/} 中去掉 > 并去掉最后一个文本的链接的解决方案

{dede:field name='position' runphp='yes'}

$tc=" > ";

$tf=split($tc,@me);

$tn=count($tf);

for($iij=0;$iij<($tn-1);$iij++){

if($iij==($tn-2)){$tf[$iij]=strip_tags($tf[$iij]);}

$tl=$tl$tf[$iij];

}

@me=$tl;

echo @me;

{/dede:field}

如果还需要分隔符的话,就把$tl=$tl$tf[$iij]; 换成

$tl=$tl"空格分隔符空格"$tf[$iij];

-----------------------------------------------------------------------------------------------

备注:第二种办法是去掉了最后一个>,但链接还是显示的(大部分在栏目页时都不显示当前栏目链接),栏目页就这样调用了,满足了!

内容页就用笨办法,在后面加上“正文”两字。

1、标签名称:adminname

功能说明:

获得责任编辑名称

使用实例

{dede:adminname /}

2、标签名称:arclist

功能说明:

文章列表调用标记

使用实例:

{dede:arclist flag='h' typeid='' row='' col='' titlelen='' infolen=''

imgwidth='' imgheight='' listtype='' orderby='' keyword='' limit='0,1'}

<a href='[field:arcurl/]'>[field:title/]</a>

{/dede:arclist}

参数说明:

col='' 分多少列显示(默认为单列),53版中本属性无效,要多列显示的可用div+css实现

row='10' 返回文档列表总数

typeid='' 栏目ID,在列表模板和档案模板中一般不需要指定,在封面模板中允许用","分开表示多个栏目;

titlelen = '30' 标题长度 等同于titlelength

infolen='160' 表示内容简介长度 等同于infolength

imgwidth='120' 缩略图宽度

imgheight='90' 缩略图高度

listtype='all' 栏目类型(顶级栏目??)

orderby='sortrank' 文档排序方式

§ orderby='hot' 或 orderby='click' 表示按点击数排列

§ orderby='sortrank' 或 orderby='pubdate' 按出版时间排列

§ orderby='near'

§ orderby=='lastpost' 按最后评论时间

§ orderby=='scores' 按得分排序

§ orderby='id' 按文章ID排序

§ orderby='rand' 随机获得指定条件的文档列表

keyword='' 含有指定关键字的文档列表,多个关键字用","分

innertext = '' 单条记录样式

aid='' 指定文档ID

idlist ='' 提取特定文档(文档ID)

channelid 频道ID

limit='' 起始,结束 表示限定的记录范围(如:limit='1,2')

flag = 'h' 自定义属性值:头条[h]推荐[c][p]幻灯[f]滚动[s]跳转[j]图文[a]加粗

noflag = '' 同flag,但这里是表示不包含这些属性

orderway='desc' 值为 desc 或 asc ,指定排序方式是降序还是顺向排序,默认为降序

subday='天数' 表示在多少天以内的文档

3、标签名称:arclistsg

功能说明:

单表模型的文章列表调用标记

使用实例:

{dede:arclistsg flag='h' typeid='' row='' col='' titlelen='' orderway='' keyword='' limit='0,1'}

<a href='[field:arcurl/]'>[field:title/]</a>

{/dede:arclistsg}

参数说明:

col='' 分多少列显示(默认为单列),53版中本属性无效,要多列显示的可用div+css实现

row='10' 返回文档列表总数

typeid='' 栏目ID,在列表模板和档案模板中一般不需要指定,在封面模板中允许用","分开表示多个栏目;

titlelen = '30' 标题长度 等同于titlelength

orderwey='desc'或'asc' 排序方向

keyword= 含有指定关键字的文档列表,多个关键字用","分

innertext = "[field:title/]" 单条记录样式(innertext是放在标签之间的代码)

arcid='' 指定文档ID

idlist ='' 提取特定文档(文档ID)

channelid = '' 频道ID

limit='' 起始,结束 表示限定的记录范围(如:limit='1,2')

flag = 'h' 自定义属性值:头条[h]推荐[c][p]幻灯[f]滚动[s]跳转[j]图文[a]加粗

subday='天数' 表示在多少天以内的文档

4、标签名称:autochannel

功能说明:

按排序位置的获取单个栏目的链接信息

使用实例:

{dede:autochannel partsort='' typeid=''}{/dede:autochannel}

参数说明:

partsort = '0' 栏目所在的排序位置

typeid = '0' 指定的父栏目

5、标签名称:channel

功能说明:

获取栏目列表标签

使用实例:

{dede:channel type='top' row='8' currentstyle="<li><a href='~typelink~' class='thisclass'>~typename~</a> </li>"}

<li><a href='[field:typelink/]'>[field:typename/]</a> </li>

{/dede:channel}

参数说明:

typeid = '0' 栏目ID

reid = '0' 上级栏目ID

row = '100' 调用栏目数

col = '1' 分多少列显示(默认为单列)

type = 'son' son表示下级栏目,self表示同级栏目,top顶级栏目

currentstyle = '' 应用样式

6、标签名称:channelartlist

功能说明:

获取当前频道的下级栏目的内容列表标签

使用实例:

{dede:channelartlist row=6}

<dl>

<dt><a href='{dede:field name='typeurl'/}'>{dede:field name='typename'/}</a></dt>

<dd>

{dede:arclist titlelen='42' row='10'} <ul class='autod'>

<li><a href="[field:arcurl /]">[field:title /]</a></li>

<li>([field:pubdate function="MyDate('m-d',@me)"/])</li>

</ul>

{/dede:arclist}

</dl>

{/dede:channelartlist}

参数说明:

typeid = '0' 频道ID,多个请用","分隔

row = '20' 获取的栏目返回值

其他说明:

除了宏标记外,channelArtlist 是唯一一个可以直接嵌套其它标记的标记,不过仅限于嵌套

{dede:type}{/dede:type} 和 {dede:arclist}{/dede:arclist} 两个标记。

7、标签名称:demotag

功能说明:

这仅是一个演示标签

使用实例:

{dede:demotag /}

8、标签名称:feedback

功能说明:

调用最新评论

使用实例:

{dede:feedback}

<ul>

<li class='fbtitle'>[field:username function="(@me=='guest' '游客' : @me)"/] 对 [field:title/] 的评论:</li>

<li class='fbmsg'> <a href="plus/feedbackphpaid=[field:aid/]" class='fbmsg'>[field:msg /]</a></li>

</ul>

{/dede:feedback}

参数说明:

row='12' 调用评论条数

titlelen='24' 标题长度

infolen='100' 评论长度

9、标签名称:flink

功能说明:

友情链接

使用实例:

{dede:flink row='24'/}

参数说明:

type='image' 或textall,链接,text文字链接;

row='24' 链接数量

titlelen='24' 站点文字的长度

linktype='1' 链接位置(首页,内页)

typeid='0' 所有类型

10、标签名称:hotwords

功能说明:

获取网站搜索的热门关键字

使用实例:

{dede:hotwords /}

参数说明:

num='6' 关键词数目

subday='365' 天数

maxlength='16' 关键词最大长度11、标签名称:infoguide

功能说明:

分类信息的地区与小分类搜索

使用实例:

{dede:infoguide /}

12、标签名称:likepage

功能说明:

单页文档相同标识调用标签

使用实例:

{dede:likepage likeid='' row=''/}

参数说明:

row = '' 调用条数

likeid = '' 标识名

13、标签名称:likesgpage

功能说明:

单页文档调用标签

使用实例:

{dede:likespage row=''/}

参数说明:

row = '' 调用条数

14、标签名称:loop

功能说明:

调用任意表的数据标签

使用实例:

{dede:loop table='dede_archives' sort='' row='4' if=''}

<a href='[field:arcurl/]'>[field:title/]</a>

{/dede:loop}

参数说明:

table = '' 查询表名

sort = '' 用于排序的字段

row = '' 返回结果的条数

if = '' 查询的条件

15、标签名称:memberinfos

功能说明:

文档关连的用户信息

使用实例:

{dede:memberinfos /}

参数说明:

无属性,支持 innertext

16、标签名称:memberlist

功能说明:

会员信息调用标签

使用实例:

{dede:memberlist orderby='scores' row='20'}

<a href="/member/indexphpuid={dede:fielduserid /}">{dede:fielduserid /}</a>

<span>{dede:fieldscores /}</span>

{/dede:memberlist}

参数说明:

orderby = 'scores' 按积分排序

row = '6' 调用数目

17、标签名称:myad

功能说明:

广告调用

使用实例:

{dede:myad name=''/}

参数说明:

typeid='0' 投放范围,0为全站

name='' 广告标识

18、标签名称:mynews

功能说明:

站内新闻调用标签

使用实例:

{dede:mynews row='' titlelen=''/}

参数说明:

row='1' 调用站内新闻数

titlelen='24' 新闻标题长度

19、标签名称:mytag

功能说明:

自定义宏标记调用标签

使用实例:

{dede:mytag typeid='0' name=''/}

参数说明:

typeid = '0' 栏目ID 0为全站栏目

name = '' 标记名

20、标签名称:softmsg

功能说明:

下载说明标签

使用实例:

{dede:softmsg /}

21、标签名称:sonchannel

功能说明:

子栏目调用标签

使用实例:

{dede:sonchannel}

<a href='[field:typeurl/]'>[field:typename/]</a>

{/dede:sonchannel}

参数说明:

row ='100' 返回数目

col = '1' 默认单列显示

22、标签名称:sql

功能说明:

SQL标签

使用实例:

{dede:sql sql=''}

[field:title/]

{/dede}

参数说明:

sql='' 完整的SQL语句

23、标签名称:tag

功能说明:

TAG调用标签

使用实例:

{dede:tag row='30' sort='new'/}

参数说明:

row='30' 调用条数

sort='new' 排序方式 month,rand,week

24、标签名称:type

功能说明:

指定的单个栏目的链接标签

使用实例:

{dede:type}

<a href="[field:typelink /]">[field:typename /]</a>

{/dede:type}

参数说明:

typeid='' 指定栏目ID

25、标签名称:vote

功能说明:

投票标签

使用实例:

{dede:vote id='' lineheight='22' tablewidth='100%' titlebgcolor='#EDEDE2' titlebackground='' tablebgcolor='#FFFFFF'/}

参数说明:

id='' 数字,当前投票ID

lineheight='24' 表格高度

tablewidth='100%' 表格宽度

titlebgcolor='#EDEDE2' 投票标题背景色

titlebackground=''

tablebg ='' 投票表格背景色

为了更方便修改样式,建议在后台->辅助插件->投票管理,直接复制生成的HTML代码来使用 《 幻为您专业解答》

在\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文件,常用字段都给你写在注释里了。

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

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

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情