Вставить переменный аргумент в функцию шаблона Silverstripe? - PullRequest
0 голосов
/ 16 февраля 2012

Я использую пример нумерации страниц из Balbus Design. В шаблоне .ss есть строка кода:

<% control ProductList.PaginationSummary(5) %>

Возможно ли использовать переменную вместо жесткого кодирования значения 5? Например:

<% control ProductList.PaginationSummary(PSSize) %>

Переменная PSSize определена в модели и будет возвращать число, установленное в CMS.

1 Ответ

3 голосов
/ 29 февраля 2012

Язык шаблонов SS 2.4 очень ограничен с точки зрения того, что он может делать.

В этом конкретном случае вы можете попробовать отработать его в контроллере - попробуйте настроить $resultSet в пределах ProductListPage_Controller::ProductListчтобы предварительно обработать сводную информацию о пагинации до желаемого размера контекста, чтобы вы могли получить к ней доступ позже из шаблона.

Попробуйте что-то вроде этого:

$resultSet->AdjustedPaginationSummary = $resultSet->PaginationSummary($this->productsPerPage);
return $resultSet;

И тогда в шаблоне вы сможетеделать:

<% control ProductList.AdjustedPaginationSummary %>
...