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;
}
<?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;
}
相关文章推荐
- 织梦上传到空间后{dede:global.cfg_webname/}{dede:global.cfg_keywords/}等标签调用不正确 现象:网站在本机测试,一切正常,但是上传到空间后,发现生成的
- dedecms 图集标签{dede:productimagelist} {dede:field name='imgurls'}&nbs
- dedecms任意页面调用栏目内容标签{dede:field.content/}的方法
- dedecms任意页面调用栏目内容标签{dede:field.content/}的方法
- dedecms织梦修改当前位置{dede:field name=“position”/}标签
- Web_PHP_DedeCMS_{dede:php}标签使用;
- Web_PHP_DedeCMS_{dede:php}标签嵌套查询使用;
- Web_PHP_织梦DedeCMS万能标签{dede:sql}的用法举例
- 织梦标签dede:sql根据页面动态参数变量动态查询调用其它信息
- 当前标签dede[field:**] 标签调用说明
- dede 标签调用大全 dedecms 隔五行一个分割线等标签调用
- Dedecms模板调用标签、参数说明
- 织梦(dedecms)当前位置{dede:field name='position' /}修改
- dedecms channel [field:description/]标签调用
- DEDECMS5.5怎样调用{dede:field.content/}做简介之类的单独页面?
- 织梦内容页调用栏目内容标签{dede:field.content/}
- dedecms标签调用说明-DEDE模版制作必备
- 织梦内容页调用栏目内容标签{dede:field.content/}
- DeDeCMS列表页用dede:arclist和dede:list标签调用附加表字段
- dede标签调用大全 dedecms 隔五行一个分割线