SilverStripe с использованием значений полей в шаблоне

все! Итак, я новичок в SilverStripe, и хотя мне удалось изменить модуль «Галерея», чтобы включить параметр для установки размера миниатюры, у меня возникают проблемы с использованием значений ширины/высоты миниатюры в моем шаблон. В приведенном ниже коде не отображается ни одно из изображений галереи (если я жестко запрограммирую ширину и высоту, например, 250 250, которые они отображают), но после цикла, в котором я отображаю значения $ThumbWidth и $ThumbHeight, они отображаются просто отлично. .so я знаю, что эти значения доступны для шаблона.

<% loop OrderedImages %>
        <a class="fancybox" data-fancybox-group="gallery" href="$Filename" title="$Caption">
                $SetSize($ThumbWidth, $ThumbHeight)
        </a>
<% end_loop %>
Width: $ThumbWidth&nbsp;
Height: $ThumbHeight

Итак, видимо, функции $SetSize не нравятся значения, которые я ей передаю. Может ли кто-нибудь пролить свет на то, где моя ошибка?

Спасибо! Брайан


person Bryan Green    schedule 06.09.2015    source источник
comment
Попробуйте $Up.ThumbWidth и $Up.ThumbHeight в своем цикле. Я думаю, что это может быть проблема области видимости.   -  person Turnerj    schedule 06.09.2015
comment
Вы правы - это был вопрос масштаба. Хитрость заключалась в использовании «$ Top.ThumbWidth» и «$ Top.ThumbHeight».   -  person Bryan Green    schedule 06.09.2015


Ответы (1)


С форума SilverStripe:

Эти переменные не устанавливаются в элементе OrderedImage, который является контекстом цикла. Используйте $Top.ThumbWidth и $Top.ThumbHeight в качестве параметров.

person Bryan Green    schedule 06.09.2015