织梦CMS增加栏目推荐功能实现置顶显示与样式区分
织梦CMS(DedeCMS)默认的栏目管理功能中,并没有直接提供“推荐栏目”或“置顶栏目”的选项。通过自定义字段和修改核心文件,可以为栏目添加一个推荐状态,从而实现栏目在列表中的置顶显示或附加特殊样式。以下是完整的实现教程。


第一步:添加数据库字段
登录织梦CMS后台,进入“系统” -> “SQL命令行工具”,执行以下SQL语句,为栏目表增加一个名为“ishot”的字段,用于标识栏目是否为推荐状态。
ALTER TABLE `xiuzhanwang_arctype` ADD `ishot` CHAR( 255 ) NOT NULL DEFAULT '';
第二步:修改栏目添加模板
打开文件 /dede/templets/catalog_add.htm,找到以下代码段:
<tr> <td class='bline' style="padding-left:10px;">是否隐藏栏目:</td> <td class='bline'> <input type='radio' name='ishidden' value='0' class='np' checked="checked" /> 显示 <input type='radio' name='ishidden' value='1' class='np' /> 隐藏 </td> </tr>
在该代码段下方添加以下内容:
<tr> <td class="bline" style="padding-left:10px;" >是否推荐栏目:</td> <td class="bline"> <input name="ishot" value="1" class="np" type="radio" /> 是 <input name="ishot" value="0" class="np" type="radio" checked='1' /> 否 </td> </tr>
第三步:修改栏目添加处理文件
打开文件 /dede/catalog_add.php,找到以下代码(共有三处):
ishidden,
在每一处 ishidden, 的后面增加:
ishot,
继续找到以下代码:
'$namerule2','0','0',
将其修改为:
'$namerule2','0','0','0',
第四步:修改栏目编辑模板
打开文件 /dede/templets/catalog_edit.htm,找到以下代码段:
<tr> <td class='bline' style="padding-left:10px;">是否隐藏栏目:</td> <td class='bline'> <input type='radio' name='ishidden' value='0' class='np'<?php if($myrow['ishidden']=="0") echo " checked='1' ";?>/> 显示 <input type='radio' name='ishidden' value='1' class='np'<?php if($myrow['ishidden']=="1") echo " checked='1' ";?>/> 隐藏 </td> </tr>
在该代码段下方添加以下内容:
<tr> <td class="bline" style="padding-left:10px;" >是否推荐栏目:</td> <td class="bline"> <input name="ishot" value="1" class="np" type="radio" <?php if($myrow['ishot']=="1") echo " checked='1' ";?>> 是 <input name="ishot" value="0" class="np" type="radio" <?php if($myrow['ishot']=="0") echo " checked='1' ";?>/> 否 </td> </tr>
第五步:修改栏目编辑处理文件
打开文件 /dede/catalog_edit.php,找到以下代码(共有两处):
ishidden='$ishidden',
在每一处 ishidden='$ishidden', 的下面增加:
ishot='$ishot',
调用方法
完成以上修改后,即可在模板中调用推荐栏目字段。以下是两种常用的调用方式。
使用 dede:channel 标签调用:
{dede:channel row='6' typeid='3' type='son'}
<li [field:ishot runphp="yes"]
if(@me==1) @me="class='hot'";else @me="";
[/field:ishot]>
<a href="[field:typelink/]">[field:typename/]</a>
</li>
{/dede:channel}
使用 dede:channelartlist 标签调用:
<li {dede:field.ishot runphp="yes"}
if(@me==1) @me="class='hot'";else @me="";
{/dede:field.ishot}>
<a href="{dede:field.typeurl/}">{dede:field name='typename'/}</a>
</li>
通过上述步骤,即可为织梦CMS栏目增加推荐功能,实现栏目置顶显示或添加自定义样式。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
