当前位置:首页 > 行业动态 > 正文

如何在DedeCMS中隐藏高级搜索的指定栏目?

在DedeCMS中,要隐藏高级搜索中的隐藏栏目,可以通过修改模板文件实现。具体操作如下:,,1. 打开模板文件夹(默认路径为:/templets/default/search/),找到文件“advanced_search.htm”。,2. 使用文本编辑器打开“advanced_search.htm”文件,找到以下代码:,“ html,,{dede:field.ishiddennote/},“,3. 将上述代码注释掉或删除,然后保存文件。,4. 重新生成高级搜索页面,此时隐藏栏目选项将不再显示。

在DedeCMS中,隐藏高级搜索中的隐藏栏目是一项常见需求,这通常涉及到对系统文件的修改和模板代码的调整,以下是一些具体步骤和方法来实现这一目标:

修改模板文件

1、编辑heightsearch.htm文件

找到并打开位于templatesplus目录下的heightsearch.htm文件。

在第34行,将代码从:

     $typeOptions = $tl>GetOptionArray(0,0,0);

修改为:

     $typeOptions = $tl>GetOptionArray(0,0,1);

这样修改后,高级搜索只会显示文章集类栏目,而不会显示所有频道。

2、编辑includetypelink.class.php文件

找到并打开位于include目录下的typelink.class.php文件。

在第223行,将代码从:

     $row = $this>dsql>GetOne("SELECT id,typename,ispart,channeltype FROM dede_arctype WHERE id='$hid' ");

修改为:

     $row = $this>dsql>GetOne("SELECT id,typename,ispart,channeltype FROM dede_arctype WHERE id='$hid' and ishidden='0' ");

在第234行,将代码从:

     else $ctsql=" AND channeltype='$channeltype' ";

修改为:

     else $ctsql=" AND channeltype='$channeltype' and ishidden='0' ";

这些修改确保了高级搜索中不会出现隐藏栏目。

调用隐藏栏目的方法

1、使用SQL标签调用隐藏栏目

通过SQL标签可以直接获取指定顶级导航栏下的所有隐藏栏目。

     {dede:sql sql='Select * from dme_arctype where ishidden=1 and topid=2'}
       <span >
         <a href='[field:typedir runphp='yes']$array=explode('}', @me);@me=$array[1];[/field:typedir]' >
           [field:typename/]
         </a> &nbsp;|
       </span>
     {/dede:sql}

这段代码会调出所有为隐藏属性的栏目,不管是不是顶级的。

2、使用{dede:type}标签调用顶级隐藏栏目

另一种方法是使用{dede:type}标签来调用某一行的隐藏栏目,且调用的为顶级隐藏栏目。

     {dede:type typeid='7' parent='1'} 
     [field:typename/] 
     {/dede:type}

这段代码只是调用了一行隐藏的栏目,且调用的为顶级隐藏栏目。

常见问题解答(FAQs)

1、Q1: 修改模板文件后,高级搜索仍然显示隐藏栏目怎么办?

A1: 确保你修改的文件路径和行号是正确的,如果问题依旧,可以尝试清除缓存或重新生成模板文件。

2、Q2: 是否还有其他方法可以隐藏高级搜索中的隐藏栏目?

A2: 除了上述方法,还可以考虑使用插件或扩展来实现这一功能,但这可能需要额外的开发工作。

3、Q3: 隐藏栏目后,是否可以在某些特定页面上显示这些栏目?

A3: 是的,可以通过条件判断或特定的模板标签来控制在哪些页面上显示隐藏栏目,可以在需要显示隐藏栏目的页面上使用特定的模板代码。

通过修改模板文件和使用特定的标签调用方法,可以有效地在DedeCMS中隐藏高级搜索中的隐藏栏目,这不仅有助于提升网站的用户体验,还能更好地控制内容的展示和管理。

步骤 操作 描述
1 登录后台管理 使用您的管理员账户登录到dedecms的后台管理系统。
2 进入高级搜索设置 在后台,找到并点击“高级搜索”设置选项。
3 编辑搜索选项 在高级搜索设置页面,找到“搜索选项”部分。
4 搜索栏目标签 在搜索选项中,找到“搜索栏目标签”设置。
5 编辑搜索栏目标签 点击编辑或添加按钮,进入搜索栏目标签的编辑页面。
6 搜索栏目标签设置 在搜索栏目标签设置中,找到“隐藏栏目”的选项。
7 选择隐藏栏目 选择您想要在高级搜索中隐藏的栏目。
8 保存设置 点击保存或确定按钮,保存您的设置。
9 验证效果 在前台的高级搜索页面,验证是否已经成功隐藏了指定的栏目。

通过以上步骤,您可以在dedecms中设置高级搜索以隐藏特定的栏目,注意,具体的操作界面和选项可能因dedecms的版本不同而有所差异。

0