DedeCMS 核心类TypeLink.class.php摘要笔记


Posted in PHP onApril 07, 2010

注:'//+' 表示为本人另外加上的注释
Class TypeLink
{
var $typeDir;
var $dsql;
var $TypeID; //+ 类别ID
var $baseDir; //+ 站点根网址
var $modDir; //+ 模板目录
var $indexUrl; //+ 主页链接地址
var $indexName; //+ 主页链接名
var $TypeInfos; //+ 类目信息
var $SplitSymbol; //+ 栏目位置的间隔符号
var $valuePosition; //+ 主页 > 国内 > 两会动态 > (带连接)
var $valuePositionName; //+ 主页 > 国内 > 两会动态 > (不带连接)
var $OptionArrayList; //+ 类目下拉列表
功能一,获得某类目的链接

//获得某分类连接的URL 
function GetOneTypeUrl($typeinfos) 
{ 
return GetTypeUrl(); 
} 
//获得某个类目的超链接信息 
function GetOneTypeLink($typeinfos) 
{ 
$typepage = $this->GetOneTypeUrl($typeinfos); 
$typelink = "<a href='".$typepage."'>".$typeinfos['typename']."</a>"; 
return $typelink; 
}

功能二,获得某类目的链接列表 如:'类目一>类目二>' 这样的形式。
//islink 表示返回的列表是否带连接 
//+ SplitSymbol 栏目位置的间隔符号 dede系统默认为'-' 
function GetPositionLink($islink=true) 
{ //+ 获得 主页链接名 
$indexpage = "<a href='".$this->indexUrl."'>".$this->indexName."</a>"; 
…… 
…… 
else 
{ 
if($islink) 
{ 
$this->valuePosition = $this->GetOneTypeLink($this->TypeInfos); 
if($this->TypeInfos['reid']!=0) 
{ 
//调用递归逻辑 
$this->LogicGetPosition($this->TypeInfos['reid'],true); 
} 
$this->valuePosition = $indexpage.$this->SplitSymbol.$this->valuePosition; 
return $this->valuePosition.$this->SplitSymbol; 
} 
else 
{ 
$this->valuePositionName = $this->TypeInfos['typename']; 
if($this->TypeInfos['reid']!=0) 
{ 
//调用递归逻辑 
$this->LogicGetPosition($this->TypeInfos['reid'],false); 
} 
return $this->valuePositionName; 
} 
} 
} 
//获得某类目的链接列表,递归逻辑部分 
function LogicGetPosition($id,$islink) 
{ 
$this->dsql->SetQuery(" SQL查询语句 "); 
$tinfos = $this->dsql->GetOne(); 
if($islink) 
{ //+ 列表带连接 
$this->valuePosition = $this->GetOneTypeLink($tinfos).$this->SplitSymbol.$this->valuePosition; 
} 
else 
{ //+ 列表不带连接 
$this->valuePositionName = $tinfos['typename'].$this->SplitSymbol.$this->valuePositionName; 
} 
if($tinfos['reid']>0) 
{ //+ 递归 
$this->LogicGetPosition($tinfos['reid'],$islink); 
} 
}

功能三, 获得类别列表 高级搜索功能 即highsearch.php 即要用到此函数
//hid 是指默认选中类目,0 表示“请选择类目”或“不限类目” 
//oper 是用户允许管理的类目,0 表示所有类目 
//channeltype 是指类目的内容类型,0 表示不限频道 
function GetOptionArray($hid=0,$oper=0,$channeltype=0,$usersg=0) 
{ 
return $this->GetOptionList($hid,$oper,$channeltype,$usersg); 
} 
function GetOptionList($hid=0,$oper=0,$channeltype=0,$usersg=0) 
{ 
return $this->OptionArrayList; 
} 
//+ 为下级类目递归加上 '-' 
function LogicGetOptionArray($id, $step, $oper=0) 
{ 
}

功能四,
//获得与该类相关的类目,本函数应用于模板标记{dede:channel}{/dede:channel}中
//$typetype 的值为: sun 下级分类 self 同级分类 top 顶级分类
function GetChannelList($typeid=0,$reid=0,$row=8,$typetype='sun',$innertext='', 
$col=1,$tablewidth=100,$myinnertext='') 
{ 
} 
}
PHP 相关文章推荐
php生成随机数或者字符串的代码
Sep 05 PHP
单一index.php实现PHP任意层级文件夹遍历(Zjmainstay原创)
Jul 31 PHP
mongo Table类文件 获取MongoCursor(游标)的实现方法分析
Jul 01 PHP
php var_export与var_dump 输出的不同
Aug 09 PHP
在PHP模板引擎smarty生成随机数的方法和math函数详解
Apr 24 PHP
php中cookie实现二级域名可访问操作的方法
Nov 11 PHP
PHP输出九九乘法表代码实例
Mar 27 PHP
PHP实现通过get方式识别用户发送邮件的方法
Jul 16 PHP
php使用ffmpeg向视频中添加文字字幕的实现方法
May 23 PHP
PHP中类的继承和用法实例分析
May 24 PHP
py文件转exe时包含paramiko模块出错解决方法
Aug 12 PHP
php生成随机数/生成随机字符串的方法小结【5种方法】
May 27 PHP
通俗易懂的php防注入代码
Apr 07 #PHP
Ext.data.PagingMemoryProxy分页一次性读取数据的实现代码
Apr 07 #PHP
用PHP实现读取和编写XML DOM代码
Apr 07 #PHP
php session和cookie使用说明
Apr 07 #PHP
DedeCMS dede_channeltype表字段注释
Apr 07 #PHP
php抓取https的内容的代码
Apr 06 #PHP
php中几种常见安全设置详解
Apr 06 #PHP
You might like
第1次亲密接触PHP5(1)
2006/10/09 PHP
PHP音乐采集(部分代码)
2007/02/14 PHP
mysql_fetch_row,mysql_fetch_array,mysql_fetch_assoc的区别
2009/04/24 PHP
浅析php学习的路线图
2013/07/10 PHP
PHP 读取大文件并显示的简单实例(推荐)
2016/08/12 PHP
确保Laravel网站不会被嵌入到其他站点中的方法
2019/10/18 PHP
javascript进行数组追加方法小结
2014/06/16 Javascript
Lua表达式和控制结构学习笔记
2014/12/15 Javascript
Node.js实现数据推送
2016/04/14 Javascript
JavaScript语言精粹经典实例(整理篇)
2016/06/07 Javascript
基于VUE选择上传图片并页面显示(图片可删除)
2017/05/25 Javascript
AngularJS基于MVC的复杂操作实例讲解
2017/12/31 Javascript
nodejs更新package.json中的dependencies依赖到最新版本的方法
2018/10/10 NodeJs
element-ui upload组件多文件上传的示例代码
2018/10/17 Javascript
通过实例解析js简易模块加载器
2019/06/17 Javascript
vue+echarts实现中国地图流动效果(步骤详解)
2021/01/27 Vue.js
[04:16]DOTA2英雄梦之声_第09期_斧王
2014/06/21 DOTA
[01:02:30]Mineski vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第三场 8.22
2019/09/05 DOTA
Python入门篇之文件
2014/10/20 Python
python通过函数属性实现全局变量的方法
2015/05/16 Python
python基于multiprocessing的多进程创建方法
2015/06/04 Python
在Django中同时使用多个配置文件的方法
2015/07/22 Python
基于Python os模块常用命令介绍
2017/11/03 Python
处理python中多线程与多进程中的数据共享问题
2019/07/28 Python
CSS3打造百度贴吧的3D翻牌效果示例
2017/01/04 HTML / CSS
详解CSS3中字体平滑处理和抗锯齿渲染
2017/03/29 HTML / CSS
html5的websockets全双工通信详解学习示例
2014/02/26 HTML / CSS
JSF如何进行表格处理及取值
2012/08/06 面试题
乡镇信息公开实施方案
2014/03/23 职场文书
网络技术专业求职信
2014/05/02 职场文书
新闻工作者先进事迹
2014/05/26 职场文书
小区环境卫生倡议书
2015/04/29 职场文书
交通事故赔偿起诉书
2015/05/20 职场文书
2015年科普工作总结
2015/07/23 职场文书
2016年小学中秋节活动总结
2016/04/05 职场文书
Vue-Element-Admin集成自己的接口实现登录跳转
2021/06/23 Vue.js