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和ACCESS写聊天室(八)
Oct 09 PHP
ADODB结合SMARTY使用~超级强
Nov 25 PHP
PHP注释实例技巧
Oct 03 PHP
php $_ENV为空的原因分析
Jun 01 PHP
php学习之流程控制实现代码
Jun 09 PHP
php源代码安装常见错误与解决办法分享
May 28 PHP
php批量删除数据库下指定前缀的表以prefix_为例
Aug 24 PHP
PHP格式化MYSQL返回float类型的方法
Mar 30 PHP
php读取torrent种子文件内容的方法(测试可用)
May 03 PHP
Yii统计不同类型邮箱数量的方法
Oct 18 PHP
thinkPHP3.2.2框架行为扩展及demo示例
Jun 19 PHP
Laravel配置全局公共函数的方法步骤
May 09 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
Home Coffee Roasting
2021/03/03 咖啡文化
一篇有意思的技术文章php介绍篇
2010/10/26 PHP
探讨:parse url解析URL,返回其组成部分
2013/06/14 PHP
codeigniter框架The URI you submitted has disallowed characters错误解决方法
2014/05/06 PHP
ThinkPHP3.1新特性之内容解析输出详解
2014/06/19 PHP
php实现扫描二维码根据浏览器类型访问不同下载地址
2014/10/15 PHP
解决phpcms更换javascript的幻灯片代码调用图片问题
2014/12/26 PHP
PHP扩展开发入门教程
2015/02/26 PHP
两种php去除二维数组的重复项方法
2015/11/04 PHP
PHP面向对象五大原则之单一职责原则(SRP)详解
2018/04/04 PHP
js静态方法与实例方法分析
2011/07/04 Javascript
JS正则表达式大全(整理详细且实用)
2013/11/14 Javascript
适用于javascript开发者的Processing.js入门教程
2016/02/24 Javascript
AngularJS基础 ng-paste 指令简单示例
2016/08/02 Javascript
js鼠标按键事件和键盘按键事件用法实例汇总
2016/10/03 Javascript
轻松学习Javascript闭包
2017/03/01 Javascript
jquery仿ps颜色拾取功能
2017/03/08 Javascript
vue2.x select2 指令封装详解
2017/10/12 Javascript
nodejs require js文件入口,在package.json中指定默认入口main方法
2018/10/10 NodeJs
vuex 解决报错this.$store.commit is not a function的方法
2018/12/17 Javascript
vue vant Area组件使用详解
2019/12/09 Javascript
微信小程序实现翻牌抽奖动画
2020/09/21 Javascript
[01:26]神话结束了,却也刚刚开始——DOTA2新英雄玛尔斯驾临战场
2019/03/10 DOTA
Python中的列表知识点汇总
2015/04/14 Python
详谈Python2.6和Python3.0中对除法操作的异同
2017/04/28 Python
Python常见的pandas用法demo示例
2019/03/16 Python
python opencv 简单阈值算法的实现
2019/08/04 Python
opencv-python 读取图像并转换颜色空间实例
2019/12/09 Python
网页切图的CSS和布局经验与要点
2015/04/09 HTML / CSS
澳大利亚正品化妆品之家:Cosmetic Capital
2017/07/03 全球购物
Python面试题集
2012/03/08 面试题
办理收楼委托书范本
2014/10/09 职场文书
预备党员群众路线教育实践活动思想汇报2014
2014/10/25 职场文书
安徽导游词
2015/02/12 职场文书
致运动员加油稿
2015/07/21 职场文书
Python将CSV文件转化为HTML文件的操作方法
2021/06/30 Python