• 全国400电话网上服务平台
    强大号码库资源任选,方便,快捷,快速开通。
    咨询热线:400-1100-266  

    DEDECMS栏目页内容页调用上级栏目名称和链接(含各种调用代码)
    POST TIME:2021-05-23 02:28
    我们在制作DEDE的模板的时候经常需要用到调用上一级栏目的栏目名称和栏目链接,网上找了一大堆办法,终于实现这个效果
    方法如下:
    <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:field name="typename"}  

    调用该顶级频道下所有子栏目,row代表调用5条
     {dede:channel type='son' row='5'} <a href="[field:typeurl/]">[field:typename/]</a> {/dede:channel} 

    调用子栏目的当前顶级栏目名称
    {dede:channel type='top'}<a>[field:typename/]</a> {/dede:channel} 


    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='栏目id'} <a href="[field:typeurl/]">[field:typename/]</a> {/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'/}


    下面是调用顶级栏目名称的方法:

    方法一:




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


    这个方法语句有些长。
    
    关于我们 | 付款方式 | 建站知识 | 增值服务 | 网站模板
    Copyright © 2003-2016
    时间:9:00-21:00 (节假日不休)
    版权所有:巨人网络(扬州)科技有限公司
    总部地址:江苏省信息产业基地11号楼四层
    《增值电信业务经营许可证》 苏B2-20120278
    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信

    微信号已复制,请打开微信添加咨询详情!