当前位置:Gxlcms > PHP教程 > 求{dede:sql}标签脚本内写php原生代码的方法!解决方案

求{dede:sql}标签脚本内写php原生代码的方法!解决方案

时间:2021-07-01 10:21:17 帮助过:4人阅读

求{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) < $day3) @me = $a;
    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]

    • [field:title/]



    {/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) < $day3) @me = $a;
    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;

    人气教程排行