比如我有一个字段叫推荐(tuijian)
我想当这个字段为空的时候就替换成其他字段的内容,比如要替换成aid的内容
直接[field:tuijian runphp=’yes’]处理代码[/field:tuijian]貌似无法取得其他字段的内容的
找了一下解决办法
实际上我们可以采用这个
[field:array runphp=’yes’]@me=@me[‘title’];[/field:array]处理多个字符
比如刚才的功能可以写成
[field:array runphp=’yes’]
$aa=@me[‘tuijian’];
if(empty($aa)){
@me=@me[‘aid’];
}else{
@me=@me[‘tuijian’];
}
[/field:array]
这个功能非常有用~记录一下
顺便附上找到的文章
关于dede模板文件里面的编程总结
我们用dede最常见的就是模板的制作.下面列举一些制作dede模板文件的时候里面的一些编程总结
一 .字段调用函数 :
1. artlist标签里面:
[field:pubdate function=MyDate(‘Y-m-d H:i’,@me)/]
2. 文章页面里面(article_article.htm):
{dede:field.pubdate function=”MyDate(‘Y-m-d H:i’,@me)”/}
或者这样写 {dede:field name=’pubdate’ function=”MyDate(‘Y-m-d H:i’,@me)”/}
上面的@me代表pubdate这个字段值,函数返回处理后的值
二.字段值用PHP处理的
1. artlist标签里面:
处理单个字段:[field:title runphp=’yes’]@me ;[/field:title]
处理多个字符: [field:array runphp=’yes’]@me=@me[‘title’];[/field:array]
2. 文章页面里面(article_article.htm):
处理单个字段: {dede:field.title runphp=’yes’} @me;{/dede:field.title}
或者 {dede:field name=’title’ runphp=’yes’} @me;{/dede:field}
处理多个字符: {dede:field.array runphp=’yes’} @me=@me[‘title’];{/dede:field.array}
或者 {dede:field name=’array’ runphp=’yes’} @me=@me[‘title’];{/dede:field}
三.模板文件里面直接写PHP带码
{dede:php}
$flag=1;
if($flag==1) {
echo ‘111′;
}else{
echo ‘22′;
}
{/dede:php}
四.其它
1.在文章列表中,显示当前文章的评论数量:
[field:ID runphp=’yes’]$dsql = new dedesql(false);$dsql -> SetQuery(“Select count(id) as c
from dede_feedback where aid=”.@me);$row = $dsql -> getone();@me=$row[‘c’];[/field:ID]
2.文章收藏次数
[field:ID runphp=’yes’]$dsql = new dedesql();$dsql -> SetQuery(“select count(*) as c from
dede_member_stow where aid=”.@me);$nic_row = $dsql -> getone();@me=$nic_row[‘c’];[/field:ID]
3.
{dede:field.id runphp=’yes’}
$tsql = new DedeSql(false);
$gname = ”;
$row = $tsql->GetOne(“Select 字段名 From 表名 where aid=’@me’”);
$gname .= “进入游戏”;
@me=$gname;
{/dede:field.id}
4. 列表页调用会员任意字段信息.
[field:mid runphp=yes]
$tsql = new DedeSql(false);
$mid = ”;
$tsql->SetQuery(“Select m.mid,m.userid,c.company,c.address,c.url FROM dede_member m left join
dede_member_company c on m.mid = c.mid where m.mid=’@me’”);
$tsql->Execute(‘t’);
while($row = $tsql->GetArray(‘t’,MYSQL_ASSOC))
{
$mid .= “
公司名:”
.$row[‘company’].”
”.”
公司网址:”
.$row[‘url’].”
”;
}
@me=$mid;
[/field:mid]
或简单一个表:
公司地址:
[field:mid runphp=yes]
$tsql = new DedeSql(false);
$mid = ”;
$tsql->SetQuery(“Select mid,company,address From dede_member_company where mid=’@me’”);
$tsql->Execute(‘t’);
while($row = $tsql->GetArray(‘t’,MYSQL_ASSOC))
{
$mid = $row[‘address’];
}
@me=$mid;
[/field:mid]
阅读全文
客户需要把头像设置成比较大的竖的长方形
我看了一下,8.3的头像分成3种,一种是原始尺寸,一种是中等大小,一种是小的
原始尺寸是客户直接上传的大小
中等尺寸和小尺寸却是由截取头像那个FLASH生成的
我发现截取大小是直接在FLASH里面固定好了~
没办法修改,除非能编辑那个FLASH文件
尝试破解了一下,因为我的FLASH版本是8,比较低,没有修改成功
有些郁闷
那么最快捷的方法是直接显示上传的原始图了
修改read.php里面找到
list($read[‘face’],,$httpWidth,$httpHeight,,,,$read[‘facesize’]) = showfacedesign($read[‘micon’], true, ‘m’);
后面的m就是读取中等尺寸的头像
我们把他留空就是直接读取原始的头像
list($read[‘face’],,$httpWidth,$httpHeight,,,,$read[‘facesize’]) = showfacedesign($read[‘micon’], true, ”);
就可以了
阅读全文
键盘进水了~
某些键失去作用,变成其他键了·
看着刚买没几天的键盘,有点心痛
没办法,花了一个多小时拆开来清理里面的积水~
最后终于恢复正常了
阅读全文
前几天发现用转接口的PS/2键盘频繁出错了
我明白是由于转接口的问题
可能天气热,里面某些元件受不了高温吧
于是我上街买了个USB口的键盘
接着下了CS玩了一下,结果过不了几分钟就死机
想起机子买了2年了,还从来没清过灰尘
现在天气热了,不能正常散热的话肯定还会继续死机
即使CPU有温度监控什么的,会自动关机
但是瞬间的关机对硬盘损害也是很大啊
频繁死机的话,硬盘迟早会挂掉
于是我上网找可一下教程,果然有两篇
都是我这个型号机子的拆机教程
我匆匆抄了一些,自己画了一些简易图,然后就开始动手拆机了
根据教程,慢慢摸索,还真的把机子拆开了
有些经验非常有用,记录一下:
首先是螺丝钉的问题,由于笔记本背面螺丝很多,还长度不一,一不注意就乱成一团,所以拿张纸,大概画一下位置,然后把卸下来的螺丝钉给直接插在图上相关位置,最后装回机子的时候对号入座就可以了
还有就是卡座问题,我们的指甲不够长,或者怕直接掰的话会掰烂,可以使用一些电话卡,银行卡什么的代替指甲去掰卡座
其他的就没什么值得记录的了
由于没经验,最后拆主板的时候弄了好久,最后才发现竟然还有线没拔下来,难怪拆不下来~看来细心是非常需要的
等下再玩玩半条测试一下,看看是不是恢复稳定状态了
阅读全文
记录一下,以防以后又碰到相同情况又要找来找去
select count(*) as a from ( (SELECT aid,typeid,linkman,xiaoqu,fangxing,mianji,jiage,shijian,senddate FROM dede_addoninfos WHERE arcrank>=0 AND state=0 and typeid0) UNION (SELECT aid,typeid,linkman,xiaoqu,fangxing,mianji,jiage,shijian,senddate FROM dede_addoninfos9 WHERE arcrank>=0 AND state=0 and typeid0) ORDER BY aid desc)as temp;
中间是一个联合查询
外面是统计总查询数
我在网上搜索到了一些语句,按照那种模式却老是遇到错误
最后突发奇想这样写,竟然通过了
因为也是用到了UNION,所以DEDE中使用的时候先得把安全检测关掉
不然会提示安全警告
阅读全文
下个月拿证
想想去年8月份就报名的~
到现在都差不多一年了才得拿证
也真是够久的
一方面是我自己去年没空
另一方面是考试时间间隔比较长
倒桩还补考了一次
浪费了一个多月
不过还好,后面都比较顺利
阅读全文
今天给客户弄站,需要联合查询两个表
要用到union,我用了SQL标签去查询,结果不能运行
提示Safe Alert: Request Error step 1 !
一看到就知道是安全警告,也就是SQL语句里不能用union
主要是为了防止注入
但是我现在必须使用啊,怎么办呢?
有人提出可以
include下的dedesql.class.php找到如下构造函数
1. function __construct($pconnect=false,$nconnect=true)
2. {
3. $this->isClose = false;
4. $this->safeCheck = true;
5. if($nconnect)
6. {
7. $this->Init($pconnect);
8. }
9. }
把其中的$this->safeCheck = true;改为$this->safeCheck = false;
但是将“true”修改为false即可屏蔽掉安全检测。当然,这样存在一定的安全隐患
那么只能使用PHP标签了,直接写PHP语句
用 {dede:php} 标签进行完全的编程
下面就是我写的
{dede:php }
$sql_tag=”(SELECT aid,typeid,linkman,xiaoqu,fangxing,mianji,jiage,shijian,senddate FROM dede_addoninfos WHERE arcrank>=0 AND state=0 and typeid0) UNION (SELECT aid,typeid,linkman,xiaoqu,fangxing,mianji,jiage,shijian,senddate FROM dede_addoninfos9 WHERE arcrank>=0 AND state=0 and typeid0) ORDER BY aid desc LIMIT 10;”;
if(!isset($dsql)||!is_object($dsql)){
$dsql=new DedeSql(false);}
$dsql->safeCheck = false;
$dsql->SetQuery($sql_tag);
$dsql->Execute();
while($row=$dsql->GetArray()){
$url=GetOneArchive($row[‘aid’]);
$url[‘typeurl1’]=GetTypeUrl($row[‘typeid’],$url[‘typedir’],1,$defaultname=’index.html’,0,$namerule2='{typedir}/list_{tid}_{page}.html’,$moresite=0,$siteurl=”,$url[‘typedir’]);
echo “ “.$url[‘typename’].”“;
echo “ “.$row[‘linkman’].”“;
echo “ “.$row[‘xiaoqu’].”“;
echo “ “.$row[‘fangxing’].”“;
echo “ “.$row[‘mianji’].”“;
echo “ “.$row[‘jiage’].”“;
echo “ “.$row[‘shijian’].”“;
echo “ “.MyDate(‘y-m-d’,$row[‘senddate’]).”“;
}
{/dede:php}
其中的$dsql->safeCheck = false; 就是把检测关掉了
测试通过
阅读全文
序版本:DEDEv5.3 gbk
问题原因:用户发布的内容中含有系统中设置的非法字符,但系统没有明确提示非法文字,造成用户十分茫然。
解决办法:明确提示非法文字,方便用户修改。
修改文件:inclide/fileter.inc.php,大约19行左右
if($cfg_notallowstr!=” && eregi($cfg_notallowstr,$svar))
{
preg_match_all(“@{$cfg_notallowstr}@”,$svar,$me);
$me = array_unique($me[0]);
$notallowkeys = ”;
foreach($me as $v){
$notallowkeys .= $v . ‘, ‘;
}
$msg =??’您发布的内容中带有不被允许的文字 :’ . $notallowkeys;
ShowMsg($msg,’-1′);
exit();
}
阅读全文
今天看了一下,都是以mx8168.net为邮箱后缀注册的,到他们站点一看,果然是个叫虫虫营销助手的垃圾营销软件,注册了近千个垃圾帐号
前段时间我开启了邮箱验证,不过SMTP没设置成功,然后注册的垃圾帐号都处于未验证阶段
我再仔细看了一下,发现也有用其他邮箱注册的,应该是正常的用户,不过大部分都没验证成功
想起我设置SMTP的时候,没成功就默认用主机的MAIL函数发送,貌似也能发送成功,不过速度慢得要死,恐怕要半分钟才发送成功,很多人会员注册的时候恐怕等不了那么久,于是才会出现那么多未验证的帐号
想起前几天才给客户设置SMTP,也是用QQ的,是成功了的
然后我进后台检查了一下,发现端口写错了,上QQ邮箱帮助那里查了一下,原来一般的用端口25,SSL加密的才用465
再仔细一看,我连密码都弄错了,难怪前次测试没成功
今天再仔细改了一下,测试了一下终于成功了
然后我想着怎么屏蔽那个垃圾营销软件的骚扰
找到reg_new.php修改其中的$dopost==’regok’这个地方
找到邮箱验证
if(!CheckEmail($email))
{
ShowMsg('Email格式不正确!', '-1');
exit();
}
添加我们自己的验证
//判断EMAIL是否包含有某个垃圾广告软件的EMAIL
if (preg_match( "/mx8168/i ",$email)){
print "怀疑你是由垃圾营销软件注册的,请换个注册邮箱";
exit();
}
直接过滤含有mx8168字符的邮箱
然后到后台删除帐号~
不过竟然提示错误,貌似是UCAPI出错,没有相关函数
直接找到相关文件去掉那个函数的调用就可以了
反正我也没整合UC
阅读全文
最近也没什么重大的事情发生,所以一直都不怎么想写生活
前段时间回了她的家,看到的是惨不忍睹的老人、老屋
顿时心情一落千丈,有种上当受骗的感觉,几分凄苦几分愁
唉,只怪自己一时糊涂,不过登记的时候我都已经有种预感
那时候的心情也是非常不好,有种想哭却哭不出来的感觉
貌似自己一辈子就要毁了一样
前几天她和老妈去看婚纱照展览,回来就兴致勃勃地提条件了
我心里一点想照的欲望都没有,肯坚决地拒绝了
没想到她发脾气了
好吧,发就发吧,大家一起发
于是乎~~~~~~~~~~~~~~~~~~~~~~~
往事不堪回首,今天在老妈的逼问下我坦诚了
无所谓了,一切都无所谓了
勉强得不到任何幸福,和一个不喜欢的人过一生确实很悲哀
证我烧了,人也分了吧
阅读全文