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 相关文章推荐
BBS(php &amp; mysql)完整版(四)
Oct 09 PHP
在命令行下运行PHP脚本[带参数]的方法
Jan 22 PHP
PHP 之Section与Cookie使用总结
Sep 14 PHP
解析php中heredoc的使用方法
Jun 17 PHP
PHP中对缓冲区的控制实现代码
Sep 29 PHP
PHP中判断文件存在使用is_file还是file_exists?
Apr 03 PHP
PHP中的静态变量及static静态变量使用详解
Nov 05 PHP
thinkphp微信开发(消息加密解密)
Dec 02 PHP
PHP中类的继承和用法实例分析
May 24 PHP
PHP文件下载实例代码浅析
Aug 17 PHP
php常用日期时间函数实例小结
Jul 04 PHP
Laravel基础_关于view共享数据的示例讲解
Oct 14 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 自动加载的简单实现(推荐)
2016/08/12 PHP
php array_map使用自定义的函数处理数组中的每个值
2016/10/26 PHP
PHP实现的无限分类类库定义与用法示例【基于thinkPHP】
2018/08/06 PHP
JavaScript窗口功能指南之在窗口中书写内容
2006/07/21 Javascript
关于JavaScript的一些看法
2009/05/27 Javascript
javascript实现日历控件(年月日关闭按钮)
2012/12/12 Javascript
jquery放大镜效果超漂亮噢
2013/11/15 Javascript
js禁止回车提交表单的示例代码
2013/12/23 Javascript
让input框实现类似百度的搜索提示(基于jquery事件监听)
2014/01/31 Javascript
深入分析JSONP跨域的原理
2014/12/10 Javascript
JavaScript获取网页、浏览器、屏幕高度和宽度汇总
2014/12/18 Javascript
果断收藏9个Javascript代码高亮脚本
2016/01/06 Javascript
javascript每日必学之条件分支
2016/02/17 Javascript
hovertree插件实现二级树形菜单(简单实用)
2016/12/28 Javascript
H5图片压缩与上传实例
2017/04/21 Javascript
详解windows下vue-cli及webpack 构建网站(二)导入bootstrap样式
2017/06/17 Javascript
vue+swiper实现侧滑菜单效果
2017/12/28 Javascript
dts文件中删除一个node或属性的操作方法
2018/08/05 Javascript
Vue实现商品分类菜单数量提示功能
2019/07/26 Javascript
vue项目初始化到登录login页面的示例
2019/10/31 Javascript
小程序实现密码输入框
2020/11/16 Javascript
Vue基于localStorage存储信息代码实例
2020/11/16 Javascript
Python break语句详解
2014/03/11 Python
一个小示例告诉你Python语言的优雅之处
2014/07/04 Python
Django admin实现图书管理系统菜鸟级教程完整实例
2017/12/12 Python
深入了解和应用Python 装饰器 @decorator
2019/04/02 Python
pytorch 实现删除tensor中的指定行列
2020/01/13 Python
利用HTML5+css3+jquery+weui实现仿微信聊天界面功能
2018/01/08 HTML / CSS
HTML5 常见面试题之PC端和移动端区别介绍
2018/01/22 HTML / CSS
幼儿园小班教学反思
2014/02/02 职场文书
教师优秀党员事迹材料
2014/08/14 职场文书
2015年生活老师工作总结
2015/05/27 职场文书
儿童诗两首教学反思
2016/02/23 职场文书
python中os.path.join()函数实例用法
2021/05/26 Python
python编程学习使用管道Pipe编写优化代码
2021/11/20 Python
Python+Tkinter制作专属图形化界面
2022/04/01 Python