我有多个孩子,我在网格中显示。 4个孩子连成一排。现在我想连续给每个第一个和最后一个孩子一个额外的类来指定更多样式。我试过了:
<% if FirstInRow %>
<div class="gridContent firstInRow"></div>
<% else %>
<div class="gridContent"></div>
<% end_if %>
这就是功能:
function FirstInRow(){
return ($this->Pos(1) % 4 == 1) ? true : false;
}
答案 0 :(得分:3)
您可以在模板中使用Modulus
和MultipleOf
控件。
$Modulus(value, offset) // returns an int
$MultipleOf(factor, offset) // returns a boolean.
http://doc.silverstripe.org/sapphire/en/reference/advanced-templates#modulus-and-multipleof
答案 1 :(得分:0)
当你从0开始时,模数效果更好。试试这个:
function FirstInRow(){
return ($this->Pos(0) % 4 == 0);
}
请注意,我也删除了redunandant ternay运算符;如果能让代码更清晰,你可以把它留下来。