您的位置:首页 > 编程语言 > Go语言

dedecms 重新{dede:flink}标签自由调用表参数[field:webname /] [field:url /] [field:logo /]

2017-12-04 21:52 309 查看
新建flinkad.lib.php放到路径 include/tablib/flinkad.lib.php

<?php

if(!defined('DEDEINC'))

{

    exit("Request Error!");

}

/*>>dede>>

<name>友情链接</name>

<type>全局标记</type>

<for>V55,V56,V57</for>

<description>用于获取友情链接</description>

<demo>

{dede:flinkad row='24'}

 <ul>

  <li > <a href="[field:url  /]" alt='[field:webname /]'><img src='[field:logo /]'></a></li>

 </ul>

{/dede:flinkad}

</demo>

<attributes>

    <iterm>type:链接类型</iterm> 

    <iterm>row:链接数量</iterm>

    <iterm>titlelen:站点文字的长度</iterm>

    <iterm>linktype:链接位置内页</iterm>

    <iterm>typeid:所有类型,可以在系统后台[模块]-[友情链接]中的“网站类型管理”中查看</iterm>

</attributes> 

>>dede>>*/

helper('cache');

function lib_flinkad(&$ctag,&$refObj)

{

    global $dsql,$cfg_soft_lang;

    $attlist="type|textall,row|24,titlelen|24,linktype|1,typeid|0";

    FillAttsDefault($ctag->CAttribute->Items,$attlist);

    extract($ctag->CAttribute->Items, EXTR_SKIP);

    $totalrow = $row;

    $revalue = '';

    if (isset($GLOBALS['envs']['flinkid']))

    {

        $typeid = $GLOBALS['envs']['flinkid'];

    }

    $wsql = " where ischeck >= '$linktype' ";

    if($typeid == 0)

    {

        $wsql .= '';

    }

else

    {

        $wsql .= "And typeid = '$typeid'";

    }

    if($type=='image')

    {

        $wsql .= " And logo<>'' ";

    }

    else if($type=='text')

    {

        $wsql .= " And logo='' ";

    }

    $equery = "SELECT * FROM #@__flink $wsql order by sortrank asc limit 0,$totalrow";

    $innertext = $ctag->GetInnerText();

    $ctp = new DedeTagParse();

    $ctp->SetNameSpace('field','[',']');

    $ctp->LoadSource($innertext);

    $dsql->SetQuery($equery);

    $dsql->Execute('fb',$equery);

    while($arr=$dsql->GetArray('fb'))

    {

        foreach($ctp->CTags as $tagid=>$ctag)

        {

            if(!empty($arr[$ctag->GetName()]))

            {

                $ctp->Assign($tagid,$arr[$ctag->GetName()]);

            }

        }

          $revalue .= $ctp->GetResult();

    }

    return $revalue;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: