标签如下:
当前:
- {dede:type}
- <a href=" [field:typelink /] "> [field:typename/] </a>
- {/dede:type}
因为{dede:field name='arcurl'/} 这个获取当前页面路径的标签只能在内容页使用,栏目页没有效果的。所以在栏目页想获取当前栏目的路径及名称的话,就要用上面这个标签。
而获取网站所有栏目名称及路径列表的话,就要用到另一个标签: {dede:channel},调用方式如下:
所有栏目
- <ul>
- {dede:channel type='top' row='11'}
- <li class="navbg"><a href='[field:typelink/]'>[field:typename/]</a></li>
- {/dede:channel}
- </ul>
织梦dedeCMS网站栏目页获取当前栏目的顶级栏目名称的标签教程:
我们在使用做一些网站的时候,时常会碰到需要调用当前栏目的顶级栏目名称的时候,织梦默认{dede:field name='typename' /} 可以获取当前栏目页上一级栏目的名称,而不是当前栏目顶级栏目名称。
下面拓展出一个方法来实现这个效果、:
在include/common.func.php的最下方加入:
顶级栏目名
- function GetTopTypename($id)
- {
- global $dsql;
- $row = $dsql->GetOne("SELECT typename,topid FROM jiemou_arctype WHERE id= $id");
- if ($row['topid'] == '0')
- {
- return $row['typename'];
- }
- else
- {
- $row1 = $dsql->GetOne("SELECT typename FROM jiemou_arctype WHERE id= $row[topid]");
- return $row1['typename'];
- }
- }
在文章页或者栏目列表页调用时,在所要调用栏目名称的位置加上下面这行代码即可实现。
- {dede:field name='typeid' function="GetTopTypename(@me)" /}
在文章页中用下面这个方法来调用
获取当前栏目的父栏目
写成一个函数放入include/extend.func.php文件中
- function GetParentCategoryNameByID($CurrentID){
- $tsql = new DedeSql(false);
- $typelink2 = '';
- $tsql->SetQuery("Select i.typedir,i.typename From zz5unet_arctype t left join zz5unet_arctype i on i.id=t.reid where t.id='$CurrentID'");
- $tsql->Execute('t');
- while($row = $tsql->GetArray('t',MYSQL_ASSOC))
- {
- $typelink2 .= $row['typename'];
- }
- return $typelink2;
- }
调用方法:
- {dede:field name='id' function='GetParentCategoryNameByID(@me)' /}