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 相关文章推荐
Apache2 httpd.conf 中文版
Nov 17 PHP
收集的php编写大型网站问题集
Mar 06 PHP
深入eAccelerator与memcached的区别详解
Jun 06 PHP
php过滤敏感词的示例
Mar 31 PHP
php实现上传图片保存到数据库的方法
Feb 11 PHP
PHP中的表达式简述
May 29 PHP
Yii1.1中通过Sql查询进行的分页操作方法
Mar 16 PHP
php使用flock阻塞写入文件和非阻塞写入文件的实例讲解
Jul 10 PHP
ThinkPHP实现转换数据库查询结果数据到对应类型的方法
Nov 16 PHP
详解php中curl返回false的解决办法
Mar 18 PHP
ThinkPHP5.1框架页面跳转及修改跳转页面模版示例
May 06 PHP
TP3.2.3框架使用CKeditor编辑器在页面中上传图片的方法分析
Dec 31 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 dirname()与__FILE__常量的应用
2013/06/24 PHP
解决laravel 5.1报错:No supported encrypter found的办法
2017/06/07 PHP
Smarty缓存机制实例详解【三种缓存方式】
2019/07/20 PHP
通过PHP的Wrapper无缝迁移原有项目到新服务的实现方法
2020/04/02 PHP
关于B/S判断浏览器断开的问题讨论
2008/10/29 Javascript
ExtJS 2.0 GridPanel基本表格简明教程
2010/05/25 Javascript
JavaScript性能优化 创建文档碎片(document.createDocumentFragment)
2010/07/13 Javascript
jQuery1.5.1 animate方法源码阅读
2011/04/05 Javascript
jQuery动画效果-slideUp slideDown上下滑动示例代码
2013/08/28 Javascript
动态加载js、css等文件跨iframe实现
2014/02/24 Javascript
浅谈jQuery中height与width
2015/07/06 Javascript
原生 JS Ajax,GET和POST 请求实例代码
2016/06/08 Javascript
浅析上传头像示例及其注意事项
2016/12/14 Javascript
JavaScript正则获取地址栏中参数的方法
2017/03/02 Javascript
jQuery插件FusionCharts实现的2D面积图效果示例【附demo源码下载】
2017/03/06 Javascript
vue表单自定义校验规则介绍
2018/08/28 Javascript
Node.js API详解之 os模块用法实例分析
2020/05/06 Javascript
vue移动端写的拖拽功能示例代码
2020/09/09 Javascript
Vue过滤器,生命周期函数和vue-resource简单介绍
2021/01/12 Vue.js
[02:52]2017DOTA2国际邀请赛中国区预选赛晋级之路
2017/07/03 DOTA
Python聚类算法之基本K均值实例详解
2015/11/20 Python
浅谈python编译pyc工程--导包问题解决
2019/03/20 Python
使用pyecharts生成Echarts网页的实例
2019/08/12 Python
Python 读取有公式cell的结果内容实例方法
2020/02/17 Python
python数据库操作mysql:pymysql、sqlalchemy常见用法详解
2020/03/30 Python
python框架flask入门之路由及简单实现方法
2020/06/07 Python
Python requests模块安装及使用教程图解
2020/06/30 Python
Canvas与Image互相转换示例代码
2013/08/09 HTML / CSS
萨克斯第五大道英国:Saks Fifth Avenue英国
2019/04/01 全球购物
戴尔新加坡官网:Dell Singapore
2020/12/13 全球购物
QA工程师岗位职责
2013/11/20 职场文书
企业百日安全活动总结
2015/05/07 职场文书
考生诚信考试承诺书(2016版)
2016/03/25 职场文书
2019年年中职场激励人心语录30条
2019/08/07 职场文书
MySQL COUNT函数的使用与优化
2021/05/10 MySQL
解决SpringCloud Feign传对象参数调用失败的问题
2021/06/23 Java/Android