Серебряная полоса $ Children.Filter - PullRequest
0 голосов
/ 26 мая 2018

Я работаю над решением для электронной коммерции, использующим Silverstripe и модуль Silvershop.Я хочу, чтобы все товары отображались на верхнем уровне страницы моего магазина с разбивкой по категориям (футболки, шляпы, программы ...).В настоящий момент я получаю отдельные «ProductCategories», но в каждой категории отображается список ВСЕХ дочерних страниц («Products»), а не соответствующие дочерние для каждой категории.

Используемый мной фильтр настроен следующим образом:

<% loop $Children.Filter('ClassName', 'ProductCategory') %>

Кто-нибудь может посоветовать, почему это не работает?

1 Ответ

0 голосов
/ 26 мая 2018

Вы можете попробовать что-то вроде.

PHP

function ProductCategoryList() {
  return ProductCategory::get();
}

Шаблон

<% if $ProductCategoryList %>
  <% loop $ProductCategoryList %>
    <h2>$Title</h2>
    <% loop $ProductsShowable %>
      <div class="product">
        <h3>$Title</h3>
        <div>$Content</div>
      </div>
    <% end_loop %>
  <% end_loop %>
<% end_if %>
...