城市分站列表标签

说明:用于获取城市列表

使用方法:{% placeList 变量名称 with parentId="0" all="false" %}{% for item in 变量名称 %}...{% endfor %}{% endplaceList %} 如将变量定义为 places {% placeList places with parentId="0" %}...{% endplaceList %}

placeList 支持的参数有:

  • 上级分站 parentId
    parentId 表示上级分站,可以获取指定上级分站下的子分站,parentId="parent" 表示上级分站为当前分站的上级分站,用于获取当前分站的兄弟分站。parentId="0" 时获取顶级分站。未指定时默认获取当前分站的子分站。
  • 获取全部分站 all
    all 可以获取指定所有分站列表,如 all=true 获取全部分站(包括所有层级),默认为 false 仅获取直接子分站。
  • 显示数量 limit
    limit 可以指定显示数量,比如 limit="10" 则只会显示 10 条。limit 支持 offset 模式,即 , 分隔模式,如想从第 2 条开始,获取 10 条数据,可以设置成 limit="2,10"
  • 列表类型 listType
    listType 支持 list(普通列表,默认)和 page(分页列表)两种模式。当设置为 page 时,会启用分页功能,自动从 URL 参数中获取当前页码,并在上下文设置 pagination 分页数据。
  • 站点 ID siteId
    siteId 一般不需要填写,如果你使用后台的多站点管理创建了多个站点,并且想调用其他站点的数据,则可以通过指定 siteId 来实现调用指定站点的数据。

如果想获取当前分站的子分站,则不需要指定 parentId。如果想获取当前分站的兄弟分站,则指定 parentId="parent",仅当在城市分站详情页面时有效。

places 是一个数组对象,因此需要使用 for 循环来输出。

item 为 for 循环体内的变量,可用的字段有:

  • 分站 ID Id
  • 分站标题 Title
  • 分站 SEO 标题 SeoTitle
  • 分站关键词 Keywords
  • 分站描述 Description
  • 分站链接 Link
  • 分站缩略图大图 Logo
  • 分站缩略图 Thumb
  • 分站 Banner 组图 Images
  • 上级分站 ID ParentId
  • 分站排序值 Sort
  • 创建时间 CreatedTime
  • 更新时间 UpdatedTime
  • 纬度 Latitude
  • 经度 Longitude
  • 时区 Timezone
  • 是否有下级分站 HasChildren
  • 是否当前分站 IsCurrent
  • 是否展开下级 Spacer

代码示例

{% placeList places with parentId="0" %}
<ul>
    {% for item in places %}
    <li>
        {# 如需判断当前是否是循环中的第一条,可以这么写: #}
        {% if forloop.Counter == 1 %}这是第一条{% endif %}
        {# 比如需要给第一条添加额外class="active",可以这么写: #}
        <a class="{% if forloop.Counter == 1 %}active{% endif %}" href="{{item.Link}}">{{item.Title}}</a>

        <a href="{{ item.Link }}">
            <span>当前第{{ forloop.Counter }}个,剩余{{ forloop.Revcounter}}个</span>
            <span>分站ID:{{item.Id}}</span>
            <span>分站名称:{{item.Title}}</span>
            <span>分站链接:{{item.Link}}</span>
            <span>分站描述:{{item.Description}}</span>
            <span>上级分站ID:{{item.ParentId}}</span>
            <span>是否有下级分站:{{item.HasChildren}}</span>
        </a>
        <div>缩略图大图:<img style="width: 200px" src="{{item.Logo}}" alt="{{item.Title}}" /></div>
        <div>缩略图:<img style="width: 200px" src="{{item.Thumb}}" alt="{{item.Title}}" /></div>
        <div>经纬度:{{item.Latitude}}, {{item.Longitude}}</div>
    </li>
    {% endfor %}
</ul>
{% endplaceList %}

多级分站嵌套调用

{% placeList places with parentId="0" %}
{# 一级分站 #}
<ul>
    {% for item in places %}
    <li>
        <a href="{{ item.Link }}">{{item.Title}}</a>
        <div>
            {% placeList subPlaces with parentId=item.Id %}
            {# 二级分站 #}
            <ul>
                {% for inner1 in subPlaces %}
                <li>
                    <a href="{{ inner1.Link }}">{{inner1.Title}}</a>
                    <div>
                        {% placeList subPlaces2 with parentId=inner1.Id %}
                        {# 三级分站 #}
                        <ul>
                            {% for inner2 in subPlaces2 %}
                            <li>
                                <a href="{{ inner2.Link }}">{{inner2.Title}}</a>
                            </li>
                            {% endfor %}
                        </ul>
                        {% endplaceList %}
                    </div>
                </li>
                {% endfor %}
            </ul>
            {% endplaceList %}
        </div>
    </li>
    {% endfor %}
</ul>
{% endplaceList %}

分页列表使用

设置 listType="page" 启用分页模式,结合 pagination 标签使用:

{% placeList places with parentId="0" listType="page" limit="10" %}
<ul>
    {% for item in places %}
    <li>
        <a href="{{ item.Link }}">{{item.Title}}</a>
    </li>
    {% empty %}
    <li>该列表没有任何内容</li>
    {% endfor %}
</ul>
{% endplaceList %}

{# 分页导航 #}
{% pagination with pagination %}

常见使用实例

  1. 获取当前分站的子分站(在城市分站详情页使用):
{% placeList subPlaces with %}
<ul>
    {% for item in subPlaces %}
    <li><a href="{{ item.Link }}">{{item.Title}}</a></li>
    {% endfor %}
</ul>
{% endplaceList %}
  1. 获取当前分站的兄弟分站(在城市分站详情页使用):
{% placeList siblingPlaces with parentId="parent" %}
<ul>
    {% for item in siblingPlaces %}
    <li><a href="{{ item.Link }}">{{item.Title}}</a></li>
    {% endfor %}
</ul>
{% endplaceList %}
  1. 获取全部分站列表(不限层级):
{% placeList allPlaces with all="true" %}
<ul>
    {% for item in allPlaces %}
    <li>
        <a href="{{ item.Link }}">{{item.Title}}</a>
    </li>
    {% endfor %}
</ul>
{% endplaceList %}