yzmcms图文模板列表标签优化技巧

479次浏览 更新日期:2024-01-10 10:35:13 分类:程序交流 评论:7

有很多小伙伴在使用yzmcms制作模板中,经常遇到第一条数据是带缩略图,其他的则是普通列表形式的数据,如图所示:

yzmcms图文模板列表标签优化技巧


实现这种的标签方案有两种

{m:lists field="title,thumb,url,description,updatetime,click" catid="6" limit="1"}
{loop $data $v}
<li class="sup">
	<a href="{$v[url]}" title="{$v[title]}">
		<p>{$v[title]}</p>
		<img src="{get_thumb($v['thumb'])}" alt="{$v[title]}">
		<div class="txt">
			<div class="detail">{$v[description]}</div>
		</div>
	</a>
</li>
{/loop}
<ul>
	{m:lists field="title,thumb,url,description,updatetime,click" catid="6" limit="1,7"}
	{loop $data $v}
	<li> <span></span><a href="{$v[url]}" title="{$v[title]}">{$v[title]}</a> <i class="time">{date('m月d日',$v['updatetime'])}</i>
	</li>
	{/loop}
</ul>


其中 limit="1,7" 表示跳过第一条,也就是从第二条开始,调用7条数据

这种查询方式也可以实现,不过当MySQL数据量过大时,查询两次数据库会加大数据库压力,查询效率降低,所以不推荐!


来看第二种实现方式

{m:lists field="title,thumb,url,description,updatetime,click" catid="6" limit="8"}
{php $data_top[0] = array_shift($data);}
{loop $data_top $v}
<li class="sup">
	<a href="{$v[url]}" title="{$v[title]}">
		<p>{$v[title]}</p>
		<img src="{get_thumb($v['thumb'])}" alt="{$v[title]}">
		<div class="txt">
			<div class="detail">{$v[description]}</div>
		</div>
	</a>
</li>
{/loop}
<ul>
	{loop $data $v}
	<li> <span></span><a href="{$v[url]}" title="{$v[title]}">{$v[title]}</a> <i class="time">{date('m月d日',$v['updatetime'])}</i>
	</li>
	{/loop}
</ul>

只查询一次数据库,通过PHP实现数据分离,提高查询效率,推荐!

我来说两句
  • yzmcms
    yzmcms 官网认证 6月前
    @四鬼 代码已修改,
    将{php $data_top[] = array_shift($data);} 改成 {php $data_top[0] = array_shift($data);}
    2
    回复
  • 做模板正好用到,哈哈
    1
    回复
  • 四鬼
    四鬼 6月前
    试了下有个问题:如果同一页面中多处用第二种方式来做的话,除了第一次使用的地方显示正常,后面的就显示不正常;第二次使用的地方,前两条显示缩略图;第三次使用的地方,前三条显示缩略图;第四次使用的地方,前四条显示缩略图
    1
    回复
  • 四鬼
    四鬼 6月前
    很实用
    1
    回复
  • sxsmlj
    sxsmlj 5月前
    OK
    
    0
    回复
  • 四鬼
    四鬼 6月前
    @yzmcms 搞定
    0
    回复
  • oolaile
    oolaile 6月前
    我正好需要这种方式的
    0
    回复
作者信息
发布见解
发内容 回顶部