求{dede:sql}标签脚本内写php原生代码的方法!
{dede:sql sql='...' runphp='yes'}
echo 'fuck';
{/dede:sql}
我这么写没用,应该怎样才可以在 {dede:sql}标签脚本内写php原生代码 ??
------解决方案--------------------
以下是dede中的php应用,希望对你有帮助
调用tag: {dede:field name='keywords' runphp='yes' }
if(!empty(@me)){
$kws = explode(' ',@me);
@me = "";
foreach($kws as $k){
@me .= "$k ";
}
@me= str_replace('+', ' ',trim(@me));
}
{/dede:field}
dede在首页调用文章内容
-------------------------------------------------
方法一:{dede:sql sql="SELECT aid,typeid,body,body1, body2,body3,body4,body5 FROM
`dede_addonarticle` where typeid=2 ORDER BY `aid` DESC LIMIT 0 , 1"}
[field:body /] [field:body1 /] [field:body2 /] [field:body3 /] [field:body4 /] [field:body5
/]
{/dede:sql}
方法二:{dede:sql sql="SELECT aid,typeid,body FROM `dede_addonarticle` where typeid=2 ORDER
BY `aid` DESC LIMIT 0 , 1"}
[field:body /]
{/dede:sql}
调用说明:其中typeid=2,栏目ID号,表示调用此ID栏目内的文章,换成aid=1则表示调用的aid为1的文
章(具体哪篇文章aid是多少,要进数据库看,从后台看也可以),DESC表示排序,按从大到小排,换成
ASC则按从小到大排序,LIMIT 0 , 1表示调用数量,也可以写成数量LIMIT 1,这个1代表调用的数量。
列表隔5行加一行线:
{dede:list pagesize='50'}
target=_blank>[field:title function="cn_substr(@me,48)"/][field:pubdate
runphp='yes']
$a="".strftime('%m-%d',@me)."";
$b=strftime('%m-%d',@me);
$ntime = time();
$day3 = 3600 * 24;
if(($ntime - @me) else @me =$b;
[/field:pubdate]
[field:global name=autoindex runphp="yes"]
if(@me%5==0)@me="
";
else @me="";
[/field:global]
{/dede:list}
--------------------------------------------
最新 文章列表 “隔行换色” 的方法
{dede:arclist orderby=pubdate titlelen='26' row='10'}
[field:global runphp='yes' name=autoindex]
$a="
";
$b="
";
if ((@me%2)==0) @me=$a;
else @me=$b;
[/field:global]
{/dede:arclist}
--------------------------------------------
广告代码::{dede:myad name='广告位标识'/}
24小时内更新的文章时间显示为红色:
[field:pubdate runphp='yes']
$a="
".strftime('%m-%d',@me)."";
$b=strftime('%m-%d',@me);
$ntime = time();
$day3 = 3600 * 24;
if(($ntime - @me) else @me =$b;
[/field:pubdate]
实现“文章标题-2级栏目-1级栏目-网站名”形式
{dede:field name='title'/}-{dede:field name='position' runphp='yes'}
$tc="-"; //分隔符
$tw=$GLOBALS['cfg_list_symbol']; //调用位置分隔符
@me=html2text(@me); //去除html标签
$tf=split($tw,@me); //分解成数组
for($ta=(count($tf)-2);$ta>=1;$ta--){ //循环赋值给$tk
$tk.=trim($tf[$ta]).$tc;
}
$tk=substr($tk,0,-1);
@me=$tk; //赋值给@me
{/dede:field}-{dede:global name='cfg_webname'/}
发布的文章显示红色日期或加上new字或new小图片
给近三天(或当天)发布的文章显示红色日期或加上new字或new小图片等。
都是围绕pubdate做文章,写扩展的。
第2、3要注意的问题是:如:"
中不能用双引号,否则不行。
如果要给当天的加,把 3600 * 24 * 3 改为 3600 * 24 即可。
1、==========红色的日期========
[field:pubdate runphp='yes']
$a="
".strftime('%m-%d',@me)."";
$b=strftime('%m-%d',@me);
$ntime = time();