织梦CMS增加栏目推荐功能实现置顶显示与样式区分

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

CMSROI模板网
CMSROI模板网

第一步:添加数据库字段

登录织梦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" />
显示 &nbsp;
<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" />
是 &nbsp;
<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' ";?>/>
显示 &nbsp;
<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' ";?>>
是 &nbsp;
<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栏目增加推荐功能,实现栏目置顶显示或添加自定义样式。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。