admin 发表于 2020-5-4 22:43:30

destoon通过当前分站获取城市子地区的方法(地区三级联动x...

先说一下实际的应用:我这个destoon系统,开启了省市县三级联动,默认添加的分站是城市分站,比如泰安市,现在要实现,当选择分站为泰安站的时候,自动获取泰安市下面的县市区名称及城市的id,以便在网页上显示地区的名称及搜索的时候使用地区的id号。
建议把代码放到head上面,省的挨个页面都要重新写。
直接上代码:根据当前分站城市id,获取城市下面地区的id集合arrchildid:<!--{php $tags=tag("table=area&condition=areaid=$cityid&pagesize=8&order=arrchildid desc&template=null");}-->
{loop $tags $t}
{/l

因为tag代码里面不能使用{$t}
所以在php文件中,给{$t}传到新变量$diquzong;

<?php
$diquzong=$t;
?>然后根据获取到的当前城市子地区的id号来找到地区的名字并分开输出地区id:
<!--{php $tags=tag("table=area&condition=arrchildid in ($diquzong)&pagesize=8&offset=1&template=null");}-->
{loop $tags $t}
{$t}{$t}
{/loop}输出结果为:泰山区1553岱岳区1554宁阳县1555东平县1556新泰市1557肥城市1558
直接在上面添加html代码既可以了。

不过因为开启了分站,所以就有总站跟城市分站一说了,所以在实际使用中,还要添加判断是总站还是分站,具体的显示根据实际需要来做,判断的话就是:
{if $cityid==0}总站代码{else}{$city_name}分站{/if}
我这边的用法是这样的:
<a href="/car/search.php?list=0&catid=1&chufadi={$t}">{$t}</a>
实际应用代码:<div class="indexcar">
<divclass="carleft">
<div class="title">
<div class="tit1e1">{ if $cityid==0}所有车源{else}从{$city_name}走的车{/if)</div>
<div class="tit1e2">
{loop $tagdiqu $t}
<a href="/car/search. php? list=0&catid=1&chufadi=($t)>($t)}找车</a>
{/loop}
</div>
</div>
<div class="neirong"
{if $cityid==0}
<!--{tag ("moduleid=5&catid=1&pagesize=8&order=addtime desc&template=list-sell-car-index")}-->
{else}
<!--{tag ("moduleid=5&catid=1 and mudidi in {$diquzong}&pagesize=8&order=addtime desc&template=list-sell-car-index")}-->
{/if}
</div>

特别说明:&offset=1 表示从查到的第二个数据开始输出,因为第一个数据为当前城市分站,用不到,只要泰安市下面的地区就可以了,所以过滤到查到的第一个值。


页: [1]
查看完整版本: destoon通过当前分站获取城市子地区的方法(地区三级联动x...