<ruby id="jxxzj"></ruby>
      <th id="jxxzj"><form id="jxxzj"></form></th>

          <sub id="jxxzj"><progress id="jxxzj"></progress></sub>

          <track id="jxxzj"></track>
          <th id="jxxzj"><form id="jxxzj"></form></th>

          <th id="jxxzj"><progress id="jxxzj"><listing id="jxxzj"></listing></progress></th>
            <th id="jxxzj"></th>

            <video id="jxxzj"><big id="jxxzj"><th id="jxxzj"></th></big></video>

            <track id="jxxzj"><progress id="jxxzj"><listing id="jxxzj"></listing></progress></track>
              <address id="jxxzj"></address><video id="jxxzj"><progress id="jxxzj"></progress></video>
              VIP福利
              主頁 > 建站問題 > 織夢技巧 > edeCMS織夢欄目頁/文章詳情頁獲取頂級欄目名稱及鏈接url方法

              edeCMS織夢欄目頁/文章詳情頁獲取頂級欄目名稱及鏈接url方法

              我們使用DedeCMS織夢開發網站時,經常會碰到需要調用當前頂級欄目名稱,而織夢默認{dede:field name=typename /} 只可以獲取當前欄目的名稱,而不是當前欄目頂級欄目名稱。 方法一: { dede : field . typeid runphp = yes } $ID = @ me ; $sql = SELECT * FROM `dede_arctype` WHERE id= $ID ; $query = mysql_query ( $sql ) ; $row = mysql_fe […]



              我們使用DedeCMS織夢開發網站時,經常會碰到需要調用當前頂級欄目名稱,而織夢默認{dede:field name='typename' /} 只可以獲取當前欄目的名稱,而不是當前欄目頂級欄目名稱。

              方法一:

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

              方法二(推薦):

              修改 include/helpers/extend.helper.php 結尾增加:

              1. /**
              2. * 獲取一個類目的頂級欄目
              3. * @param string $tid 欄目 ID
              4. * @return string
              5. */
              6. if ( ! function_exists('gettoptype'))
              7. {
              8. function gettoptype($tid,$action)
              9. {
              10. global $dsql,$cfg_Cs;
              11. if(!is_array($cfg_Cs))
              12. {
              13. require_once(DEDEDATA."/cache/inc_catalog_base.inc");
              14. }
              15. if(!isset($cfg_Cs[$tid][0]) || $cfg_Cs[$tid][0]==0)
              16. {
              17. $topid = $tid;
              18. }
              19. else
              20. {
              21. $topid = GetTopid($cfg_Cs[$tid][0]);
              22. }
              23. $row = $dsql->GetOne("SELECT * FROM `dede_arctype` WHERE id=$topid");
              24. $toptypename = $row['typename'];
              25. $toptypeurl = $topid;
              26. if($action=='id') return $topid;
              27. if($action=='name') return $toptypename;
              28. if($action=='link') return GetOneTypeUrlA($row);
              29. }
              30. }

              織夢頂級欄目鏈接,名稱及 id 調用代碼:

              1. {dede:field.typeid function="gettoptype(@me,id)"/}   //id
              2. {dede:field.typeid function="gettoptype(@me,name)"/} //名稱
              3. {dede:field.typeid function="gettoptype(@me,link)"/} //鏈接

              方法三(推薦):
              打開include/helpers/extend.helper.php,添加一個函數:

              1. /**
              2.      *  獲取指定欄目id的頂級欄目的名稱
              3.      * @return     string
              4.      */
              5.     if ( ! function_exists('getTopChannelName'))
              6.     {
              7.     function getTopChannelName($id) {
              8.        global $dsql;
              9.             $typeinfo = $dsql->GetOne("SELECT * FROM `dede_arctype` WHERE id='{$id}'");
              10.             if($typeinfo['reid']==0) return $typeinfo['typename'];
              11.             else return getTopChannelName($typeinfo['reid']);
              12.     }
              13.     }

              在列表頁這么使用:{dede:field name='id' function='getTopChannelName(@me)'/}

              在內容頁這么使用:{dede:field name='typeid' function='getTopChannelName(@me)'/}

              附帶獲取頂級欄目的url,打開include/helpers/extend.helper.php,添加一個函數:

              1.  /**
              2.      *  獲取指定欄目id的頂級欄目的url
              3.      * @return     string
              4.      */
              5.     if ( ! function_exists('getTopChannelUrl'))
              6.     {
              7.     function getTopChannelUrl($id) {
              8.        global $dsql;
              9.             $typeinfo = $dsql->GetOne("SELECT * FROM `dede_arctype` WHERE id='{$id}'");
              10.             if($typeinfo['reid']==0) return GetOneTypeUrlA($typeinfo);
              11.             else return getTopChannelUrl($typeinfo['reid']);
              12.     }
              13.     }

              在列表頁這么使用:{dede:field name='id' function='getTopChannelUrl (@me)'/}

              在內容頁這么使用:{dede:field name='typeid' function='getTopChannelUrl(@me)'/}


              說點什么吧
              • 全部評論(0
                還沒有評論,快來搶沙發吧!

              韩国全部三级伦在线观看 - 视频 - 在线观看 - 电影影院 - 品赏网