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 相关文章推荐
超级实用的7个PHP代码片段分享
Jan 05 PHP
php将字符串全部转换成大写或者小写的方法
Mar 17 PHP
ThinkPHP V2.2说明文档没有说明的那些事实例小结
Jul 01 PHP
PHP的Laravel框架中使用消息队列queue及异步队列的方法
Mar 21 PHP
基于PHP生成简单的验证码
Jun 01 PHP
phpcms的分类名称和类别名称的调用
Jan 05 PHP
PHP中让json_encode不自动转义斜杠“/”的方法
Feb 28 PHP
Laravel框架模板继承操作示例
Jun 11 PHP
PHP实现数组根据某个单元字段排序操作示例
Aug 01 PHP
PHP模版引擎原理、定义与用法实例
Mar 29 PHP
laravel 出现command not found问题的解决方案
Oct 23 PHP
如何用RabbitMQ和Swoole实现一个异步任务系统
May 29 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
php正则表达式获取内容所有链接
2015/07/24 PHP
ThinkPHP5.0 图片上传生成缩略图实例代码说明
2018/06/20 PHP
IE无法设置短域名下Cookie
2010/09/23 Javascript
JQuery插件Style定制化方法的分析与比较
2012/05/03 Javascript
鼠标放在图片上显示大图的JS代码
2013/03/26 Javascript
JS 屏蔽按键效果与改变按键效果的示例代码
2013/12/24 Javascript
AngularJS入门之动画
2016/07/27 Javascript
BootStrap中Datepicker控件带中文的js文件
2016/08/10 Javascript
AngularJS应用开发思维之依赖注入3
2016/08/19 Javascript
Bootstrap导航条的使用和理解3
2016/12/14 Javascript
微信小程序 共用变量值的实现
2017/07/12 Javascript
JavaScript中一些特殊的字符运算
2017/08/17 Javascript
Ant Design Pro 之 ProTable使用操作
2020/10/31 Javascript
[01:31:02]TNC vs VG 2019国际邀请赛淘汰赛 胜者组赛BO3 第一场
2019/08/22 DOTA
[01:01:18]VP vs NIP 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
[35:27]完美世界DOTA2联赛循环赛 GXR vs FTD BO2第二场 10.29
2020/10/29 DOTA
socket + select 完成伪并发操作的实例
2017/08/15 Python
利用Tensorflow构建和训练自己的CNN来做简单的验证码识别方式
2020/01/20 Python
Python字典深浅拷贝与循环方式方法详解
2020/02/09 Python
Python多线程:主线程等待所有子线程结束代码
2020/04/25 Python
Pycharm生成可执行文件.exe的实现方法
2020/06/02 Python
PyTorch实现重写/改写Dataset并载入Dataloader
2020/07/14 Python
windows系统Tensorflow2.x简单安装记录(图文)
2021/01/18 Python
python在协程中增加任务实例操作
2021/02/28 Python
西班牙三叶草药房:Farmacias Trébol
2019/05/03 全球购物
凌阳科技股份有限公司C++程序员面试题笔试题
2014/11/20 面试题
开学典礼感言
2014/02/16 职场文书
十一酒店活动方案
2014/02/20 职场文书
公益广告语集锦
2014/03/13 职场文书
电大毕业个人生自我鉴定
2014/03/26 职场文书
在职党员进社区活动总结
2014/07/05 职场文书
员工安全责任书范本
2014/07/24 职场文书
县委班子四风对照检查材料思想汇报
2014/09/29 职场文书
党员自我剖析材料范文
2014/10/06 职场文书
2015年社区计生工作总结
2015/04/21 职场文书
Python编程编写完善的命令行工具
2021/09/15 Python