DedeCMS文章页调用所属副栏目名称、链接与自定义图片的方法
在织梦调用当前文章页所属栏目的锚文本很简单,代码如下:
<a href=
“{dede:type typeid=’0′ row=1}[field:typelink/]{/dede:type}”>{dede:field.
typename/}</a>
其中
{dede:type
typeid=
‘0′ row=1}[field:typelink/]{/dede:type}
可以实现栏目页地址的调用,而
{dede:field.
typename/}
实现了栏目名称的调用。
如果我们需要调用当前文章所属副栏目的链接与名称,这个方法显然不能实现,而DedeCMS自身也没有提供关于副栏目调用的参考文档,那么就需要我们来二次开发了,余斗折腾了一个多小时,终于搞定,把方法分享出来。
一、调用DedeCMS文章页调用所属副栏目名称、链接的方法:在需要调用副栏目锚文本链接的地方加上代码:
{dede:field.typeid2 runphp=
‘yes’}
global $dsql;
if(strstr(@me,
‘,’)){
$typeid2s = explode(
‘,’, @me);
$typename2 =
”;
foreach($typeid2s as $tid){
$sql = GetSonIds($tid);
$row = $dsql->GetOne(
“select * from dede_arctype where id=$tid”);
$row[
‘typeurl’] = GetTypeUrl($row[
‘typeid’],$row[
‘typedir’],$row[
‘isdefault’],$row[
‘defaultname’],$row[
‘ispart’],$row[
‘namerule2’],$row[
‘moresite’],$row[
‘siteurl’],$row[
‘sitepath’]);
$typename2 =
‘<a style=”color:#8B2323;” href=”‘.$row[
‘typeurl’].
‘” target=”_blank”>’.$row[
‘typename’].
‘</a> ‘;
}
}
else{
$row = $dsql->GetOne(
“select * from dede_arctype where id=@me”);
$row[
‘typeurl’] = GetTypeUrl($row[
‘typeid’],$row[
‘typedir’],$row[
‘isdefault’],$row[
‘defaultname’],$row[
‘ispart’],$row[
‘namerule2’],$row[
‘moresite’],$row[
‘siteurl’],$row[
‘sitepath’]);
$typename2 =
‘<a style=”color:#8B2323;” href=”‘.$row[
‘typeurl’].
‘” target=”_blank”>’.$row[
‘typename’].
‘</a>’;
}
@me = $typename2;
{/dede:field.typeid2}
注意:这里生成的就是锚文本格式。
二、调用DedeCMS文章页调用所属副栏目自定义图片的方法: 前面余斗讲了如何为DedeCMS栏目添加自定义图片的方法,也说了如何在DedeCMS文章页调用所属主栏目的图片的方法,但是要调用副栏目的图片则要根据上面调用文章的代码来找灵感,具体方法为:
{dede:field.typeid2 runphp=
‘yes’}
global $dsql;
if(strstr(@me,
‘,’)){
$typeid2s = explode(
‘,’, @me);
$typeimg2 =
”;
foreach($typeid2s as $tid){
$sql = GetSonIds($tid);
$row = $dsql->GetOne(
“select * from dede_arctype where id=$tid”);
$row[
‘typeurl’] = GetTypeUrl($row[
‘typeid’],$row[
‘typedir’],$row[
‘isdefault’],$row[
‘defaultname’],$row[
‘ispart’],$row[
‘namerule2’],$row[
‘moresite’],$row[
‘siteurl’],$row[
‘sitepath’]);
$typeimg2 =
‘<a href=”‘.$row[
‘typeurl’].
‘” target=”_blank”><img src=”‘.$row[
‘typeimg’].
‘” style=”height:135px;width:120px;”/></a> ‘;
}
}
else{
$row = $dsql->GetOne(
“select * from dede_arctype where id=@me”);
$row[
‘typeurl’] = GetTypeUrl($row[
‘typeid’],$row[
‘typedir’],$row[
‘isdefault’],$row[
‘defaultname’],$row[
‘ispart’],$row[
‘namerule2’],$row[
‘moresite’],$row[
‘siteurl’],$row[
‘sitepath’]);
$typeimg2 =
‘<a href=”‘.$row[
‘typeurl’].
‘” target=”_blank”><img src=”‘.$row[
‘typeimg’].
‘” style=”height:135px;width:120px;”/></a> ‘;
}
@me = $typeimg2;
{/dede:field.typeid2}
这样就可以完美实现DedeCMS文章页所属副栏目名称、链接与自定义图片调用,有需要的朋友快去试试把。