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 相关文章推荐
多数据表共用一个页的新闻发布
Oct 09 PHP
DISCUZ 分页代码
Jan 02 PHP
php zlib压缩和解压缩swf文件的代码
Dec 30 PHP
PHPMyadmin 配置文件详解(配置)
Dec 03 PHP
解决文件名解压后乱码的问题 将文件名进行转码的代码
Jan 10 PHP
ThinkPHP空模块和空操作详解
Jun 30 PHP
20个2014年最优秀的PHP框架回顾
Oct 22 PHP
php实现插入排序
Mar 29 PHP
php类常量用法实例分析
Jul 09 PHP
PHP实现的堆排序算法详解
Aug 17 PHP
PHP数组访问常用方法解析
Sep 05 PHP
php中yii框架实例用法
Dec 22 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函数篇之掌握ord()与chr()函数应用
2011/12/05 PHP
php读取csv文件后,uft8 bom导致在页面上显示出现问题的解决方法
2013/08/10 PHP
PHP实现显示照片exif信息的方法
2014/07/11 PHP
PHP中调用C/C++制作的动态链接库的教程
2016/03/10 PHP
PHP模板引擎Smarty内建函数foreach,foreachelse用法分析
2016/04/11 PHP
使用php自动备份数据库表的实现方法
2017/07/28 PHP
thinkPHP5框架闭包函数与子查询传参用法示例
2018/08/02 PHP
PHP7 echo和print语句实例用法
2019/02/15 PHP
Prototype Function对象 学习
2009/07/12 Javascript
Webkit的跨域安全问题说明
2011/09/13 Javascript
jquery在IE、FF浏览器的差别详细探讨
2013/04/28 Javascript
js获取IFRAME当前的URL的方法
2013/11/13 Javascript
文本框文本自动补全效果示例分享
2014/01/19 Javascript
javascript文件中引用依赖的js文件的方法
2014/03/17 Javascript
window resize和scroll事件的基本优化思路
2014/04/29 Javascript
整理Javascript事件响应学习笔记
2015/12/02 Javascript
jQuery Form 表单提交插件之formSerialize,fieldSerialize,fieldValue,resetForm,clearForm,clearFields的应用
2016/01/23 Javascript
浅谈webpack打包过程中因为图片的路径导致的问题
2018/02/21 Javascript
微信小程序开发常见问题及解决方案
2019/07/11 Javascript
vue遍历生成的输入框 绑定及修改值示例
2019/10/30 Javascript
vue添加自定义右键菜单的完整实例
2020/12/08 Vue.js
[01:51]历届DOTA2国际邀请赛举办地回顾 TI9落地上海
2018/08/26 DOTA
python实现k-means聚类算法
2018/02/23 Python
python中join()方法介绍
2018/10/11 Python
Django实现单用户登录的方法示例
2019/03/28 Python
Django中自定义模型管理器(Manager)及方法
2019/09/23 Python
python实现的config文件读写功能示例
2019/09/24 Python
Python集合操作方法详解
2020/02/09 Python
keras 实现轻量级网络ShuffleNet教程
2020/06/19 Python
学生发电厂实习自我鉴定
2013/09/22 职场文书
新郎新娘婚礼答谢词
2014/01/11 职场文书
教师自我反思材料
2014/02/14 职场文书
教师工作能力自我评价
2015/03/04 职场文书
签证工作证明模板
2015/06/15 职场文书
开学随笔
2015/08/15 职场文书
详解python字符串驻留技术
2021/05/21 Python