PublicCMS中做内容输出时,能否只显示有封面cover的?

shine声 发布于 05/14 09:49
阅读 188
收藏 0

<@_contentList categoryId=categoryId><#list page.list as a></#list></@_contentList>

我想显示某个分类下5条有cover的内容,应该怎么写?想做首页的新闻动态图,总不能让用户每条新闻都给个封面图吧,所以要只显示有封面的,不知如何处理,求大神指点

加载中
0
咋个办呢

PublicCMS 2017版本中,对于@_contentList指令是不支持你想要的功能,需要改代码。

只需要改动如下文件即可。

src/main/resources/templates/admin/cmsTemplate/help.html
    找到 <@_contentList> 标签指令的说明,修改内容添加对cover的过滤属性。
    <#-- string categoryId 内容分类ID
             boolean hasCover 是否存在封面|
             int count 数据条数
     -->
    <@_contentList categoryId=categoryId hasCover=hasCover count=count></@_contentList>

CmsContentListDirective.execute(...)
    追加hasCover属性获取支持,Boolean hasCover = handler.getBoolean("hasCover"),将此属性向后传递。

CmsContentService.getPage(...)
    此方法中对查询逻辑的处理,在此方法中追加一个参数Boolean hasCover,将此参数向下传递。

CmsContentDao.getPage(...)
    此方法中对查询Dao的处理,在此方法中追加一个参数Boolean hasCover,并在方法内部可以看到HQL的动态拼接,在动态拼接HQL中把此属性查询追加进去。
        if (notEmpty(hasCover) && hasCover) { 
            queryHandler.condition("bean.cover <> :null");
        }

 

提示:使用<>不等号,不利于查询效率。

 

咋个办呢
回复 @shine声 : 不用谢,有问题随时问。
shine声
shine声
谢指导
返回顶部
顶部