苹果CMS网址筛选页面多条件筛选功能开发教程
发布时间:2025-03-01共13人阅读
一、网址筛选页面基础配置
苹果CMS网址模块支持多条件组合筛选功能,依托独立筛选模板实现分类、标签、地区、语言、首字母、排序等多元化资源筛选,适配精细化内容展示需求。
模板文件路径:
html/website/show.html页面专属ID:112,可通过
{$maccms.aid}标签调取使用筛选链接生成标签:
{:mac_url_type(['type_id'=>16],['by'=>'hits'],'show')},支持自定义分类ID、排序规则生成筛选页面地址
二、完整URL筛选参数详解
网址筛选页面支持多个GET参数传参,可自由组合实现复合筛选效果,各参数用途与配置规则如下:
| 参数 | 示例值 | 是否必填 | 参数说明 |
|---|---|---|---|
| id | 1 | 是 | 指定网址分类ID,为筛选页面核心必填参数 |
| tag | 难 | 否 | 根据自定义标签筛选对应网址资源 |
| class | B型 | 否 | 依据扩展分类字段筛选资源 |
| lang | 中文 | 否 | 按语言维度筛选网址资源 |
| area | 中国 | 否 | 按地区维度筛选网址资源 |
| letter | H | 否 | 根据名称首字母筛选资源 |
| order | desc | 否 | 控制排序方式,支持desc倒序、asc正序 |
| by | time | 否 | 自定义排序依据,可选id、time、time_add、score、hits、hits_day、hits_week、hits_month、up、down、level |
三、多条件筛选导航完整代码
以下为集成扩展分类、地区、语言、首字母的筛选导航代码,自动继承当前筛选参数,实现筛选联动、选中高亮、条件重置功能,可直接部署使用。
<div class="ui-cnt">
<div class="filter-list fn-clear">
<h5>类型:</h5>
<ul>
<li><a {if condition="$param['class'] eq ''"} class="current" {/if} href="{:mac_url_type($obj,['area'=>$param['area'],'lang'=>$param['lang'],'level'=>$param['level'],'letter'=>$param['letter'],'tag'=>$param['tag'],'class'=>'','order'=>$param['order'],'by'=>$param['by'] ],'show')}">全部</a></li>
{maccms:foreach name=":explode(',',$obj.type_extend.class)" key="key2"}
<li><a {if condition="$param['class'] eq $vo2"} class="current" {/if} href="{:mac_url_type($obj,['area'=>$param['area'],'lang'=>$param['lang'],'level'=>$param['level'],'letter'=>$param['letter'],'tag'=>$param['tag'],'class'=>$vo2,'order'=>$param['order'],'by'=>$param['by'] ],'show')}">{$vo2}</a></li>
{/maccms:foreach}
</ul>
</div>
<div class="filter-list fn-clear">
<h5>地区:</h5>
<ul>
<li><a {if condition="$param['area'] eq ''"} class="current" {/if} href="{:mac_url_type($obj,['area'=>'','lang'=>$param['lang'],'level'=>$param['level'],'letter'=>$param['letter'],'tag'=>$param['tag'],'class'=>$param['class'],'order'=>$param['order'],'by'=>$param['by'] ],'show')}">全部</a></li>
{maccms:foreach name=":explode(',',$obj.type_extend.area)" key="key2"}
<li><a {if condition="$param['area'] eq $vo2"} class="current" {/if} href="{:mac_url_type($obj,['area'=>$vo2,'lang'=>$param['lang'],'level'=>$param['level'],'letter'=>$param['letter'],'tag'=>$param['tag'],'class'=>$param['class'],'order'=>$param['order'],'by'=>$param['by'] ],'show')}">{$vo2}</a></li>
{/maccms:foreach}
</ul>
</div>
<div class="filter-list fn-clear">
<h5>语言:</h5>
<ul>
<li><a {if condition="$param['lang'] eq ''"} class="current" {/if} href="{:mac_url_type($obj,['area'=>$param['area'],'lang'=>'','level'=>$param['level'],'letter'=>$param['letter'],'tag'=>$param['tag'],'class'=>$param['class'],'order'=>$param['order'],'by'=>$param['by'] ],'show')}">全部</a></li>
{maccms:foreach name=":explode(',',$obj.type_extend.lang)" key="key2"}
<li><a {if condition="$param['lang'] eq $vo2"} class="current" {/if} href="{:mac_url_type($obj,['area'=>$param['area'],'lang'=>$vo2,'level'=>$param['level'],'letter'=>$param['letter'],'tag'=>$param['tag'],'class'=>$param['class'],'order'=>$param['order'],'by'=>$param['by'] ],'show')}">{$vo2}</a></li>
{/maccms:foreach}
</ul>
</div>
<div class="filter-list filter-list-letter fn-clear">
<h5>字母:</h5>
<ul>
<li><a {if condition="$param['letter'] eq ''"} class="current"{/if} href="{:mac_url_type($obj,['area'=>$param['area'],'lang'=>$param['lang'],'level'=>$param['level'],'letter'=>'','tag'=>$param['tag'],'class'=>$param['class'],'order'=>$param['order'],'by'=>$param['by'] ],'show')}">全部</a></li>
{maccms:foreach name=":explode(',','A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,0~9')" key="key2"}
<li><a {if condition="$param['letter'] eq $vo2"} class="current"{/if} href="{:mac_url_type($obj,['area'=>$param['area'],'lang'=>$param['lang'],'level'=>$param['level'],'letter'=>$vo2,'tag'=>$param['tag'],'class'=>$param['class'],'order'=>$param['order'],'by'=>$param['by'] ],'show')}">{$vo2}</a><li>
{/maccms:foreach}
</ul>
</div>
</div>
<!-- 列表 -->
{maccms:website num="24" paging="yes" pageurl="website/show" type="current" order="desc" by="time"}
<li><a href="{:mac_url_website_detail($vo)}" title="{$vo.website_name}">
<img src="{:mac_url_img($vo.website_pic)}" alt="{$vo.website_name}"/>
<h2>{$vo.website_name}</h2>
<p>{$vo.website_actor}</p>
<i>{$vo.website_version}</i>
</a></li>
{/maccms:website}
<!-- 通用分页 -->四、筛选功能与列表参数说明
筛选联动逻辑:所有筛选按钮会保留其他已选筛选条件,仅切换当前维度参数,实现多条件叠加筛选,点击“全部”可重置对应维度筛选状态。
选中高亮:代码自带参数判断逻辑,当前选中的筛选条件会自动添加高亮样式,提升页面交互体验。
列表参数配置:列表单次加载24条数据,开启分页功能,绑定筛选页面专属路由,以添加时间倒序展示当前分类筛选后的网址资源。
字段渲染:列表自动调取网址封面、名称、作者、版本信息,搭配系统链接函数生成详情跳转地址。
