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无法访问远程mysql的问题分析及解决
May 16 PHP
PHP设计模式之结构模式的深入解析
Jun 13 PHP
去掉destoon资讯内容页keywords关键字自带的文章标题的方法
Aug 21 PHP
php防止网站被刷新的方法汇总
Dec 01 PHP
laravel 5 实现模板主题功能
Mar 02 PHP
如何使用纯PHP实现定时器任务(Timer)
Jul 31 PHP
PHP中的session安全吗?
Jan 22 PHP
Yii框架连接mongodb数据库的代码
Jul 27 PHP
php加密解密字符串示例
Oct 13 PHP
phpmyadmin在宝塔面板里进不去的解决方案
Jul 06 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根据传入参数合并多个JS和CSS文件的简单实现
2014/06/13 PHP
微信access_token的获取开发示例
2015/04/16 PHP
Laravel4中的Validator验证扩展用法详解
2016/07/26 PHP
PHP中让json_encode不自动转义斜杠“/”的方法
2017/02/28 PHP
javascript实现iframe框架延时加载的方法
2014/10/30 Javascript
jquery控制显示服务器生成的图片流
2015/08/04 Javascript
jQuery实现的数值范围range2dslider选取插件特效多款代码分享
2015/08/27 Javascript
探析浏览器执行JavaScript脚本加载与代码执行顺序
2016/01/12 Javascript
Vue.js每天必学之过滤器与自定义过滤器
2016/09/07 Javascript
JS实现表单验证功能(验证手机号是否存在,验证码倒计时)
2016/10/11 Javascript
jQuery弹出div层过2秒自动消失
2016/11/29 Javascript
AngularJS日期格式化常见操作实例分析
2018/05/17 Javascript
详解jQuery如何实现模糊搜索
2019/05/10 jQuery
package.json配置文件构成详解
2019/08/27 Javascript
javascript实现摄像头拍照预览
2019/09/30 Javascript
Vue Router 实现动态路由和常见问题及解决方法
2020/03/06 Javascript
vue 使用插槽分发内容操作示例【单个插槽、具名插槽、作用域插槽】
2020/03/06 Javascript
基于Ionic3实现选项卡切换并重新加载echarts
2020/09/24 Javascript
[01:38]完美世界DOTA2联赛PWL S3 集锦第四期
2020/12/21 DOTA
numpy排序与集合运算用法示例
2017/12/15 Python
python版opencv摄像头人脸实时检测方法
2018/08/03 Python
Python用5行代码写一个自定义简单二维码
2018/10/21 Python
python多进程控制学习小结
2018/10/31 Python
Python将字符串常量转化为变量方法总结
2019/03/17 Python
浅谈python常用程序算法
2019/03/22 Python
使用pip安装python库的多种方式
2019/07/31 Python
django使用graphql的实例
2020/09/02 Python
webView加载html图片遇到的问题解决
2019/10/08 HTML / CSS
泰国演唱会订票网站:StubHub泰国
2018/02/26 全球购物
村党支部群众路线教育实践活动对照检查材料
2014/09/26 职场文书
运动会表扬稿
2015/01/16 职场文书
建筑安全员岗位职责
2015/02/15 职场文书
会议室使用管理制度
2015/08/06 职场文书
社区志愿者服务心得体会
2016/01/22 职场文书
2019最新版劳务派遣管理制度
2019/08/16 职场文书
详解Java实践之抽象工厂模式
2021/06/18 Java/Android