最新版本的DedeCMS默认禁用了模板中的PHP运行功能。要启用它,请进入后台管理:系统 → 系统基本参数 → 其他选项 → 默认模板引擎禁用标签,将“php”从禁用列表中移除即可。
接下来,您可以使用以下代码来实现动态判断和输出:
{dede:channelartlist typeid='top'}
{dede:field name='typename'/}
{dede:php}
$id = $refObj->Fields['id'];
$sql = ("SELECT * FROM dede_arctype where reid ='$id'");
$db->SetQuery($sql);
$db->Execute();
if($db->GetTotalRow()){
echo '';
while($row = $db->GetArray()){
$url = str_replace('{cmspath}','',($row[typedir]));
echo "- ".$row[typename]."
";
};
echo '
';
};
{/dede:php}
{/dede:channelartlist}
这段代码的作用是遍历顶级栏目,并检查每个栏目是否有子栏目。如果有子栏目,则生成对应的HTML结构;如果没有子栏目,则不会生成多余的DIV或UL标签。
如果您还希望了解如何实现二级栏目的高亮显示效果,可以参考相关教程进行设置。确保您的网站不仅功能完善,而且用户体验更佳。 通过以上方法,您可以有效避免因栏目层级不同而产生的多余HTML元素问题,从而优化网站结构,提升SEO表现。