0

我有多个孩子,我在网格中显示。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;
}
4

2 回答 2

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

于 2011-11-21T22:35:11.490 回答
0

当您可以从 0 开始时,Modulus 效果更好。试试这个:

function FirstInRow(){
    return ($this->Pos(0) % 4 == 0);
}

请注意,我也删除了多余的 ternay 运算符;如果它使代码对您更清晰,您可以保留它。

于 2011-11-29T04:04:28.450 回答