|
楼主 |
发表于 2012-3-25 20:49:07
|
显示全部楼层
来自 中国–浙江–台州–椒江区
真正采集热门Tags,刷新一次变换一次
模板代码:
{dede:tag row='10' sort='month' }
<a class="tag" href='[field:link/]'>[field:tagname/] </a>
{/dede:tag}
<script language="javascript">
<!--
var tag_a=document.getElementsByTagName_r("a");
for( i in tag_a){
var offset=6;
var num=4;
if(tag_a.className=="tag"){
var rnd=Math.ceil((num+offset)*Math.random());
if(rnd>offset){
tag_a.className="tag"+(rnd-offset);
}
}
}
//-->
</script>
CSS代码:
.tag1 { color:#339900;font-weight:bold;}
.tag2 { color:#e65730;}
.tag3 { color:#00b9da;}
.tag4 { color:#FE3981;font-weight:bold;font-size:14px;}
更换标签方式:
默认调用的是当月热门标签,如果换想其他的可以:
--------------------------------------------------------------------------------
最新标签
{dede:tag row='30' sort='new'}<a href='[field:link/]'>[field:highlight/]([field:result/])</a> {/dede:tag}
--------------------------------------------------------------------------------
当月热门标签
{dede:tag row='30' sort='month'}<a href='[field:link/]'>[field:tagname/]([field:result/])</a>
{/dede:tag}
--------------------------------------------------------------------------------
随机标签
{dede:tag row='60' sort='rand'}<a href='[field:link/]'>[field:highlight/]([field:result/])</a> {/dede:tag}
--------------------------------------------------------------------------------
任何系统页面调用会员积分排行:
{dede:sql sql="Select id,userid,uname,scores From dede_member order by scores desc limit 0,10"}
<dd><span class="name"><a href='[field:global name='cfg_cmspath'/]/member/?[field:userid/]/'>[field:uname/]</a>
</span><span class="jifen">积分[field:scores/]</span></dd>
{/dede:sql}
--------------------------------------------------------------------------------
<!--问答系统-->调用
{dede:ask row='10'}
<li>
<span class="gpclass">[<a href="[field:typeurl/]">[field:tidname/]</a>]</span>
<span class="gptlink"><a href="[field:url/]">[field:title/]</a></span>
</li>
{/dede:ask}
--------------------------------------------------------------------------------
企业调用
{dede:sql sql="SELECT m.ID,m.type,m.userid,m.matt,c.id,c.comname
FROM dede_member m
left join dede_member_cominfo c on m.ID = c.id
where m.type = 1 and m.matt = 1
LIMIT 0 , 10"}
<dd><span class="name"><a href='[field:global name='cfg_cmspath'/]/member/?[field:userid/]/'>[field:comname/]</a>
</span></dd>
{/dede:sql}
--------------------------------------------------------------------------------
专题调用
{dede:arclist row=10 orderby=rand type='spec.'}
<li><a href="[field:filename function='str_replace("index.html","",@me)'/]" target="_blank"><STRONG>[field:title function=' ( strlen("@me")>16 ? cn_substr("@me",16): "@me" ) '/]
</STRONG></a> </li>
{/dede:arclist}
--------------------------------------------------------------------------------
列表页调用TAG标签的两种方法
dedecms默认在列表是无法调用tag标签的,经过各位版主们的帮助,现给大家提供出种方法
方法1:
在列表需要的位置加入下列代码
[field:id runphp=yes]
$tsql = new DedeSql(false);
$tags = '';
$tsql->SetQuery("Select i.tagname From dede_tag_list t left join dede_tag_index i on i.id=t.tid where t.aid='@me'");
$tsql->Execute('t');
while($row = $tsql->GetArray('t',MYSQL_ASSOC)){
$tags .= "<a href='/tag.php?/".urlencode($row['tagname'])."'>".$row['tagname']."</a>";
}
@me=$tags;
[/field:id]
方法2:
在inc_functions.php文件里加入
function listtag($aid){
$tsql = new DedeSql(false);
$tags = '';
$tsql->SetQuery("Select i.tagname From dede_tag_list t left join dede_tag_index i on i.id=t.tid where t.aid='$aid'");
$tsql->Execute('t');
while($row = $tsql->GetArray('t',MYSQL_ASSOC)){
$tags .= "<a href='/tag.php?/".urlencode($row['tagname'])."'>".$row['tagname']."</a>";
}
return $tags;
}
然后在列表页相应位置加入
[field:ID function="listtag(@me)"/]标记
--------------------------------------------------------------------------------
{dede:arclist typeid='' row='' col='' titlelen='' infolen=''
imgwidth='' imgheight='' listtype='' orderby='' keyword=''}
--------------------------------------------------------------------------------
去除html
[field:title function='htmlspecialchars(@me)'/]
主要使用在FLASH以及<a>中,是了了去除标签中的HTML元素,比如<b></b>等,如果不使用此标签,则会导致HTML代码显示在页面中。
使用方法
-------------------------------------------------------------------------------
<a title="[field:title function='htmlspecialchars(@me)'/] " href="[field:arcurl /]">[field:title /]</a>
或者
<a href="[field:arcurl /]" ><img src='[field:litpic/]' alt="[field:title function='htmlspecialchars(@me)'/]" border='0' width='' height=''></a>
图片:
1: <a href='[field:arcurl /]'><img src='[field:litpic/]' border='0' width='' height=''></a>
2: [field:imglink /]
3: <a href='[field:arcurl /]'>
[field:image/]</a>
[field:imglink /]与<a href='[field:arcurl /]'>[field:image/]</a> 是完全等价的,只不过后者更灵活一点,可以在 <a>中添加 title=""
即
<a href='[field:arcurl /]' title="[field:title function='htmlspecialchars(@me)'/] ">[field:image/]</a>
<a href='[field:arcurl /]'><img src='[field:litpic/]' border='0' width='' height=''></a>
则更为灵活,不仅可以添加title="",还可以添加 alt="",但是虽然灵活了,缺少了图片的宽度和高度的控制,所以要在CSS中控制图片的大小,适合对CSS有一点了解的人。
栏目:
1: <a href='[field:typeurl /]'>[field:typename /]</a>
2:[field:typelink /]
二者是相等的,只不过是前者更灵活一点
连接:
1: <a href='[field:arcurl /]'>[field:title /]</a>
2:[field:textlink /]
两者是相等的,前者比后者更灵活,可以增加titie=""
在这里应该注意的是,title长度的问题,Dedecms数据库中最大长度为80字节,40汉字宽度,另外,arclist标签里面如果不设置titlelen的值,则默认取值为30字符,15汉字宽度
所以除了在使用titlelen控制标题长度,还可以使用另外一种方法来控制标题长度
设置titlelen="80"
<a href="[field:arcurl /]" title="[field:title function='htmlspecialchars(@me)'/]">[field:title function="cn_substr(@me,40)"/]</a>
这种格式的好处是,title=""中为完整标题,即鼠标停留显示完整标题,function="cn_substr(@me,40)"作用是截取40字符宽度,20汉宽度。
点击:
[field:click/]
[field:click runphp="yes"]
if(@me>1000)@me='<font color="#ff0000">@me</font>';
else @me=@me;
[/field:click]
超过1000点击的,显示红色
简介:
1: [field:info /]
2: [field:description /]
3: [field:info function="cn_substr(@me,120)"/]
4: [field:description function="cn_substr(@me,120)"/]
两种是相等的,简介长度有两种控制方式,一种是infolen="" 控制,如果infolen无参数,则默认为250
另外一种是使用function="cn_substr(@me,120)"控制
120为所取字符宽度,
日期:
[field:pubdate /]
效果
1:[field:pubdate runphp="yes"]
if((time()-@me)<(60*60*24)){@me=' <font color="#ff6600">'.strftime("%H:%M",@me).'</FONT>';}
else {@me=strftime("%m-%d",@me);}
[/field:pubdate]
效果 2:
|
|