SilverStripe Използване на стойности на полета в шаблон

всичко! Така че аз съм нов в SilverStripe и въпреки че имах успех в модифицирането на модула „Галерия“, за да включва опция за задаване на размера на миниатюрата, имам проблеми с използването на стойностите за ширина/височина на миниатюрата в моите шаблон. Кодът по-долу не показва никое от изображенията в галерията (ако твърдо кодирам ширина и височина, като например 250 250, те се показват) - но след цикъла, в който показвам стойностите $ThumbWidth и $ThumbHeight, те се показват съвсем добре. .така че знам, че тези стойности са достъпни за шаблона.

<% loop OrderedImages %>
        <a class="fancybox" data-fancybox-group="gallery" href="/bg$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