怎样删除dedecms友情链接中的<li>标签
这是dedeCms的模板地址:
默认的是 /templets/defaults/
后台可以修改:
系统 -> 系统基本参数 -> 站点设置 -> 模板默认风格 -> 填写模板相应文件夹的名称
你的模板放到
templets 文件夹下即可。
例如你的模板文件夹名称为 new
则此处 填写 new
那么 {dede:globalcfg_templeturl} 就等于 /templets/new/
是你标签没有闭合 缺少/这个 加上就ok了
dede默认没有你这个模板,名称是headhtm所有变强也应该是{dede:include filename="headhtml"/} 如果是你重新命名的话 我就没话说了 你说的这个不可能啊 仔细检查代码
在系统后台找到 flinklibphp 文件
打开/include/taglib/flinklibphp 文件找到:
if(trim($ctag->GetInnerText())=='') $innertext = "<li>[field:link /]</li>";
将<li></li>去掉即可
既可以删除 <li> 标签
之前选择的自定义图集
一、添加一个获取地址的方法
打开 /include/extendfunc 文件(注:这个文件就是系统预留的自定义函数接口文件,主要用于二次开发用的。如果你是老版本,默认没有这个文件,自己创建一个PHP文件即可),在最下面的>上一行加入以下函数代码:(如果结尾没有>那就直接在最下面添加)
function GetOneImgUrl($img,$ftype=1){ if($img <> ''){ $dtp = new DedeTagParse(); $dtp->LoadSource($img); if(is_array($dtp->CTags)){ foreach($dtp->CTags as $ctag){ if($ctag->GetName()=='img'){ $width = $ctag->GetAtt('width'); $height = $ctag->GetAtt('height'); $imgurl = trim($ctag->GetInnerText()); $img = ''; if($imgurl != ''){ if($ftype==1){ $img = $imgurl; } else{ $img = '<img src="'$imgurl'" width="'$width'" height="'$height'" />'; } } } } } $dtp->Clear(); return $img; } }
可以直接用下面的方法调用
[field:自定义字段名 function="GetOneImgUrl(@me,显示类型)"/]
最终使用方法。
{dede:arclist typeid='12' addfields='datu' channelid='17' limit='0,7'}
<li><a href="[field:arcurl/]" target="_blank"><img border="0" src="[field:datu function='GetOneImgUrl(@me,1)'/]"></a></li>
{/dede:arclist}
最终调用到这个地址。
dedecms标签的源代码储存在include/taglib文件夹
当dedecms标签默认的功能达不到网站开发要求时,
就需要修改底层文件,那么修改标签就到这里找
1、标签是否完整闭合 <div> <ul> <li> <a> 这类标签都是要闭合的,否则就会发生异常。 2、css是否一致例如不同站点,元素的长、宽不同,导致排版错误。 3、粘贴的位置是否混乱,是否符合原来标签
0条评论