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语法(3)
Oct 09 PHP
建立文件交换功能的脚本(二)
Oct 09 PHP
PHP获得用户使用的代理服务器ip即真实ip
Dec 31 PHP
php实现jQuery扩展函数
Oct 30 PHP
CentOS 6.2使用yum安装LAMP以及phpMyadmin详解
Jun 17 PHP
php简单实现无限分类树形列表的方法
Mar 27 PHP
YII2.0之Activeform表单组件用法实例
Jan 09 PHP
编写PHP脚本清除WordPress头部冗余代码的方法讲解
Mar 01 PHP
Ajax PHP JavaScript MySQL实现简易无刷新在线聊天室
Aug 17 PHP
Docker搭建自己的PHP开发环境
Feb 24 PHP
Centos7 Yum安装PHP7.2流程教程详解
Jul 02 PHP
laravel 验证错误信息到 blade模板的方法
Sep 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
这东西价格,可以买几台TECSUN S-2000
2021/03/02 无线电
3
2006/10/09 PHP
php实现转换html格式为文本格式的方法
2016/05/16 PHP
PhpStorm配置Xdebug调试的方法步骤
2019/02/02 PHP
JavaScript OOP类与继承
2009/11/15 Javascript
Tab切换组件(选项卡功能)实例代码
2013/11/21 Javascript
捕获和分析JavaScript Error的方法
2014/03/25 Javascript
JavaScript关闭当前页面(窗口)不带任何提示
2014/03/26 Javascript
javascript设置连续两次点击按钮时间间隔的方法
2014/10/28 Javascript
jQuery实现伸展与合拢panel的方法
2015/04/30 Javascript
理解JavaScript中worker事件api
2015/12/25 Javascript
JavaScipt中栈的实现方法
2016/02/17 Javascript
js绘制购物车抛物线动画
2020/11/18 Javascript
微信小程序 scroll-view组件实现列表页实例代码
2016/12/14 Javascript
js获取指定时间的前几秒
2017/04/05 Javascript
用jquery获取select标签中选中的option值及文本的示例
2018/01/25 jQuery
Angular 向组件传递模板的两种方法
2018/02/23 Javascript
vue2.0 资源文件assets和static的区别详解
2018/04/08 Javascript
关于Vue Router中路由守卫的应用及在全局导航守卫中检查元字段的方法
2018/12/09 Javascript
echarts统计x轴区间的数值实例代码详解
2019/07/07 Javascript
解决layui table表单提示数据接口请求异常的问题
2019/09/24 Javascript
简明 Python 基础学习教程
2007/02/08 Python
Python利用IPython提高开发效率
2016/08/10 Python
Python命令行解析模块详解
2018/02/01 Python
python 2.7.14安装图文教程
2018/04/08 Python
Windows系统下PhantomJS的安装和基本用法
2018/10/21 Python
pycharm 2018 激活码及破解补丁激活方式
2020/09/21 Python
python 实现socket服务端并发的四种方式
2020/12/14 Python
python制作微博图片爬取工具
2021/01/16 Python
应届生如何写自荐信
2014/01/05 职场文书
总经理岗位职责范本
2014/02/02 职场文书
贷款担保申请书
2014/05/20 职场文书
医学生求职自荐书
2014/06/12 职场文书
公司总经理助理岗位职责
2014/07/09 职场文书
2015年教师节贺卡寄语
2015/03/24 职场文书
小程序实现文字循环滚动动画
2021/06/14 Javascript