织梦dedeCMS实现按栏目分类进行搜索
如遇蓝奏网盘打不开lanzous替换成lanzoux尝试!
帖出一个DedeCMS栏目搜索代码,有了这个的原形我们在做分类索引的时候就方便多了。
基础代码如下:
复制代码
用DedeCMS软件模型的做的下载站,当转向最终下载页的时候容易被盗链,这样对网站流量受到一定的影响。设置防盗链也是很简单的,找到plus目录里的download.php并在如下代码:
$row=$dsql->GetOne(“Select $vname From `”.$cu->ChannelInfos[‘addtable’].”` where aid=’$aid'”);
在上面增加判断语句
if(!strstr($_SERVER[‘HTTP_REFERER’],$arcurl))
{
echo “
”;
}
意思:不是来自本地网址,就自动跳转到本地网址。通俗的说就是当从别的网站访问你的下载地址后,就自动判断跳转到以下这个下载页面的网址。
默认的多行多列图集列表{dede:productimagelist}使用只能使用[field:text/]和[field:imgsrc/],而没有缩略图的标签,同过一行代码教你如何调用缩略图,优化你的页面载入速度,我们打开include/taglib/productimagelist.lib.php 文件找到如下代码
复制代码
if($ctag->GetName()==”img”)
{
$row=array();
$row[‘imgsrc’]=trim($ctag->GetInnerText());
$row[‘text’]=$ctag->GetAtt(‘text’);
$images[]=$row;
}
我们只需在里面插入$row[‘litpic’]=$ctag->GetAtt(‘ddimg’); 即可解决
复制代码
if($ctag->GetName()==”img”)
{
$row=array();
$row[‘imgsrc’]=trim($ctag->GetInnerText());
$row[‘text’]=$ctag->GetAtt(‘text’);
$row[‘litpic’]=$ctag->GetAtt(‘ddimg’); //得到缩略图
$images[]=$row;
}
这样我们在{productimagelist}中使用[field:litpic/]获取到图片的缩略图,达到优化页面加载速度!
你有没有想为dedecms会员中心改个名字,这里我告诉你修改会员中心的目录名字是非常麻烦的,
直接修改DEDE会员中心目录名字会导至会员注册不了和其它问题。
原来核心写定了DEDE会员目录为member 这时我们修改DEDE核心文件即可!
找到文件位置根目录 “include/common.inc.php” 打开
搜索”DEDEMEMBER” 把右边的member 改成你想要的会员目录
修改后代码
define(‘DEDEMEMBER’, DEDEROOT.’/user’);
搜索”cfg_member_dir”改成你想要的会员目录
修改后的代码
$cfg_member_dir=$cfg_cmspath.’/user’;
到这里DEDECMS会员功能基本正常,但是还有一些连接错误了,因为DEDE会员中心撰写的时候不规范
弄到定死的member 到处都是, 这是我们就需要使用Dreamweav 整站替换了,具体如何使用Dreamweav替换白度一下就知道
手动找也行在 你的会员中心模板里,出现最多的就是memu.php 这个文件
好了 今天的DEDECMS修改会员中心目录就讲到这里,感谢你的观看!
今天发现dedecms专题列表页面里调用的专题列表图片和a标签的title都没有显示,找到模板文件里看了下才发现dede:list标签中title调用的都是[field:fulltitile],由于专题的标题都比较长,所以就做了限制,在文章列表和和其他模型里[field:fulltitile]调用都是没问题的,于是就找到了问题的所在,其实很简单,找到文件,加句代码就解决了。
解决方法:
找到/include/arc.specview.class.php文件,找到
复制代码
$row[“title”]=cn_substr($row[“title”],$titlelen);
在这句代码的上面加上一下代码:
复制代码
$row[“fulltitle”]=$row[“title”];
即可解决,注意,只能加到上边,不能加到下面,否则是没效果的,显示的会是截断后的标题。
站长的dedecms版本是5.7SP1 utf-8,测试通过。
dedecms的商城搞得实在是不怎么地,功能太简单了。对于广大站长来说,如果有用户购买产品,又想立马知道的话,就必须每时每刻的守着自己的网站,真的好累,本站站长也遇到了同样的问题,所以想到了如果有订单,并且支付完成的话,让系统自动发提醒邮件给站长,这样站长就能在干别的事情的同时又知道网站订单的情况了。
本站使用的是支付宝,故只实现了支付宝支付完成发邮件的功能,实现方法:
打开/include/payment/alipay.php
找到:
$this->log_result(“verify_success,订单号:”.$order_sn); //将验证结果存入文件
在其下面加入下面代码,部分代码需要修改:
$mailbody=”;
$mailtitle=”订单号:”.$order_sn.”支付成功!”;
$mailbody .=”这里是提示信息”;
$email=’admin@qq.com’;//改为要接收邮件的邮箱
$cfg_sendmail_bysmtp=’Y’;
$cfg_smtp_server=’smtp.exmail.qq.com’; //qq邮件服务器地址
$cfg_smtp_port=’25’; //端口号,默认为25
$cfg_smtp_usermail=’mail@qq.com’; //发件邮箱地址
$cfg_smtp_user=’风格酷’; //名称
$cfg_webname=’风格酷’; //站名称
$cfg_smtp_password=’password’; //发件邮箱密码
$headers=”From: “.$cfg_smtp_usermail.”\r\nReply-To: “.$cfg_smtp_usermail;
if($cfg_sendmail_bysmtp==’Y’ && !empty($cfg_smtp_server))
{
$mailtype=’TXT’;
require_once(dirname(__FILE__).”/http://www.dede58.com/a/zhimengjiaocheng/mail.class.php”);
$smtp=new smtp($cfg_smtp_server,$cfg_smtp_port,true,$cfg_smtp_usermail,$cfg_smtp_password);
$smtp->debug=false;
$smtp->sendmail($email,$cfg_webname,$cfg_smtp_usermail, $mailtitle, $mailbody, $mailtype);
}
else
{
@mail($email, $mailtitle, $mailbody, $headers);
}
这里只是实现了一个简单的发邮件功能,如需发送更多的内容,当然得需要自己去研究了,既然都能发邮件了。别的还用担心弄不成么?