2011-08-28 107 views
1

我有这样的代码,我想插入一个div清晰类到达第5列:

<div class="grid<?php $count++; if ($count == 5) ?>"> 
<?php if ($count == 5) { $count = 0; echo '<div class="clearit"></div>'; } ?> 

它的工作原理,但我得到这个错误,我想排除:

Notice: Undefined variable: count in....template/catalog/product/layout.phtml on line 40 

其中线40 <div class="grid<?php $count++; if ($count == 5) ?>">

我说不出哪里出了毛病我有限的知识PHP

回答

2

这是因为你还没有声明你的变量。如果您将$count = 0;添加到PHP文件的顶部,则错误将消失,因为您已声明该变量。

你还应该注意到,这与Zend Framework没有任何关系。

+0

您还可以通过设置'的ini_set surpress这些小非重要错误( 'display_errors',0);'。当然,最好修复它们,因为它们很容易修复,但如果你不想要,你可以隐藏它们。 – Ashley

+6

每当错误被抑制时,一只小猫就会死亡。 – David

+0

谢谢!这解决了它 - 我慢慢学习PHP,因此如果我知道是什么原因导致错误以及如何解决它,它会有所帮助。我提到zend框架,因为我正在从它构建的系统工作,并认为它可能是变量:) – alsd

-2

最好用CSS来做,而不要用标记或服务器端脚本。我给大家举一个例子:

.grid:nth-child(5n+5), .grid.fifth-child { clear: both; } 

它不是在所有浏览器都支持的,所以你可以使用jQuery来解决这个问题:

$('.grid:nth-child(5n+5)').addClass('fifth-child'); 
+0

忽略这不是用户问题的答案,我不确定添加JavaScript和非标准CSS最好解决这个问题。特别是因为清除第五个div与添加新div来执行清除不同。 –

+0

迈克是对的。 CSS方法运行不正常。 我的布局有20个项目,每行5列,共4行。在“5n + 5”的情况下,网格的第五个元素下降到第二排,最后一个项目下降到第五排。 – alsd