在使用DEDE CMS进行模板开发时,经常需要调用上一级栏目的名称和链接。以下是一篇经过改写、符合SEO优化的文章,包含代码示例,并按照要求进行了格式化。 ---

在制作DEDE模板的过程中,我们经常会遇到需要调用上级栏目名称和链接的情况。为了实现这一功能,我们可以采用以下方法。

以下是具体实现方式:

其中,红色字体部分为栏目链接的调用代码,而蓝色字体部分则是用于调用栏目名称的代码。


当然,还有其他多种调用方式,例如:

1. 调用当前栏目的名称:


{dede:field name="typename"}

2. 调用顶级频道下所有子栏目(row表示调用数量):


{dede:channel type='son' row='5'} [field:typename/] {/dede:channel}

3. 调用子栏目的当前顶级栏目名称:


{dede:channel type='top'}[field:typename/] {/dede:channel}

4. N级子栏目调用最上级栏目名称:


{dede:field name='position' runphp='yes'}  
$tc="-"; //分隔符  
$tw=$GLOBALS['cfg_list_symbol']; //调用位置分隔符  
$tf=split($tw,@me); //分解成数组  
$ta=1;$tk=trim($tf[$ta]);$tk=substr($tk,0,-2);@me=$tk; //赋值给@me  
{/dede:field}

5. N级子栏目调用上级栏目名称:

方法一:


{dede:field name='position' runphp='yes'}  
$tc="-"; //分隔符  
$tw=$GLOBALS['cfg_list_symbol']; //调用位置分隔符  
$tf=split($tw,@me); //分解成数组  
$ta=(count($tf)-3);$tk=trim($tf[$ta]);@me=$tk; //赋值给@me  
{/dede:field}

方法二:


6. 调用指定栏目:


{dede:type typeid='栏目id'} [field:typename/] {/dede:type}

7. 实现“文章标题-二级栏目-一级栏目-网站名”的标题栏显示:


{dede:field name='title'/}-{dede:field name='position' runphp='yes'}  
$tc="-"; //分隔符  
$tw=$GLOBALS['cfg_list_symbol']; //调用位置分隔符  
@me=html2text(@me); //去除HTML标签  
$tf=split($tw,@me); //分解成数组  
for($ta=(count($tf)-2);$ta>=1;$ta--){ //循环赋值给$tk  
$tk.=trim($tf[$ta]).$tc;}$tk=substr($tk,0,-1);@me=$tk; //赋值给@me  
{/dede:field}-{dede:global name='cfg_webname'/}

此外,还可以通过以下方法调用顶级栏目名称:


{dede:field.typeid runphp='yes'}  
$ID = @me;  
$sql = "SELECT * FROM `dede_arctype` WHERE id=$ID";  
$query = mysql_query($sql);$row=mysql_fetch_array($query);  
$relID = "$row[reid]";  
if($relID == 0) {@me = $row[typename];}  
else{$sql = "SELECT `typename` FROM `dede_arctype` WHERE id=$relID";  
$query = mysql_query($sql);  
$row=mysql_fetch_array($query);  
@me = $row[typename];}  
{/dede:field.typeid}

以上方法可以帮助您更灵活地调用DEDE栏目的相关信息,从而提升模板的功能性和用户体验。

--- 希望这篇文章能够满足您的需求!