2015-12-21 3 views
2

Я хочу сделать простую арифметическую операцию в шаблоне .ss.Арифметика SilverStripe в шаблоне

<% loop $Images %> 
    <img src="$Link" alt=""/> 
    <% $Pos == 4 %> 
     and {$TotalItems - 4} more foto's 
     $Break 
    <% end_if %> 
<% end_loop %> 

Например, я хотел бы вывести

и 10 еще фото-х

Но лучшее, что я могу получить это

и 14 - более 4 фото-х

Я знаю, что могу сделать функцию, которая работает сейчас, но могу ли я сделать арифметические операции в шаблоне?

+0

Ну, это сработало, но это нереально арифметика. Так что палец вверх для обходного пути. @csy_dot_io –

ответ

4

Вы могли бы сделать это вот так.

Сначала вы ограничиваете изображения на сумму, которую хотите отобразить. После этого вы перебираете один и тот же набор со смещением x (4) и проверяете, есть ли еще. Если это так, выведите количество оставшихся изображений.

<% loop $Images.Limit(4,0) %> 
    <img src="$Link" alt=""/> 
<% end_loop %> 
<% if $Images.Limit(9999,4) %> 
    and $Images.Limit(9999,4).Count more foto's 
<% end_if %> 

код не проверен, но должен работать.

Редактировать

Я думаю, что "реальный" арифметика не представляется возможным по умолчанию. Для этого вам нужно написать специальную функцию.

Смежные вопросы