在使用{dede:php}{/dede:php}之前,需要先解除后台对php标签的禁用:
位置:系统→基本参数→其它选项→模板引擎禁用标签
因工作需要,只测试了在内容页中遇到的一些问题,以下也只是针对内容页来说的。
在dede:php中能获取到的只有文章的ID,即$aid,可以通过{dede:php}echo $aid;{/dede:php}
来测试文章ID是否被获取到。
获取一条记录内容:
{dede:php}
$row=$dsql->GetOne("Select * From #@__addonarticle where aid=$aid");
echo $row['typeid'];
{/dede:php}
获取多条记录内容:
{dede:php}
$sql = "Select * from #@__addonarticle where typeid=$typeid";
$dsql->SetQuery($sql);//将SQL查询语句格式化
$dsql->Execute();//执行SQL操作
//通过循环输出执行查询中的结果
while($row = $dsql->GetArray()){
echo $row['id'];
echo $row['title'];
}
{/dede:php}
获取文章地址:
{dede:php}
$dsql->SetQuery("SELECT * FROM #@__archives");
$dsql->Execute();
while($arr = $dsql->getArray()){
$arcurl = GetOneArchive($arr['aid']);
echo '<li>·<a href=“'.$arcurl['arcurl'].'”>[field:title/]</a></li>';
}
{/dede:php}
结合以上内容,总结出下面一段代码。sshy(所属行业)为自定义字段:
{dede:php}
$row=$dsql->GetOne("Select sshy from #@__addonarticle_zh where aid=$aid");
$HangYe=$row['sshy'];
$sql="Select * from #@__addonarticle_zh where sshy='$HangYe' limit 10";
$dsql->SetQuery($sql);
$dsql->Execute();
while($row = $dsql->GetArray()){
$HangYeID=$row['aid'];
$row1=$dsql->GetOne("Select * from #@__archives where id='$HangYeID'");
$arcurl=GetOneArchive($HangYeID);
if($aid!=$HangYeID){
echo '<li><a href="'.$arcurl['arcurl'].'">'.$row1['title'].'</a></li>';
}
}
{/dede:php}