最近无聊搭建一个齐博X1的下载页面

https://layui.wanxiangsucai.com/

layui官方镜像站的模版

改了个齐博X1的下载页面

https://x1.wanxiangsucai.com/

哈哈哈!!!

还有

https://x2.wanxiangsucai.com/

冰蓝世界的城市门户S1演示站

 

调取栏目信息有多个函数,分别是 sort_config 和 get_sort 及fun函数

他们一般用在循环当中,比如调用当前频道的一级栏目

{volist name=":sort_config('',0)" id="name"}
	<a href="{:urls('content/index',"fid=$key")}">{$name}</a><br>
{/volist}

上面sort_config('',0) 用到两个参数只能简单的获取栏目名称与栏目ID,加多一个参数可以获取到栏目的所有字段信息,比如sort_config('',0,true)

{volist name=":sort_config('',0,true)" id="rs"}
	<a href="{:urls('content/index',"fid=$key")}" class="{$rs.logo}">{$rs.name}</a><br>
{/volist}

上面的{$rs.logo}就是栏目的图标, 因为sort_config('',0,true) 加了第三个参数
第二个参数0代表获取所有一级栏目.也即他的父ID是0,如果要把二级栏目也列出来,参考下面的代码

{volist name=":sort_config('',0,true)" id="rs"}
	<a href="{:urls('content/index',"fid=$key")}" class="{$rs.logo}">{$rs.name}</a><br>
	{volist name=":sort_config('',$rs.id,true)" id="vs"}
		<a href="{:urls('content/index',"fid=$key")}" class="{$vs.logo}">{$vs.name}</a><br>
	{/volist}
{/volist}

注意这次是循环里边再套一个循环 , rs 变成了 vs

使用函数,需要在函数名的前面加上冒号: 注意是英文半角冒号

sort_config 只有两个参数,

  • 第一项一般用''表示留空,即代表当前模块的栏目比如::sort_config('',0)。 如果要调用其它模型的话,就要指定那个模型的目录名,比如:sort_config('bbs',0)
  • 第二项参数代表取某个栏目的子栏目,子栏目的子栏目不包括在内,只获取最近的那层子栏目 ,设置为0的话,就代表获取1级栏目.
  • 第三项参数代表只取栏目或者是取所有字段,默认是只取栏目名称,设置为true的话,可以获得所有字段,不设置的话,就只取栏目名称

上面的代码再改一下,就代表把一级与二级栏目调取出来

{volist name=":sort_config('',0)" id="name"}
	<a href="{:urls('content/index',"fid=$key")}">{$name}</a><br>
    {volist name=":sort_config('',$key)" id="name"}
    	|--<a href="{:urls('content/index',"fid=$key")}">{$name}</a><br>
    {/volist}
{/volist}

大家要注意对比:sort_config('',0) 及 :sort_config('',$key)
如果要调用其它频道的栏目就把第一项参数填入对应的目录名比如::sort_config('bbs,0) 及 :sort_config('bbs',$key)


sort_config函数就只有两项,参数,所以使用比较简单


get_sort函数就比较复杂,所以功能也比较丰富,这个函数有4个参数.一般只用到前面两个,第三个用得比较少,第4个就是代表指定频道

要获取某个栏目的图标,可以这样 使用 {:get_sort($fid,'logo')} 取栏目模型ID就是 {:get_sort($fid,'mid')} 总之对应数据库的栏目表,把对应的字段名放进来即可.还有比较最常用的栏目SEO相当的调用 {:get_sort($fid,'seo_title')}{:get_sort($fid,'seo_keywords')}

上面是取本频道栏目的信息,如果要取其它频道的栏目信息,就需要加上频道目录名. 放在第4项参数那里, 第3项留空 比如 {:get_sort($fid,'logo','','bbs')}

第1项是固定只能是栏目数字, 第2项除了可以调取栏目的字段外,还有以下几个比较特殊的功能,
第2项设置为
father 就代表取 所有父栏目,也包括自身,一般用在面包屑导航 比如: 国内新闻->广东新闻->东莞新闻

{volist name=":get_sort($fid,'father')" id="name"}
	<a href="{:urls('content/index',"fid=$key")}">{$name}</a> ->
{/volist}

brother 代表取同级栏目,不包括子栏目


fun函数 跟上面的功能有点类似,重复的功能就不讲解了,只讲解上面没有的功能

{:fun('sort@family',$fid)} 代表获取 父级 同级 下一级 这三级的所有栏目

上面那个用得比较少, 下面这个也用得比较少
{:fun('sort@father',$fid)['id']} 代表获取父栏目的ID
{:fun('sort@father',$fid)['name']} 代表获取父栏目的名称

友情提醒: fun函数实际就是对 get_sortsort_config的补充,但用得不多,某些功能有可能是重复.

列表页用得最多的,就是下面这段代码,
里边做了一个判断,如果有子栏目,就显示子栏目,如果没有子栏目的时候,避免页面空空的,太难看不协调,所以就把同级栏目调取出来. 这显得更好看. 如果子栏目只有一个的话,可能就不是那么好看了.

{volist name=":getArray(fun('Sort@son',intval($fid))?:fun('Sort@brother',$fid))" id="name"}
			<li {eq name="$key" value="$fid"}class='ck'{/eq}><a href="{:urls('content/index',"fid=$key")}">{$name}</a></li>
{/volist}

上面:getArray(fun('Sort@son',intval($fid))?:fun('Sort@brother',$fid))是用到fun函数,他也可以换成下面的
:getArray(sort_config('',$fid)?:get_sort($fid,'brother'))

如果是调用其它频道的栏目,加上目录参数即可.注意要对应是第几项.

{volist name=":getArray(sort_config('bbs',$fid)?:get_sort($fid,'brother','','bbs'))" id="name"}
			<li {eq name="$key" value="$fid"}class='ck'{/eq}><a href="{:urls('content/index',"fid=$key")}">{$name}</a></li>
{/volist}

如果栏目少的话.就可以把相关栏目都全列出来.页面就更丰富

{volist name=":get_sort($fid,'other')" id="name"}
			<li {eq name="$key" value="$fid"}class='ck'{/eq}><a href="{:urls('content/index',"fid=$key")}">{$name}</a></li>
{/volist}

上面这些栏目,如果需要显示图标的话,就加上下面的代码
<i class="{:get_sort($key,'logo')}"></i>
比如

{volist name=":getArray(sort_config('bbs',$fid)?:get_sort($fid,'brother','','bbs'))" id="name"}
			<li {eq name="$key" value="$fid"}class='ck'{/eq}><i class="{:get_sort($key,'logo')}"></i><a href="{:urls('content/index',"fid=$key")}">{$name}</a></li>
{/volist}

最后还有一个非常要注意的事项,如果调用其它频道的栏目,那个地址函数也要加上目录名.比如默认是
{:urls('content/index',"fid=$key")} 对应其它频道就要加上目录名,比如{:urls('bbs/content/index',"fid=$key")}

最后,还有一个小提醒:
循环输出的话,是nama+等于号+双引号再加冒号,比如 name=":函数名"
直接输出名称或其它参数的话是 括号+冒号+函数名 {:函数名
别搞混了,要区别清楚

posted @ 2021-12-15 12:21  半抹灯芯  阅读(64)  评论(0编辑  收藏  举报