Twitter bootstrap 3 在Dataobject上循环时,如何每列显示2条记录?

Twitter bootstrap 3 在Dataobject上循环时,如何每列显示2条记录?,twitter-bootstrap-3,silverstripe,Twitter Bootstrap 3,Silverstripe,当在数据对象上循环时如何每列仅显示2个项目,例如 我需要显示的位置按照这个设计有4列。我正在使用boostrap作为专栏 我有一个Location.phpDataobject class Location extends DataObject { public static $default_sort = 'Sort'; private static $db = array( 'Sort' => 'Int', 'City' =>

当在
数据对象上循环时
如何每列仅显示2个项目,例如

我需要显示的位置按照这个设计有4列。我正在使用boostrap作为专栏

我有一个Location.php
Dataobject

class Location extends DataObject {

    public static $default_sort = 'Sort';

    private static $db = array(
        'Sort' => 'Int',
        'City' => 'Varchar(255)',
        'Address' => 'Text',
        'PhoneNumber' => 'Varchar(255)'
    );

    private static $has_one = array(
        'SiteConfigExtension' => 'SiteConfig',
    );

    private static $summary_fields = array(
        'City',
        'Address',
        'PhoneNumber',
    );


}
在我的模板中,我有这个

<% with $SiteConfig %>
    <% loop Locations %>
        <div class="col-md-3">
            <div class="location-$Pos">
                <h6>$City</h6>
                <div>$Address</div>
                <div>$PhoneNumber</div>
            </div>
        </div>
    <% end_loop %>
<% end_with %>

$City
$地址
$PhoneNumber

显然,这会为数据对象中的每条记录创建一个新列。

您可以使用$First$Last和$MultipleOf(x)。下面将显示每行2列。将MultipleOf(2)更改为另一个数字,以显示每行不同的列数。MultipleOf(3)=每行3列,MultipleOf(4)=每行4列,等等。您需要更新css类名

  <% with $SiteConfig %>
    <% loop Locations %>
        <% if First %>
            <div class="row">
        <% end_if %>

        <div class="col-md-6">
            <div class="location-$Pos">
                <h6>$City</h6>
                <div>$Address</div>
                <div>$PhoneNumber</div>
            </div>
        </div>

        <% if MultipleOf(2) %>
          </div><% if not Last %><div class="row"><% end_if %>
        <% else %>
          <% if Last %></div><% end_if %>
      <% end_if %>
    <% end_loop %>
  <% end_with %>

$City
$地址
$PhoneNumber