当前位置: 编程技术>php
本页文章导读:
▪dedecms系统的广告设置代码 基础版本
1.文章内每篇文章的结尾处,顶一下 踩一下的上方的广告位置, 这个位置的大小是658*60 658长度不要变,60高度可以任意改 广告代码添加在这—-后台—–模板—-默认模板管理—-找到article_arti.........
▪PHP 动态随机生成验证码类代码
下面是效果图,这个效果图是没有开启干扰码的效果图 下面是类代码 代码如下: <?php /************************************************ //FILE:ImageCode //DONE:生成动态验证码类 //DATE"2010-3-31 //Author:www.5dkx.........
▪DedeCMS 核心类TypeLink.class.php摘要笔记
注:'//+' 表示为本人另外加上的注释 Class TypeLink { var $typeDir; var $dsql; var $TypeID; //+ 类别ID var $baseDir; //+ 站点根网址 var $modDir; //+ 模板目录 var $indexUrl; //+ 主页链接地址 var $indexName; //+ 主页链.........
[1]dedecms系统的广告设置代码 基础版本
来源: 互联网 发布时间: 2013-11-30
1.文章内每篇文章的结尾处,顶一下 踩一下的上方的广告位置,
这个位置的大小是658*60 658长度不要变,60高度可以任意改
广告代码添加在这—-后台—–模板—-默认模板管理—-找到article_article.htm 文章内容页模板—–修改—–看到很多代码
找到以下代码………
<small>时间:</small>{dede:field.pubdate function=”MyDate('Y-m-d H:i',@me)”/}<small>来源:</small>{dede:field.source/} <small>作者:</small>{dede:field.writer/} <small>点击:</small><script src=/blog_article/”{dede_field/index.html name='phpurl'/}/count.php?view=yes&aid={dede:field name='id'/}&mid={dede:field name='mid'/}” type='text/javascript' language=”javascript”></script>次</div><!– /info –>
{dede:field.description runphp='yes'}
if(@me<>” )@me = ‘<div .@me.'</div>';
{/dede:field.description}
<div wenzhang'/}
<div wenzhang'/}
2.首页右边边栏的广告位置 ,侧栏下方,投票调查的上方。这个位置大小是250*250
把广告代码放在那里——后台—–模板—-默认模板管理—进入index.html主页模板—-修改—看以下代码,找到投票调查字样,把你的代码放到投票调查上一行就可以了,如下面的例子:
{dede:myad name='celan'/}
<dt><strong>投票调查</strong></dt>
3.把会员部分改成广告
首先我们把原来的会员内容处理掉 找到 /templets/default/index.htm 文件 定位这个代码 <a href="#" _for="uc_member">会员</a>和<dd id="uc_member" >
<div id="_userlogin">
<div >
<form name="userlogin" action="/blog_article/{dede_global.cfg_memberurl/}/index_do.html" method="POST">
<input type="hidden" name="fmdo" value="login" />
<input type="hidden" name="dopost" value="login" />
<input type="hidden" name="keeptime" value="604800" />
<div ><span>用户名:</span>
<input type="text" name="userid" size="20" />
</div>
<div ><span>密码:</span>
<input type="password" name="pwd" size="20" />
</div>
<div ><span>验证码:</span>
<input type="text" name="vdcode" size="8" />
<img src="/blog_article/{dede_global.cfg_cmsurl/}/include/vdimgck.html" />
</div>
<div >
<button type="submit" >登录</button>
<a href="/blog_article/{dede_global.cfg_memberurl/}/index_do/fmdo/user/amp;dopost/regnew.html">注册帐号</a> <a href="/blog_article/{dede_global.cfg_memberurl/}/resetpassword.html">忘记密码?</a>
</div>
</form>
</div>
</div>
<!-- /userlogin -->
<script language="javascript" type="text/javascript">CheckLogin();</script>
<div > <strong>最近登陆的会员</strong>
<ul >
{dede:memberlist row=6 signlen=30}
<li><a href="/blog_article/[field_spaceurl/]/index.html" target="_blank"><img src="/blog_article/[field_face/]/index.html" alt='[field:spacename/]' width="52" height="52" />[field:uname/]</a></li>
{/dede:memberlist}
</ul>
</div>
<!-- /latestlogin -->
</dd>
<!-- /uc_member -->
好进行修改 首先把 <a href="#" _for="uc_member">会员</a>里的"会员"修改成"赞助商链接"或者广告一类的
然后新建一个广告 这里我就不罗嗦了 得到广告代码 {dede:myad name='uccenter'/} 用下面这个代码代替前面了红色的长长的代码<dd id="uc_member" ">>
<div align="center" ">> {dede:myad name='uccenter'/} </">>
</dd">>
"><!-- /uc_member -->
保存 更新就OVER了
4.首页菜单栏下方,搜索 标签上方的广告添加 。
这个地方的大小最好放通栏广告。尺寸是950*90的最好,长度950不要变,90高度的尺寸可以变。 我在这个地方放的是文字广告,大家可以放通栏的图片。
广告代码放在这里后台—–模板—-默认模板管理—进入head.htm 列表页头部模板 [修改] —-点击修改—-看到页面代码—找到以下
</div>
{dede:myad name='wenzi'/}
<!– /nav –>
<div topbanner'/}就是广告代码,就是首页顶部的广告代码。
6.主页和频道"图片资讯"下面的文字广告
放广告方法:
在主页和各频道模板找到下面的代码:
<!-- /picnews -->
<div >
{dede:channelartlist}
文字广告调好后放在这里
<dl >
PS:后台"广告管理"可以先调好广告位的代码.
7.文章页侧栏热点内容下方广告位置 侧栏热点内容的下方一个正方形的广告位置:
这个广告位置尺寸是250*250 所放的广告不能比250*250大,小了可以显示,大了就不正常了。
广告代码以下位置:
广告代码添加在这—-后台—–模板—-默认模板管理—-找到article_article.htm 文章内容页模板—–修改—–看到很多代码
找到以下代码,大约在倒数第五行和第六行………
</div>
{dede:myad name='celan1′/}
</div><!– /pright –>
</div>
{dede:include filename=”footer.htm”/}
<!– /footer –>
在 </div><!– /pright –>上方放上你的广告代码就可以了如我的例子:
{dede:myad name='celan1′/}
</div><!– /pright –>
8.每篇文章中的环绕广告, 打开\templets\default\article_article.htm这个模板
找到
<div >
代码放在这里
{dede:field.body/}
其中代码是:
<SPAN >
{dede:myad name='huanraoguanggao'/}
</SPAN>
说明:{dede:myad name='huanraoguanggao'/}这一段是DEDE代码,就是在后台里添加的广告代码,可以是文字,图片等等
9.友情链接上方的广告
友情链接上方的广告添加方法。 友情链接上方长长的广告。
首先这个地方的位置大小是658*60 长度658不能变,比658小可以,高了就不能全部显示了。高度60可以任意,70高80高90高100高都可以。 现在进入后台—–模块—-广告管理—增加一个新广告—–然按照有求填写相关数据— 填完后点击确定—-在回到广告管理——复制新增加的代码(就是{dede:myad name=*****/}
把这段广告代码放在这里—后台—–模板—-默认模板管理—进入index.html主页模板—-修改—看以下代码
找到…………………..
<!– /listbox –>
{dede:myad name='shouye1′/}
</div>
<!– /pleft –>
<div class=”pright”>
<div class=”usercenter”>
<dl class=”tbox”>
<dt> <strong>互动中心</strong> <span class=”label”> <a href=/blog_article/”/index.html _for=”uc_digg”>踩踩………………….
字样,把你的复制的广告代码放到<!– /listbox –>
下面一行就可以了。如上面的例子。
这个位置的大小是658*60 658长度不要变,60高度可以任意改
广告代码添加在这—-后台—–模板—-默认模板管理—-找到article_article.htm 文章内容页模板—–修改—–看到很多代码
找到以下代码………
<small>时间:</small>{dede:field.pubdate function=”MyDate('Y-m-d H:i',@me)”/}<small>来源:</small>{dede:field.source/} <small>作者:</small>{dede:field.writer/} <small>点击:</small><script src=/blog_article/”{dede_field/index.html name='phpurl'/}/count.php?view=yes&aid={dede:field name='id'/}&mid={dede:field name='mid'/}” type='text/javascript' language=”javascript”></script>次</div><!– /info –>
{dede:field.description runphp='yes'}
if(@me<>” )@me = ‘<div .@me.'</div>';
{/dede:field.description}
<div wenzhang'/}
<div wenzhang'/}
2.首页右边边栏的广告位置 ,侧栏下方,投票调查的上方。这个位置大小是250*250
把广告代码放在那里——后台—–模板—-默认模板管理—进入index.html主页模板—-修改—看以下代码,找到投票调查字样,把你的代码放到投票调查上一行就可以了,如下面的例子:
{dede:myad name='celan'/}
<dt><strong>投票调查</strong></dt>
3.把会员部分改成广告
首先我们把原来的会员内容处理掉 找到 /templets/default/index.htm 文件 定位这个代码 <a href="#" _for="uc_member">会员</a>和<dd id="uc_member" >
<div id="_userlogin">
<div >
<form name="userlogin" action="/blog_article/{dede_global.cfg_memberurl/}/index_do.html" method="POST">
<input type="hidden" name="fmdo" value="login" />
<input type="hidden" name="dopost" value="login" />
<input type="hidden" name="keeptime" value="604800" />
<div ><span>用户名:</span>
<input type="text" name="userid" size="20" />
</div>
<div ><span>密码:</span>
<input type="password" name="pwd" size="20" />
</div>
<div ><span>验证码:</span>
<input type="text" name="vdcode" size="8" />
<img src="/blog_article/{dede_global.cfg_cmsurl/}/include/vdimgck.html" />
</div>
<div >
<button type="submit" >登录</button>
<a href="/blog_article/{dede_global.cfg_memberurl/}/index_do/fmdo/user/amp;dopost/regnew.html">注册帐号</a> <a href="/blog_article/{dede_global.cfg_memberurl/}/resetpassword.html">忘记密码?</a>
</div>
</form>
</div>
</div>
<!-- /userlogin -->
<script language="javascript" type="text/javascript">CheckLogin();</script>
<div > <strong>最近登陆的会员</strong>
<ul >
{dede:memberlist row=6 signlen=30}
<li><a href="/blog_article/[field_spaceurl/]/index.html" target="_blank"><img src="/blog_article/[field_face/]/index.html" alt='[field:spacename/]' width="52" height="52" />[field:uname/]</a></li>
{/dede:memberlist}
</ul>
</div>
<!-- /latestlogin -->
</dd>
<!-- /uc_member -->
好进行修改 首先把 <a href="#" _for="uc_member">会员</a>里的"会员"修改成"赞助商链接"或者广告一类的
然后新建一个广告 这里我就不罗嗦了 得到广告代码 {dede:myad name='uccenter'/} 用下面这个代码代替前面了红色的长长的代码<dd id="uc_member" ">>
<div align="center" ">> {dede:myad name='uccenter'/} </">>
</dd">>
"><!-- /uc_member -->
保存 更新就OVER了
4.首页菜单栏下方,搜索 标签上方的广告添加 。
这个地方的大小最好放通栏广告。尺寸是950*90的最好,长度950不要变,90高度的尺寸可以变。 我在这个地方放的是文字广告,大家可以放通栏的图片。
广告代码放在这里后台—–模板—-默认模板管理—进入head.htm 列表页头部模板 [修改] —-点击修改—-看到页面代码—找到以下
</div>
{dede:myad name='wenzi'/}
<!– /nav –>
<div topbanner'/}就是广告代码,就是首页顶部的广告代码。
6.主页和频道"图片资讯"下面的文字广告
放广告方法:
在主页和各频道模板找到下面的代码:
<!-- /picnews -->
<div >
{dede:channelartlist}
文字广告调好后放在这里
<dl >
PS:后台"广告管理"可以先调好广告位的代码.
7.文章页侧栏热点内容下方广告位置 侧栏热点内容的下方一个正方形的广告位置:
这个广告位置尺寸是250*250 所放的广告不能比250*250大,小了可以显示,大了就不正常了。
广告代码以下位置:
广告代码添加在这—-后台—–模板—-默认模板管理—-找到article_article.htm 文章内容页模板—–修改—–看到很多代码
找到以下代码,大约在倒数第五行和第六行………
</div>
{dede:myad name='celan1′/}
</div><!– /pright –>
</div>
{dede:include filename=”footer.htm”/}
<!– /footer –>
在 </div><!– /pright –>上方放上你的广告代码就可以了如我的例子:
{dede:myad name='celan1′/}
</div><!– /pright –>
8.每篇文章中的环绕广告, 打开\templets\default\article_article.htm这个模板
找到
<div >
代码放在这里
{dede:field.body/}
其中代码是:
<SPAN >
{dede:myad name='huanraoguanggao'/}
</SPAN>
说明:{dede:myad name='huanraoguanggao'/}这一段是DEDE代码,就是在后台里添加的广告代码,可以是文字,图片等等
9.友情链接上方的广告
友情链接上方的广告添加方法。 友情链接上方长长的广告。
首先这个地方的位置大小是658*60 长度658不能变,比658小可以,高了就不能全部显示了。高度60可以任意,70高80高90高100高都可以。 现在进入后台—–模块—-广告管理—增加一个新广告—–然按照有求填写相关数据— 填完后点击确定—-在回到广告管理——复制新增加的代码(就是{dede:myad name=*****/}
把这段广告代码放在这里—后台—–模板—-默认模板管理—进入index.html主页模板—-修改—看以下代码
找到…………………..
<!– /listbox –>
{dede:myad name='shouye1′/}
</div>
<!– /pleft –>
<div class=”pright”>
<div class=”usercenter”>
<dl class=”tbox”>
<dt> <strong>互动中心</strong> <span class=”label”> <a href=/blog_article/”/index.html _for=”uc_digg”>踩踩………………….
字样,把你的复制的广告代码放到<!– /listbox –>
下面一行就可以了。如上面的例子。
[2]PHP 动态随机生成验证码类代码
来源: 互联网 发布时间: 2013-11-30
下面是效果图,这个效果图是没有开启干扰码的效果图
下面是类代码
<?php
/************************************************
//FILE:ImageCode
//DONE:生成动态验证码类
//DATE"2010-3-31
//Author:www.5dkx.com 5D开心博客
************************************************************************/
class ImageCode{
private $width; //验证码图片宽度
private $height; //验证码图片高度
private $codeNum; //验证码字符个数
private $checkCode; //验证码字符
private $image; //验证码画布
/************************************************************************
// Function:构造函数
// Done:成员属性初始化
// Author:www.5dkx.com 5D开心博客
************************************************************************/
function __construct($width=60,$height=20,$codeNum=4)
{
$this->width = $width;
$this->height = $height;
$this->codeNum = $codeNum;
$this->checkCode = $this->createCheckCode();
}
function showImage()
{
$this->getcreateImage();
$this->outputText();
$this->setDisturbColor();
$this->outputImage();
}
function getCheckCode()
{
return $this->chekCode;
}
private function getCreateImage()
{
$this->image = imagecreatetruecolor($this->width,$this->height);
$back = imagecolorallocate($this->image,255,255,255);
$border = imagecolorallocate($this->image,255,255,255);
imagefilledrectangle($this->image,0,0,$this->width-1,$this->height-1,$border);
//使用纯白色填充矩形框,这里用的话后面干扰码失效
/*如果想用干扰码的话使用下面的*/
//imagerectangle($this->image,0,0,$this->width-1,$this->height-1,$border);
}
private function createCheckCode()
{
for($i=0;$i<$this->codeNum;$i++)
{
$number = rand(0,2);
switch($number)
{
case 0: $rand_number = rand(48,57); break;//数字
case 1: $rand_number = rand(65,90);break;//大写字母
case 2: $rand_number = rand(97,122);break;//小写字母
}
$asc = sprintf("%c",$rand_number);
$asc_number = $asc_number.$asc;
}
return $asc_number;
}
private function setDisturbColor()//干扰吗设置
{
for($i=0;$i<=100;$i++)
{
//$color = imagecolorallocate($this->image,rand(0,255),rand(0,255),rand(0,255));
$color = imagecolorallocate($this->image,255,255,255);
imagesetpixel($this->image,rand(1,$this->width-2),rand(1,$this->height-2),$color);
}
//$color = imagecolorallocate($this->image,0,0,0);
//imagesetpixel($this->image,rand(1,$this->width-2),rand(1,$this->height-2),$color);
}
private function outputText()
{
//随机颜色、随机摆放、随机字符串向图像输出
for($i=0;$i<=$this->codeNum;$i++)
{
$bg_color = imagecolorallocate($this->image,rand(0,255),rand(0,128),rand(0,255));
$x = floor($this->width/$this->codeNum)*$i+3;
$y = rand(0,$this->height-15);
imagechar($this->image,5,$x,$y,$this->checkCode[$i],$bg_color);
}
}
private function outputImage()
{
if(imagetypes()&IMG_GIF)
{
header("Content_type:image/gif");
imagegif($this->image);
}
elseif(imagetypes()&IMG_JPG)
{
header("Content-type:image/jpeg");
imagejpeg($this->image,"",0.5);
}
elseif(imagetypes()&IMG_PNG)
{
header("Content-type:image/png");
imagejpeg($this->image);
}
elseif(imagetypes()&IMG_WBMP)
{
header("Content-type:image/vnd.wap.wbmp");
imagejpeg($this->image);
}
else
{
die("PHP不支持图像创建");
}
}
function __destruct()
{
imagedestroy($this->image);
}
}
/*显示*/
/*******************************************************************
session_start();
$image = new ImageCode(60,20,4);
$image->showImage();
$_SESSION['ImageCode'] = $image->getCheckCode();
*******************************************************************/
?>
下面是类代码
代码如下:
<?php
/************************************************
//FILE:ImageCode
//DONE:生成动态验证码类
//DATE"2010-3-31
//Author:www.5dkx.com 5D开心博客
************************************************************************/
class ImageCode{
private $width; //验证码图片宽度
private $height; //验证码图片高度
private $codeNum; //验证码字符个数
private $checkCode; //验证码字符
private $image; //验证码画布
/************************************************************************
// Function:构造函数
// Done:成员属性初始化
// Author:www.5dkx.com 5D开心博客
************************************************************************/
function __construct($width=60,$height=20,$codeNum=4)
{
$this->width = $width;
$this->height = $height;
$this->codeNum = $codeNum;
$this->checkCode = $this->createCheckCode();
}
function showImage()
{
$this->getcreateImage();
$this->outputText();
$this->setDisturbColor();
$this->outputImage();
}
function getCheckCode()
{
return $this->chekCode;
}
private function getCreateImage()
{
$this->image = imagecreatetruecolor($this->width,$this->height);
$back = imagecolorallocate($this->image,255,255,255);
$border = imagecolorallocate($this->image,255,255,255);
imagefilledrectangle($this->image,0,0,$this->width-1,$this->height-1,$border);
//使用纯白色填充矩形框,这里用的话后面干扰码失效
/*如果想用干扰码的话使用下面的*/
//imagerectangle($this->image,0,0,$this->width-1,$this->height-1,$border);
}
private function createCheckCode()
{
for($i=0;$i<$this->codeNum;$i++)
{
$number = rand(0,2);
switch($number)
{
case 0: $rand_number = rand(48,57); break;//数字
case 1: $rand_number = rand(65,90);break;//大写字母
case 2: $rand_number = rand(97,122);break;//小写字母
}
$asc = sprintf("%c",$rand_number);
$asc_number = $asc_number.$asc;
}
return $asc_number;
}
private function setDisturbColor()//干扰吗设置
{
for($i=0;$i<=100;$i++)
{
//$color = imagecolorallocate($this->image,rand(0,255),rand(0,255),rand(0,255));
$color = imagecolorallocate($this->image,255,255,255);
imagesetpixel($this->image,rand(1,$this->width-2),rand(1,$this->height-2),$color);
}
//$color = imagecolorallocate($this->image,0,0,0);
//imagesetpixel($this->image,rand(1,$this->width-2),rand(1,$this->height-2),$color);
}
private function outputText()
{
//随机颜色、随机摆放、随机字符串向图像输出
for($i=0;$i<=$this->codeNum;$i++)
{
$bg_color = imagecolorallocate($this->image,rand(0,255),rand(0,128),rand(0,255));
$x = floor($this->width/$this->codeNum)*$i+3;
$y = rand(0,$this->height-15);
imagechar($this->image,5,$x,$y,$this->checkCode[$i],$bg_color);
}
}
private function outputImage()
{
if(imagetypes()&IMG_GIF)
{
header("Content_type:image/gif");
imagegif($this->image);
}
elseif(imagetypes()&IMG_JPG)
{
header("Content-type:image/jpeg");
imagejpeg($this->image,"",0.5);
}
elseif(imagetypes()&IMG_PNG)
{
header("Content-type:image/png");
imagejpeg($this->image);
}
elseif(imagetypes()&IMG_WBMP)
{
header("Content-type:image/vnd.wap.wbmp");
imagejpeg($this->image);
}
else
{
die("PHP不支持图像创建");
}
}
function __destruct()
{
imagedestroy($this->image);
}
}
/*显示*/
/*******************************************************************
session_start();
$image = new ImageCode(60,20,4);
$image->showImage();
$_SESSION['ImageCode'] = $image->getCheckCode();
*******************************************************************/
?>
[3]DedeCMS 核心类TypeLink.class.php摘要笔记
来源: 互联网 发布时间: 2013-11-30
注:'//+' 表示为本人另外加上的注释
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(/blog_article/$typeinfos/index.html)
{
return GetTypeUrl();
}
//获得某个类目的超链接信息
function GetOneTypeLink($typeinfos)
{
$typepage = $this->GetOneTypeUrl(/blog_article/$typeinfos/index.html);
$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='')
{
}
}
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(/blog_article/$typeinfos/index.html)
{
return GetTypeUrl();
}
//获得某个类目的超链接信息
function GetOneTypeLink($typeinfos)
{
$typepage = $this->GetOneTypeUrl(/blog_article/$typeinfos/index.html);
$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='')
{
}
}
最新技术文章: