#yyds干货盘点# 自写dede/织梦的function方法,来满足调用问题
Posted 是你的Sakura
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了#yyds干货盘点# 自写dede/织梦的function方法,来满足调用问题相关的知识,希望对你有一定的参考价值。
使用织梦的调用方法的时候感觉很简单,但是,有时候有的调用满足不了我们的需求。于是,我们可以自己写调用方法,然后再前端使用
[field:id function=GetUserid(@me,userid)/]
来获取,此处,field:id为我们当前可获取的文章id,GetUserid为我们的方法名,后面在php文件中也要写该方法名的文章,@me为传入参数文章id,userid为我们获取到的用户的id。(前面为思路分析,需要完整代码请拉到底部)
想要的需求出来了,(根据文章id获取到该作者的用户id)接下来我们开始分析,可以满足这需求的做法。
1.数据库,我们首先得了解到,我们调用该文章的时候,涉及到的数据库
因为我们是需要调用涉及文章的数据库‘xxxx_archives‘然后我们需要调用涉及用户的数据库‘xxxx_member‘
2.方法,我们需要在PHP文件中创建调用代码,该代码负责调用数据库里的数据传送给前端,起到逻辑处理作用。也就是写一个
function GetUserid($aid,$userid)
3.前端调用方法,也就是开始提到的那个方法
[field:id function=GetUserid(@me,userid)/]
方法合理,开始证实
文件代码:
在 /include/helpers/extend.helper.php中写入function
/**
* 通过aid来获取userid
*
* @param int $aid 文档id
* @return string
*/
function GetUserid($aid,$userid)
{
global $dsql;
$row =$dsql ->GetOne( "select writer from xxxx_archives where id=$aid");
if ($row[writer] == 0)
{
echo "为空";
}
else
{
$row =$dsql ->GetOne( "select $userid from xxxx_member where uname= $row[writer]");
return $row[$userid];;
}
}
在需要调用的部分写入
{dede:arclist typeid=2 row=3 titlelen=150 orderby=id }
[field:id function=GetUserid(@me,userid)/]
{/dede:arclist}
这样的话就可以调用作者的userid了。
这样的方法还可以用到很多地方,比如你的文章需要调用tag标签。只用在里面写入function
/**
* 获得某文档的所有tag简易版
*
* @param int $aid 文档id
* @return string
*/
if ( ! function_exists(GetTagsjian))
{
function GetTagsjian($aid)
{
global $dsql;
$tags = ;
$query = "SELECT tag FROM `#@__taglist` WHERE aid=$aid ";
$dsql->Execute(tag,$query);
while($row = $dsql->GetArray(tag))
{
$tags .= "<a href=tag.php?".urlencode($row[tag])." style=margin-left: 10px;><span class=post-cat background1 color-white>".$row[tag]."</span></a>";
//这样写的话$tags返回的数据可以带上样式,样式可以根据自己的想法去调试
}
return $tags;
}
}
然后前端调用
{dede:arclist typeid=2 row=3 titlelen=150 orderby=id }
[field:id function=GetTagsjian(@me)/]
{/dede:arclist}
这样就可以调用到该文章的所有tag了!
以上是关于#yyds干货盘点# 自写dede/织梦的function方法,来满足调用问题的主要内容,如果未能解决你的问题,请参考以下文章
织梦DEDE系统建站 站长必备使用技巧 绝对的干货 掌柜呕心沥血总结
# yyds干货盘点 # 编写一个闭包函数,要实现的功能是计数功能
# yyds干货盘点 # 编写一个闭包函数,要实现的功能是计数功能
织梦搜索结果增加dede:typedede:arclistdede:channelartlistdede:tag等标签支持