织梦获取顶级栏目\当前栏目\上级栏目的相关信息教程
织梦前端很多时候需要直接获取一个栏目的相关信息,获取在某个页面上获取顶级或者上一级栏目的相关信息,这样我们可以自己写个自定义方法来实现。
打开 \include\extend.func.php 在最下面添加(另外获取当前栏目父栏目名称的方法请查看这里https://https://www.wangzhan.cc/DEDECMS/254.html)
/** * 获取顶级栏目相关信息 * * @access public * @param string $tid 栏目id * @param string $field 栏目字段 * @return string */ if ( ! function_exists('getToptype')) { function getToptype($tid,$field) { global $dsql,$cfg_Cs; if(!is_array($cfg_Cs)) { require_once(DEDEDATA."/cache/inc_catalog_base.inc"); } if(!isset($cfg_Cs[$tid][0]) || $cfg_Cs[$tid][0]==0) { $topid = $tid; } else { $topid = GetTopid($cfg_Cs[$tid][0]); } $row = $dsql->GetOne("SELECT * FROM `dede_arctype` WHERE id=$topid"); if($field=='id') return $topid; if($field=='typename') return $row['typename'];//栏目名称 if($field=='typeurl') return GetOneTypeUrlA($row);//栏目链接 if($field=='typenamedir') return $row['typenamedir'];//栏目英文名称 if($field=='seotitle') return $row['seotitle'];//栏目SEO标题 if($field=='description') return $row['description'];//栏目描述 if($field=='content') return $row['content'];//栏目内容 } } /** * 获取当前栏目相关信息 * * @access public * @param string $tid 栏目id * @param string $field 栏目字段 * @return string */ if ( ! function_exists('getCurtype')) { function getCurtype($tid,$field) { global $dsql; $row = $dsql->GetOne("SELECT * FROM `dede_arctype` WHERE id=$tid"); if($field=='id') return $tid; if($field=='typename') return $row['typename'];//栏目名称 if($field=='typeurl') return GetOneTypeUrlA($row);//栏目链接 if($field=='typenamedir') return $row['typenamedir'];//栏目英文名称 if($field=='seotitle') return $row['seotitle'];//栏目SEO标题 if($field=='description') return $row['description'];//栏目描述 if($field=='content') return $row['content'];//栏目内容 } } /** * 获取上级栏目相关信息 * * @access public * @param string $tid 栏目id * @param string $field 栏目字段 * @return string */ if ( ! function_exists('getRetype')) { function getRetype($tid,$field) { global $dsql; $typeid = $tid; $query = "SELECT reid FROM `dede_arctype` where id = $typeid"; $rs = $dsql->GetOne($query); $reid = $rs['reid']; $query2 = "SELECT * FROM `dede_arctype` where id = $reid"; $row = $dsql->GetOne($query2); if($field=='id') return $tid; if($field=='typename') return $row['typename'];//栏目名称 if($field=='typeurl') return GetOneTypeUrlA($row);//栏目链接 if($field=='typenamedir') return $row['typenamedir'];//栏目英文名称 if($field=='seotitle') return $row['seotitle'];//栏目SEO标题 if($field=='description') return $row['description'];//栏目描述 if($field=='content') return $row['content'];//栏目内容 } }
模板里调用方法
需要哪个字段,就对应的填上字段名即可
获取顶级栏目相关信息
{dede:field.typeid function=getToptype(@me,typename)/}
获取当前栏目相关信息
{dede:field.typeid function=getCurtype(@me,typename)/}
获取上级栏目相关信息
{dede:field.typeid function=getRetype(@me,typename)/}
不喜欢添加自定义方法的同学可以试试这样
{dede:field.typeid runphp=yes}global $dsql;$row = $dsql->GetOne("SELECT * FROM dede_arctype WHERE id=@me");$reid = "$row[reid]"; $topid = "$row[topid]";if($reid == 0) @me = $row[content];else $row = $dsql->GetOne("SELECT * FROM dede_arctype WHERE id=$topid");@me = $row[content];{/dede:field.typeid}
获取顶级的topid
获取上级的reid
推荐栏目
本站推荐
- 修改DEDE链接中的单引号为双引号
- DEDECMS启用绝对路径后远程缩略图存BUG
- 织梦dedecms自由列表的"不使用目录默认
- dedecms把文章批量设为未审核的办法
- 织梦调用父级栏目链接和名称
- 织梦data文件夹移动到程序上一层目录
- 优化增加搜索栏目功能后的搜索结果
- 织梦同级栏目指定文章调用实现相关文章教
- 织梦获取顶级栏目\当前栏目\上级栏目的相
- 织梦dedecms栏目添加自定义字段,增加栏
- 织梦DedeCMS自增函数[field:global name=
- dedecms织梦上传图片 缩略图路径统一
- 新增DEDE栏目页,无法更新,无权限
- 修改织梦摘要长度字数限制
- DEDECMS后台批量替换数据安全码不显示
- 织梦DEDECMS网站标签Tag静态化,生成静态
- 去掉FCK编辑器复制粘贴产生的<p>&a
- 完美解决FCK编辑器上传图片自动带DIV标签
- 去掉FCK编辑器每一段之前的空格 
- 织梦登录后台显示空白
百度站内搜索
Copyright © 2007-2014 海鬼 保留所有权利.
无心无力无时间来进行无用的备案
Theme by 海鬼 坚持不一定胜利 也许你在南辕北辙!