PbootCMS判断是否有子栏目, pbcms特殊判断 三级四级都能判断
PbCMS判断是否有子栏目,二级三级四级都能判断,
然后可以写不同的样式运行,
默认的 {pboot:nav parent={sort:scode}}不行,空的时候不执行,查出来数据[nav:soncount] 也是0,很奇怪。
但是这个头部导航是可以,列表的时候有的要调用目录和内容一起循环,没有子子目录直接内容,就一直实现不了,看了个csdn技术人改的,我这里发布下,
一般网站是用不到。比较复杂层级用这个好解决
原文如下:
例如内页左侧栏,假如每个一级栏目下都有二级栏目,就用下面这个可以应付。
{pboot:nav parent={sort:pcode} } {/pboot:nav}
但是遇到一些情况,例如某些一级栏目没有子类就需要用到这个方法了(以及我遇到了这个,)
一、/apps/home/model/ParserModel.php中加入hasSon方法
//当前栏目是否有子栏目,有返回1, 没有返回-1
public function hasSon($scode){
$pcode = $scode;
$result = parent::table('ay_content_sort a')
->where('a.pcode='.$pcode)
->find();
if($result){
return 1;
}else{
return -1;
}
}
二、/apps/home/controller/ParserControlle.php中加入标签代码,共2处
上图加在
// 解析指定分类标签
里面的,注意直接搜“按查询数据条数循环”会有很多个,所以要先定位好
case 'hasSon': //判断指定分类是否有子分类
$hasSon = $this->model->hasSon($value->scode);
$one_html = str_replace($matches2[0][$j],$hasSon,$one_html);
break;
2.public function parserSortLabel($content, $sort)中,添加如下代码
case 'hasSon' ://判断当前分类是否有子分类
$hasSon = $this->model->hasSon($sort->scode);
$content = str_replace($matches[0][$i],$hasSon,$content);
break;
下面是使用例子,注意
{pboot:sort scode={sort:scode}}
{pboot:if({sort:hasSon}>0)}
{pboot:nav parent={sort:scode}}
<a href="[nav:link]" class="onelist textover" {pboot:2if('[nav:scode]'=='{sort:scode}')}style='font-weight:normal'{/pboot:2if}>[nav:name]</a>
{/pboot:nav}
{else}
{pboot:nav parent={sort:pcode}}
<a href="[nav:link]" class="onelist textover" {pboot:2if('[nav:scode]'=='{sort:scode}')}style='font-weight:normal'{/pboot:2if}>[nav:name]</a>
{/pboot:nav}
{/pboot:if}
{/pboot:sort}
我自己运用的标签代码
{pboot:sort scode={sort:scode}}
{pboot:if({sort:hasSon}>0)}
{pboot:nav parent={sort:scode}}
<div class="cpzxitemtit2"><a href="[nav:link]" class="act">[nav:name]</a></div>
<ul class="cpzxitemul">
{pboot:list scode=[nav:scode] num=18 order=date}
<!-- [list:id] -->
<li>
<a href="[list:link]">
<img src="[list:ico]" alt="[list:title]">
<div class="textbox">
<div class="name">[list:ext_cpxh]</div>
<div class="subname">[list:ext_cpxl]</div>
</div>
</a>
</li>
{/pboot:list}
</ul>
{/pboot:nav}
{else}
<ul class="cpzxitemul">
{pboot:list scode={sort:scode} num=18 order=date}
<!-- [list:id] -->
<li>
<a href="[list:link]">
<img src="[list:ico]" alt="[list:title]">
<div class="textbox">
<div class="name">[list:ext_cpxh]</div>
<div class="subname">[list:ext_cpxl]</div>
</div>
</a>
</li>
{/pboot:list}
</ul>
{/pboot:if}
{/pboot:sort}
【责任编辑:超级管理员】
关键字: pbootcms常见问题
{pboot:nav}{pboot:list }同时用 同是调用二级三级以及对应的文章内容 div li flex空白元素自动填充,自动判断,可控制数量最新文章
- pbootcms网站栏目有子类,怎么判断高亮
- html中解决防盗链图片问题,让图片正常加载显示的方法
- dede 电脑端和手机端首页同步生成方法,
- excel表格导入access中不换行解决办法-
- dede完美上下篇 英文版替换标签 dede:prenext 中英
- dede中英文网站栏目条调用方法
- dede双语站 面包导航{dede:field name='position'}
- PS: 无法完成请求,因为某种原因阻止文本引擎进行
- dede企业网站常见左侧固定大小类二级菜单调用代码
- 栏目页dede:channelartlist调用下级子类并dede:arcl
- dede:channelartlis 判断是否有子类栏目
- 更换织梦后台图集上传flash插件为layui上传模块