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
php 论坛采集程序 模拟登陆,抓取页面 实现代码
Jul 09 PHP
使用bcompiler对PHP文件进行加密的代码
Aug 29 PHP
php 5.3.5安装memcache注意事项小结
Apr 12 PHP
php中使用接口实现工厂设计模式的代码
Jun 17 PHP
深入PHP与浏览器缓存的分析
Jun 03 PHP
跨浏览器PHP下载文件名中的中文乱码问题解决方法
Mar 05 PHP
php实现Mongodb自定义方式生成自增ID的方法
Mar 23 PHP
php数据访问之增删改查操作
May 09 PHP
值得分享的php+ajax实时聊天室
Jul 20 PHP
laravel 框架实现无限级分类的方法示例
Oct 31 PHP
PHP7修改的函数
Mar 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
PHP 基本语法格式
2009/12/15 PHP
详解PHP的Yii框架中扩展的安装与使用
2016/04/01 PHP
php实现图片按比例截取的方法
2017/02/06 PHP
javascript编程起步(第七课)
2007/02/27 Javascript
Javascript客户端将指定区域导出到Word、Excel的代码
2008/10/22 Javascript
浅谈JavaScript函数参数的可修改性问题
2013/12/05 Javascript
JS和JQ的event对象区别分析
2014/11/24 Javascript
js中this的用法实例分析
2015/01/10 Javascript
深入理解JavaScript系列(25):设计模式之单例模式详解
2015/03/03 Javascript
jQuery实现弹出窗口中切换登录与注册表单
2015/06/05 Javascript
Angular懒加载机制刷新后无法回退的快速解决方法
2016/08/30 Javascript
JS碰撞运动实现方法详解
2016/12/15 Javascript
小发现之浅谈location.search与location.hash的问题
2017/06/23 Javascript
JavaScript实现焦点进入文本框内关闭输入法的核心代码
2017/09/20 Javascript
js插件实现图片滑动验证码
2020/09/29 Javascript
使用webpack打包后的vue项目如何正确运行(express)
2018/10/26 Javascript
JavaScript键盘事件响应顺序详解
2019/09/30 Javascript
[07:48]DOTA2上海特级锦标赛主赛事首日RECAP
2016/03/04 DOTA
实现python版本的按任意键继续/退出
2016/09/26 Python
django 常用orm操作详解
2017/09/13 Python
python 读取摄像头数据并保存的实例
2018/08/03 Python
Django 多环境配置详解
2019/05/14 Python
Django ORM 查询管理器源码解析
2019/08/05 Python
使用IPython或Spyder将省略号表示的内容完整输出
2020/04/20 Python
python根据完整路径获得盘名/路径名/文件名/文件扩展名的方法
2020/04/22 Python
python 三种方法实现对Excel表格的读写
2020/11/19 Python
利用python+ffmpeg合并B站视频及格式转换的实例代码
2020/11/24 Python
用CSS3的box-reflect来制作倒影效果
2016/11/15 HTML / CSS
EJB timer的种类
2014/10/28 面试题
应届护士推荐信
2013/11/16 职场文书
网络工程专业自荐信范文
2014/03/16 职场文书
法定代表人授权委托书格式
2014/10/14 职场文书
外出考察学习心得体会
2016/01/18 职场文书
未来,这5大方向都很适合创业
2019/07/22 职场文书
MySQL 视图(View)原理解析
2021/05/19 MySQL
Win11跳过联网界面创建本地管理账户的3种方法
2022/04/20 数码科技