如何才能实现商品分类名称按每行两个排列

2016-07-07 15:42 来源:www.chinab4c.com 作者:ecshop专家

<ul>
<!--{foreach from=$categories item=cat}-->
<li>
<span class="parent-cat"><a href="{$cat.url}">{$cat.name|escape:html}</a></span><br />
<!--{foreach from=$cat.children item=child}-->
<span><a href="{$child.url}">{$child.name|escape:html}</a></span>
<!--{/foreach}-->
</li>
<!--{/foreach}-->
</ul>

这是首页显示商品分类名称的代码,但只能实现循环显示,我想按照每行两个商品分类名称这样的方式来排列,但搞来搞去的就是搞不定,只知道用eq条件能实现我的目的,但具体的代码总是写的不对,恳请管理员帮帮忙,指点一下,谢谢。

回答:
<ul>
<!--{foreach from=$categories item=cat}--> //显示主分类
<li>
<span class="parent-cat"><a href="{$cat.url}">{$cat.name|escape:html}</a></span><br />
<!--{foreach from=$cat.children item=child}--> //显示子分类
<span><a href="{$child.url}">{$child.name|escape:html}</a></span>
{cycle values=",<br />"} //控制每循环两次换行
<!--{/foreach}-->
</li>
<!--{/foreach}-->
</ul>

<ul>
<!--{section name=cat loop=$categories}-->
<li>
<span class="parent-cat"><A href="{$categories[cat].url}">{$categories[cat].name|escape:html}</A></span><br />
</li>
<!--{/section}-->
</ul>

这是我自己改写的一行N列显示商品分类名称的代码(不含子类),但测试时发现只会显示id值为1的第一条记录,而不会循环显示,这是为何?看来看去的看了半天还是不明白,有网友说section循环只能是应用在二维数组上时才有效,但我测试过,一维数组同样有效啊(即同样能够循环显示一维数组中的值),还有网友说section循环不能嵌套循环,这是真的吗?

恳请wj进一步指点一二好吗?谢谢。我还是喜欢用section循环来显示记录。

呵呵,正是这样,和我一模一样的啊,我测试过,一维数组同样有效的(我亲手测试的),下面的这条语句就能循环显示所有的记录了:
$query= "SELECT * FROM dir_info";
$result= mysql_query($query);
$i=0;
while($res = mysql_fetch_array($result)) {
$fina[$i]["id"]=$res['id'];
$fina[$i]["dir_name"]=$res['dir_name'];
$i++;
}

感觉问题好象出在getall()函数上,或者说没有while循环的原因,我搞了二三天了,还是没弄明白原因在吧,纳闷。

程序员们,再帮帮忙吧,section循环如何写才能正确输出分类及子类名称啊,我都弄了好几天了,还是搞不定,痛苦哪,你们水平高,给帮帮忙好吗?

顶出这个帖子,看来楼主也没解决这个问题,现在我也遇到这问题了,希望大大们解决一下!

首页商品列表如何分两列显示?研究中。。。

二楼的方案难道不可行吗

谢谢二楼 可以了 稍微修改一下CSS样式就可以

sinok :

怎样修改CSS样式?请明示。谢谢!!!!

这样修改啊???



菜鸟

:)

原帖由 wj 于 2007-2-26 11:17 发表

//显示主分类

{$cat.name|escape:html}
//显示子分类
{$child.name|escape:html}
{cycle values=","} //控制每循环两次换行





我现在用joyo25模板,使用了以上代码,实现了二个排列,但是子分类第一个字顶格显示,与上级分类不对齐,我希望能在上级分类空一格下开始显示

怎么实现??

怎么改CSS呢