xhtml+css模板中,友情链接标签生成的修改

softyun3年前cms教程135

dede的友情链接标签设定行了列后,生成的是<table><tr><td>代码来控制行数和列数

如果模板使用xhtml+css编写,想用<li>来表示链接结构就很方便。

=================================================================

修改方法:
首先打开include/inc_arcpart_view.php 文件

找到: 720-764行

//获取友情链接列表
//------------------------
function GetFriendLink($type="",$row="",$col="",$titlelen="",$tablestyle="",$linktype=1,$innertext=''){
$type = AttDef($type,"textall");
$row = AttDef($row,4);
$col = AttDef($col,6);
if($linktype=="") $linktype = 1;
$titlelen = AttDef($titlelen,24);
$tablestyle = AttDef($tablestyle," width='100%' border='0' cellspacing='1' cellpadding='1' ");
$tdwidth = round(100/$col)."%";
$totalrow = $row*$col;

if($innertext=='') $innertext = " [field:link/] ";

$wsql = " where ischeck >= '$linktype' ";
if($type=="image") $wsql .= " And logo<>'' ";
else if($type=="text") $wsql .= " And logo='' ";
else $wsql .= "";

$equery = "Select * from dede_flink $wsql order by sortrank asc limit 0,$totalrow";

$this->dsql->SetQuery($equery);
$this->dsql->Execute();

$revalue = "";
while($row = $this->dsql->GetArray())
{
if($type=="text"||$type=="textall")
$row['link'] = "<a href='".$row['url']."' target='_blank'>"_substr($row['webname'],$titlelen)."</a>";
else if($type=="image")
$row['link'] = "<a href='".$row['url']."' target='_blank'><img alt='".str_replace("'","`",$row['webname'])."' src='".$row['logo']."' border='0'></a>";
else{
if($row['logo']=="")
$row['link'] = " <a href='".$row['url']."' target='_blank'>"_substr($row['webname'],$titlelen)."</a>";
else
$row['link'] = " <a href='".$row['url']."' target='_blank'><img alt='".str_replace("'","`",$row['webname'])."' src='".$row['logo']."' border='0'></a>";
}
$rbtext = preg_replace("/\[field:url([\s]{0,})\/\]/isU",$row['url'],$innertext);
$rbtext = preg_replace("/\[field:webname([\s]{0,})\/\]/isU",$row['ID'],$rbtext);
$rbtext = preg_replace("/\[field:logo([\s]{0,})\/\]/isU",$row['logo'],$rbtext);
$rbtext = preg_replace("/\[field:link([\s]{0,})\/\]/isU",$row['link'],$rbtext);
$revalue .= $rbtext;
}
return $revalue;
}

修改为:

//获取友情链接列表
//------------------------
function GetFriendLink($type="",$row="",$col="",$titlelen="",$tablestyle="",$linktype=1,$innertext=''){
$type = AttDef($type,"textall");
$row = AttDef($row,4);
$col = AttDef($col,6);
if($linktype=="") $linktype = 1;
$titlelen = AttDef($titlelen,24);
$tablestyle = AttDef($tablestyle," width='100%' border='0' cellspacing='1' cellpadding='1' ");
$tdwidth = round(100/$col)."%";
$totalrow = $row*$col;

if($innertext=='') $innertext = " [field:link/] ";

$wsql = " where ischeck >= '$linktype' ";
if($type=="image") $wsql .= " And logo<>'' ";
else if($type=="text") $wsql .= " And logo='' ";
else $wsql .= "";

$equery = "Select * from dede_flink $wsql order by sortrank asc limit 0,$totalrow";

$this->dsql->SetQuery($equery);
$this->dsql->Execute();

$revalue = "";
while($row = $this->dsql->GetArray())
{
if($type=="text"||$type=="textall")
$row['link'] = "<li><a href='".$row['url']."' target='_blank'>"_substr($row['webname'],$titlelen)."</a></li>";
else if($type=="image")
$row['link'] = "<li><a href='".$row['url']."' target='_blank'><img alt='".str_replace("'","`",$row['webname'])."' src='".$row['logo']."' border='0'></a></li>";
else{
if($row['logo']=="")
$row['link'] = " <li><a href='".$row['url']."' target='_blank'>"_substr($row['webname'],$titlelen)."</a></li>";
else
$row['link'] = " <li><a href='".$row['url']."' target='_blank'><img alt='".str_replace("'","`",$row['webname'])."' src='".$row['logo']."' border='0'></a></li>";
}
$rbtext = preg_replace("/\[field:url([\s]{0,})\/\]/isU",$row['url'],$innertext);
$rbtext = preg_replace("/\[field:webname([\s]{0,})\/\]/isU",$row['ID'],$rbtext);
$rbtext = preg_replace("/\[field:logo([\s]{0,})\/\]/isU",$row['logo'],$rbtext);
$rbtext = preg_replace("/\[field:link([\s]{0,})\/\]/isU",$row['link'],$rbtext);
$revalue .= $rbtext;
}
return $revalue;
}

模板中的调用标签:

<div class="flink"><ul>
{dede:flink type='textall' titlelen='24' }{/dede:flink}
</ul>
<div>

调用后生成效果:
<div class="flink"><ul>
<li><a href='dedecms' target='_blank'>DEDECMS</a></li>
<li><a href='mb5u' target='_blank'>模板无忧</a></li>
</ul>
<div>

相关属性请自行定义。

官方原帖:52250&3

免责声明:本文内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请核实广告和内容真实性,谨慎使用。

相关文章

dedecms隐藏畅言浮动评论框

分享一下如何在dedecms隐藏畅言浮动评论框。现在一个织梦dedecms站用了搜狐畅言,但是畅言模块默认是底部浮动评论框的,我的这个站有我自己的底部浮框,这样一来就发生了冲突,我的被盖住了。 隐藏畅...

点击复制本页地址推荐阅读的代码

源代码调试 [MB5U]     [ 可先修改部分代码 再运行查看效果 ]...

织梦DEDECMS网站内容页、栏目页获取当前顶级栏目名称标签

教大家一下织梦DEDECMS文章、栏目页获取当前页面顶级栏目名称的方法,很简单,仅供参考学习。在用织梦做一些项目时,时常会碰到需要在当前页面调用顶级栏目名称的时候,织梦默认{dede:field na...

DEDECMS 隔行换色以及分组加线

打开:inc_channel_unit_functions.php加入下面一段//zouql//$f 列表总数//$t 每组列表数function MyList($f,$t,$meid,$con){i...

dedecms发布分页问题完全解决方案

由于文章内容比较多,dede在系统中有一个非常实用的功能就是自动对文章进行分页。这个功能可以说设置的非常贴心。可是在用的时候就出现了问题,出现问题怎么解决,一般情况下我都是先上dede论坛,用搜索,看...

栏目内容过多如何分为2行显示

很多人栏目内容过多,需要分成2行,解决办法如下:修改/templets/default/dedecms.css修改188行为以下内容:Copy code.header .nav{ width:100%...