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文章页所属副栏目名称、链接与自定义图片调用,有需要的朋友快去试试把。