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创建动态图像
Oct 09 PHP
用PHP为SHOPEX增加日志功能代码
Jul 02 PHP
php生成局部唯一识别码LUID的代码
Oct 06 PHP
php 模拟post_验证页面的返回状态(实例讲解)
Oct 28 PHP
php读取mysql的简单实例
Jan 15 PHP
php+ajax无刷新上传图片实例代码
Nov 17 PHP
yii2.0整合阿里云oss的示例代码
Sep 19 PHP
thinkPHP5实现的查询数据库并返回json数据实例
Oct 23 PHP
浅谈PHP中如何实现Hook机制
Nov 14 PHP
laravel中短信发送验证码的实现方法
Apr 25 PHP
微信支付之JSAPI公众号支付详解
May 15 PHP
PHP 计算至少是其他数字两倍的最大数的实现代码
May 26 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
session 的生命周期是多长
2006/10/09 PHP
php Notice: Undefined index 错误提示解决方法
2010/08/29 PHP
IP攻击升级,程序改进以对付新的攻击
2010/11/23 PHP
php中获取关键词及所属来源搜索引擎名称的代码
2011/02/15 PHP
基于Snoopy的PHP近似完美获取网站编码的代码
2011/10/23 PHP
php在项目中寻找代码的坏味道(综艺命名)
2012/07/19 PHP
深入Nginx + PHP 缓存详解
2013/07/11 PHP
PHP、Nginx、Apache中禁止网页被iframe引用的方法
2020/10/01 PHP
Web程序工作原理详解
2014/12/25 PHP
Zend Framework过滤器Zend_Filter用法详解
2016/12/09 PHP
PHP会话控制实例分析
2016/12/24 PHP
List the Stored Procedures in a SQL Server database
2007/06/20 Javascript
IE 上下滚动展示模仿Marquee机制
2009/12/20 Javascript
解决遍历时Array.indexOf产生的性能问题
2012/07/03 Javascript
jQuery简单几行代码实现tab切换
2015/03/10 Javascript
JavaScript弹出新窗口后向父窗口输出内容的方法
2015/04/06 Javascript
基于jQuery实现的旋转彩圈实例
2015/06/26 Javascript
javascript iframe跨域详解
2016/10/26 Javascript
在JS中a标签加入单击事件屏蔽href跳转页面
2016/12/16 Javascript
小程序异步问题之多个网络请求依次执行并依次收集请求结果
2019/05/05 Javascript
详解Node.js异步处理的各种写法
2019/06/09 Javascript
layui异步加载table表中某一列数据的例子
2019/09/16 Javascript
JS数组splice操作实例分析
2019/10/12 Javascript
python实现在每个独立进程中运行一个函数的方法
2015/04/23 Python
numpy返回array中元素的index方法
2018/06/27 Python
python在不同条件下的输入与输出
2020/02/13 Python
Zavvi美国:英国娱乐之家
2017/03/19 全球购物
国际知名军事风格休闲装品牌:Alpha Industries(阿尔法工业)
2017/05/24 全球购物
体育教师自我鉴定
2014/02/12 职场文书
会计电算化专业自荐信
2014/03/15 职场文书
初一学生期末评语
2014/04/24 职场文书
2014年党支部学习材料
2014/05/19 职场文书
2014超市收银员工作总结
2014/11/13 职场文书
先进教师个人总结
2015/02/11 职场文书
公司酒会主持词
2015/07/02 职场文书
正确使用MySQL update语句
2021/05/26 MySQL