## 一、标签概述

mtindexlists 是多商户扩展标签,用于获取指定商家的 详细信息 、 商品分类列表 以及 对应商品数据 。该标签特别适用于商家详情页、店铺主页等场景。




## 三、标签语法

### 基本语法

```

{eyou:mtindexlists merchant_id="商家ID" typeid="分类ID" id="变量名" key="索引名" empty="空数据提示"}

    <!-- 循环内容 -->

    {$field.字段名}

{/eyou:mtindexlists}

```

### 闭合标签

这是一个 闭合标签 ,必须有开始和结束标签。


## 四、参数说明

### 1. 必需参数

参数 说明 示例 

merchant_id 商家ID (必须) merchant_id="1" 或 merchant_id="$merchant_id"


### 2. 可选参数

参数 默认值 说明

 typeid 0 商品分类ID, 0 表示获取所有分类商品

 id field 循环变量名,在标签内通过 {$field.字段名} 访问 

key i 循环索引变量名,通过 {$i} 访问(从1开始)

 empty 空字符串 无数据时显示的提示内容

 注意 :虽然属性定义只列出了 merchant_id, typeid, id ,但解析方法实际支持 key 和 empty 参数。

## 五、返回数据结构

### 1. 商家基本信息 ({$field})

字段名 类型 说明 

merchant_id 整数 商家ID 

merchant_name 字符串 商家名称 

merchant_pic 数组 商家图片集,包含 merchant_logo

 merchant_content 字符串 商家介绍内容 

merchant_contact 数组 商家联系地址信息

 merchant_url 字符串 商家主页URL(自动生成)

 typeid 整数 当前选中的分类ID


### 2. 商家地址信息 ({$field.merchant_contact})

字段名 类型 说明 

contactProvince 字符串 省份

 contactCity 字符串 城市

 contactDistrict 字符串 区县 

contactAddress 字符串 完整地址(省+市+区+详细地址)


### 3. 商品分类列表 ({$field.arctype})

字段名 类型 说明 

id 整数 分类ID, 0 表示"全部"

 typename 字符串 分类名称

 url 字符串 该分类下的商家商品列表URL


### 4. 商品列表 ({$field.product})

字段名 类型 说明

 aid 整数 商品文档ID

 title 字符串 商品标题

 litpic 字符串 商品缩略图URL(已处理)

 arcurl 字符串 商品详情页URL(已生成)

 users_price 浮点数 商品价格

 typeid 整数 商品所属分类ID


## 六、使用示例

### 示例1:基本商家信息展示

```

{eyou:mtindexlists merchant_id="1" id="merchant"}

<div class="merchant-card">

    <!-- 商家Logo和名称 -->

    <img src="{$merchant.merchant_pic.merchant_logo}" alt="{$merchant.merchant_name}" />

    <h2>{$merchant.merchant_name}</h2>

    

    <!-- 商家地址 -->

    <p class="address"> 

    {$merchant.merchant_contact.contactAddress}</p>

    

    <!-- 商家介绍 -->

    <div class="description"> {$merchant.merchant_content}</

    div>

</div>

{/eyou:mtindexlists}

```

### 示例2:商品分类导航 + 商品列表

```

{eyou:mtindexlists merchant_id="$merchant_id" typeid="$typeid" empty="暂无商品"}

<!-- 分类导航 -->

<div class="category-tabs">

    {eyou:volist name="$field.arctype"}

    <a href="{$field.arctype.url}" {eyou:eq name='$field.typeid' value='$field.arctype.id'}class="active"{/eyou:eq}>

        {$field.arctype.typename}

    </a>

    {/eyou:volist}

</div>


<!-- 商品列表 -->

<div class="product-grid">

    {eyou:volist name="$field.product"}

    <div class="product-item">

        <a href="{$field.product.arcurl}">

            <img src="{$field.product.litpic}" alt="{$field.product.title}" />

            <h3>{$field.product.title}</h3>

            <p class="price">¥{$field.product.users_price}</p>

        </a>

    </div>

    {/eyou:volist}

</div>

{/eyou:mtindexlists}

```

### 示例3:在商品详情页显示商家信息

```

<!-- 假设当前商品文档包含 merchant_id 

字段 -->

{eyou:mtindexlists merchant_id="$field.merchant_id”}

<div class="merchant-info-box">

    <a href="{$field.merchant_url}" 

    class="merchant-link">

        <span 

        class="merchant-icon"></

        span>

        <span class="merchant-name">

        {$field.merchant_name}</

        span>

    </a>

    <p>商家地址:{$field.merchant_contact.contactAddress}

    </p>

    

    <!-- 显示商家的其他商品 -->

    <h4>该商家的其他商品:</h4>

    <div class="other-products">

        {eyou:volist name="$field.product" limit="4"}

        <a href="{$field.product.

        arcurl}">{$field.product.

        title}</a>

        {/eyou:volist}

    </div>

</div>

{/eyou:mtindexlists}

```

