求{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; [email protected]
{/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();
Stellungnahme:Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn