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 相关文章推荐
构建简单的Webmail系统
Oct 09 PHP
php缓存技术介绍
Nov 25 PHP
PHP教程之PHP中shell脚本的使用方法分享
Feb 23 PHP
PHP flock 文件锁详细介绍
Dec 29 PHP
JavaScript创建命名空间的5种写法
Jun 24 PHP
php跨服务器访问方法小结
May 12 PHP
PHP 开发者该知道的 5 个 Composer 小技巧
Feb 03 PHP
php并发加锁示例
Oct 17 PHP
ThinkPHP5实现作业管理系统中处理学生未交作业与已交作业信息的方法
Nov 12 PHP
curl 出现错误的调试方法(必看)
Feb 13 PHP
PHP使用pdo连接access数据库并循环显示数据操作示例
Jun 05 PHP
Laravel获取当前请求的控制器和方法以及中间件的例子
Oct 11 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
日本收入最高的漫画家:海贼王作者版税年收入高达8.45亿元
2020/03/04 日漫
php生成静态文件的多种方法分享
2012/07/17 PHP
PHP小教程之实现双向链表
2014/06/12 PHP
php实现的IMEI限制的短信验证码发送类
2015/05/05 PHP
php实现搜索一维数组元素并删除二维数组对应元素的方法
2015/07/06 PHP
Laravel中Trait的用法实例详解
2016/03/16 PHP
php文件上传、下载和删除示例
2020/08/28 PHP
php5.x禁用eval的操作方法
2018/10/19 PHP
PHP pthreads v3在centos7平台下的安装与配置操作方法
2020/02/21 PHP
js获取字符串最后一位方法汇总
2014/11/13 Javascript
JavaScript提高性能知识点汇总
2016/01/15 Javascript
微信小程序-图片、录音、音频播放、音乐播放、视频、文件代码实例
2016/11/22 Javascript
通过BootStrap-select插件 js jQuery控制select属性变化
2017/01/03 Javascript
Angular ui.bootstrap.pagination分页
2017/01/20 Javascript
原生js实现选项卡功能
2017/03/08 Javascript
详细AngularJs4的图片剪裁组件的实例
2017/07/12 Javascript
解决vue组件中使用v-for出现告警问题及v for指令介绍
2017/11/11 Javascript
JavaScript如何把两个数组对象合并过程解析
2019/10/10 Javascript
微信小程序webSocket的使用方法
2020/02/20 Javascript
使用pdb模块调试Python程序实例
2015/06/02 Python
Python实现二叉搜索树
2016/02/03 Python
JPype实现在python中调用JAVA的实例
2017/07/19 Python
Windows下的Jupyter Notebook 安装与自定义启动(图文详解)
2018/02/21 Python
python中kmeans聚类实现代码
2018/02/23 Python
PyQT5 QTableView显示绑定数据的实例详解
2019/06/25 Python
java中的控制结构(if,循环)详解
2019/06/26 Python
python 判断三个数字中的最大值实例代码
2019/07/24 Python
opencv实现简单人脸识别
2021/02/19 Python
Python并发请求下限制QPS(每秒查询率)的实现代码
2020/06/05 Python
python用Tkinter做自己的中文代码编辑器
2020/09/07 Python
视图的作用
2014/12/19 面试题
Shell如何接收变量输入
2016/08/06 面试题
感恩教育活动总结
2014/05/05 职场文书
云冈石窟导游词
2015/02/04 职场文书
仓库管理制度范本
2015/08/04 职场文书
Python保存并浏览用户的历史记录
2022/04/29 Python