## 七、高级用法

### 1. 动态商家ID

```

<!-- 从URL参数获取商家ID -->

{eyou:mtindexlists merchant_id="{:input('merchant_id/d', 0)}"}


<!-- 从当前文档字段获取 -->

{eyou:mtindexlists merchant_id="$eyou.field.merchant_id"}


<!-- 使用变量 -->

{eyou:mtindexlists merchant_id="$merchant_id"}

```

### 2. 嵌套其他标签

```

{eyou:mtindexlists merchant_id="1" id="shop"}

    <!-- 在商家循环内嵌套商品循环 -->

    {eyou:volist name="$shop.product" id="goods"}

        <div class="goods-item">

            {eyou:eq name='$goods.typeid' value='5'}

            <span class="hot-tag">热销</span>

            {/eyou:eq}

            <a href="{$goods.arcurl}">{$goods.title}</a>

        </div>

    {/eyou:volist}

{/eyou:mtindexlists}

```

### 3. 分页集成

```

<!-- 注意:该标签本身不支持分页,但可以结

合其他分页方案 -->

{eyou:mtindexlists merchant_id="1" 

typeid="{$typeid}"}

    <!-- 显示商品总数 -->

    <p>共 {eyou:count name="$field.

    product" /} 件商品</p>

    

    <!-- 手动分页 -->

    {eyou:volist name="$field.

    product" offset="0" limit="12"}

        <!-- 显示前12个商品 -->

    {/eyou:volist}

{/eyou:mtindexlists}

```

## 八、注意事项

### 1. 数据过滤规则

- 商家状态 :只查询 audit_status=2 (审核通过)、 merchant_status=1 (正常营业)、 is_del=0 (未删除)的商家

- 商品状态 :只查询 status=1 (已发布)、 arcrank>=0 (权限正常)、 is_del=0 (未删除)的商品

- 分类显示 :只显示有商品归属的分类,空分类不显示

### 2. URL生成规则

- 商家主页URL : url('home/MultiMerchant/merchant_index', ['merchant_id'=>$merchant_id])

- 分类URL : url('home/MultiMerchant/merchant_index', ['merchant_id'=>$merchant_id, 'typeid'=>$分类ID])

- 商品URL :通过 arcurl('home/Product/view', $archivesData) 生成

### 3. 图片处理

所有图片URL都经过:


1. get_default_pic() - 获取默认图片

2. handle_subdir_pic() - 处理子目录图片路径

   确保图片链接始终有效。

### 4. 性能建议

- 如果只需要商家基本信息,不需要商品列表,建议使用更轻量级的标签

- 商品数量多时,考虑结合分页标签使用

- 合理使用 typeid 参数缩小查询范围

## 九、错误排查

### 1. 无数据显示

```

{eyou:mtindexlists merchant_id="1" 

empty="<p class='no-data'>暂无商家信

息</p>"}

    <!-- 正常内容 -->

{/eyou:mtindexlists}

```

### 2. 调试商家ID

```

<!-- 先确认商家ID是否正确 -->

当前商家ID:{$eyou.field.merchant_id}


{eyou:mtindexlists merchant_id="

{$eyou.field.merchant_id}"}

    商家名称:{$field.merchant_name}

{/eyou:mtindexlists}

```

### 3. 检查数据字段

```

<!-- 使用 dump 查看数据结构(开发环境) 

-->

{eyou:mtindexlists merchant_id="1"}

    {eyou:dump var="$field" /}

{/eyou:mtindexlists}

```

## 十、与您之前的修改关联

您之前在 view_product_mtshop.htm 中优化的商家链接:


```

<a href="{$eyou.field.merchant.

merchant_url}" 

class="merchant-link">

    <span class="merchant-icon"></

    span>{$eyou.field.merchant.

    merchant_name}

</a>

```

可以使用 mtindexlists 标签获取更完整的商家信息:


```

{eyou:mtindexlists merchant_id="

{$eyou.field.merchant_id}"}

<a href="{$field.merchant_url}" 

class="merchant-link">

    <span class="merchant-icon"></

    span>{$field.merchant_name}

</a>

<p class="merchant-address">{$field.

merchant_contact.contactAddress}</p>

{/eyou:mtindexlists}

```

通过以上介绍,您可以充分利用 mtindexlists 标签在易优CMS中实现丰富的多商户功能展示。


 小秋同学  全局标签  2026-03-28 14:06:59    收藏:  赞(0)
学习吧_一个不错的学习网站
本文地址:https://www.xuncms.com/doc/5784.html 复制链接 如果还有疑问,欢迎加入我们的QQ交流群:23788716 加入Q群 易优最新程序下载: 点击下载
QQ在线咨询