苹果cms教程

苹果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参数传参,可自由组合实现复合筛选效果,各参数用途与配置规则如下:

参数示例值是否必填参数说明
id1是指定网址分类ID,为筛选页面核心必填参数
tag难否根据自定义标签筛选对应网址资源
classB型否依据扩展分类字段筛选资源
lang中文否按语言维度筛选网址资源
area中国否按地区维度筛选网址资源
letterH否根据名称首字母筛选资源
orderdesc否控制排序方式,支持desc倒序、asc正序
bytime否自定义排序依据,可选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条数据,开启分页功能,绑定筛选页面专属路由,以添加时间倒序展示当前分类筛选后的网址资源。

  • 字段渲染:列表自动调取网址封面、名称、作者、版本信息,搭配系统链接函数生成详情跳转地址。

相关标签