首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >斯马蒂:不。在{区段}中的

斯马蒂:不。在{区段}中的
EN

Stack Overflow用户
提问于 2012-05-30 06:57:03
回答 3查看 166关注 0票数 0

我有分类和子类别。我想选择所有父类别&子类别。但希望在每个父类别下只显示3-4个子类别。

我的Php 代码

代码语言:javascript
复制
 /******Start Categories********/
  $ca=mysql_query('select * from category where parent_id=0');
  while($ca1 = mysql_fetch_array($ca))
{
$ca2[]=$ca1;
}
$smarty->assign('ca2',$ca2);


  /******End Categories********/
   /******Start SubCategories********/
  $sub=mysql_query('select * from category where parent_id!=0 ');
  while($sub1 = mysql_fetch_array($sub))
{
$sub2[]=$sub1;
}
$smarty->assign('sub2',$sub2);


  /******End SubCategories********/

和Tpl 代码:

代码语言:javascript
复制
<div id="sub_ltcol">
                {section name=loopc loop=$ca2}
                    <div id="gr_design">
                        <div id="gr_head">
                            <h4>{$ca2[loopc].category_name}</h4>
                        </div>
                        {section name=loops loop=$sub2}
                        {if $ca2[loopc].category_id eq $sub2[loops].parent_id}
                        <div id="gr_body">
                            <ul>
                            <li>
                                    <div class="arw_icon"><img src="images/arw_icon.png"></div>
                                    <a href="#">{$sub2[loops].category_name}</a>
                                </li>
                                <div class="dotted_line"></div>
                            </ul>
                        </div>{/if}
                        {/section}
                    </div>
                    {/section}


                </div>

我只想显示<li>标签3-4次.

EN

回答 3

Stack Overflow用户

发布于 2012-05-30 07:05:34

你可以试试

代码语言:javascript
复制
{section name=loops loop=$sub2}
  {if $ca2[loopc].category_id eq $sub2[loops].parent_id AND $smarty.section.loops.iteration <= 4}

      ...
  {/if}

{/section}
票数 0
EN

Stack Overflow用户

发布于 2012-05-30 07:16:29

您可以使用此方法:

代码语言:javascript
复制
<div id="sub_ltcol">
{section name=loopc loop=$ca2}
    <div id="gr_design">
        <div id="gr_head">
            <h4>{$ca2[loopc].category_name}</h4>
        </div>
        {section name=loops loop=$sub2}
        {if $ca2[loopc].category_id eq $sub2[loops].parent_id}
        {if $smarty.foreach.loops.index lte 3}
        <div id="gr_body">
            <ul>
            <li>
                    <div class="arw_icon"><img src="images/arw_icon.png"></div>
                    <a href="#">{$sub2[loops].category_name}</a>
                </li>
                <div class="dotted_line"></div>
            </ul>
        </div>{/if}
        {/if}
    {/section}
</div>
{/section}
</div>
票数 0
EN

Stack Overflow用户

发布于 2012-05-30 07:19:10

如果您只需要显示3个子类别,则只需从DB获取这些内容并显示出来。可以将极限属性用于相同的

代码语言:javascript
复制
 /******Start SubCategories********/
  $sub=mysql_query('select * from category where parent_id!=0 limit 3');

它还有助于提高页面加载性能。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10811381

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档