用织梦DedeCMS系统建网站时,需要调用到上级栏目名称及链接,总结了2种调用方法:

 

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}

N级子栏目调用上级栏目名称和链接

 

方法1

{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}

方法2

   <a href=
       {dede:field.typeid runphp='yes'"}
       global $dsql ;
       $reid = $dsql->GetOne("SELECT reid FROM dede_arctype where id=@me");
       $reid = $reid['reid'];
       $typename = $dsql->GetOne("SELECT typedir FROM dede_arctype where id=$reid");
       @me=str_replace('{cmspath}','',$typename['typedir']);
    {/dede:field.typeid}
       >
    {dede:field.typeid runphp='yes'"}
       global $dsql ;
       $reid = $dsql->GetOne("SELECT reid FROM dede_arctype where id=@me");
       $reid = $reid['reid'];
       $typename = $dsql->GetOne("SELECT typename FROM dede_arctype where id=$reid");
       @me=$typename['typename'];
    {/dede:field.typeid}
    </a>

 

调用指定栏目

{dede:type typeid='14'}
    <li><a href="[field:typelink/]">全部</a></li>
    {/dede:type}

 

DEDE标题栏:文章标题-2级栏目-1级栏目-网站名”样式显示

    {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'/}