2013-02-26 1 views
1

템플릿의 루프 내에서 호출 컨트롤러 기능 (>) 이 잘 작동 및 반환 루프를 호출 할 때 $ Pos를 함수에 전달할 때.SilverStripe 3 : 그것은 작동하지 1 또는 0</p> <p>나보다 더 돌볼 수있는 간단한 사용자 정의 함수를 작성했습니다

SilverStripe 버전 3

컨트롤러

function MoreThen($pos, $value) { 
if($pos > $value) { 
    return TRUE; 
} else { 
    return FALSE; 
} 

}

Template.ss

<% loop GalleryObjects %> 
<% if Top.MoreThen($Pos,2) %> 
$Pos 
<% end_if %> 
+0

다음을 만들 수 있습니다. 커스텀 템플릿 반복자 [$ 순위 아래로부터 내부 <% 루프 데이터 객체 %>] [1] [1] : http://stackoverflow.com/questions/14096216/pos-from -bottom-inside-loop-dataobjects –

답변

3

은 함수 호출의 인수로서 변수를 사용하는 것은 불가능하다, AFAIK 오직 콘크리트 v 고백한다. 원하는 작업에 따라 템플릿에서 GalleryObjects.limit()을 사용하거나 2 이상의 오프셋을 가진 GalleryObjects 만 반환하는 특정 getter를 작성할 수 있습니다. 도움이 되었으면 좋겠습니다.

+0

개체 위치가 2 이상이면 다른 크기의 이미지를 표시하고 싶습니다. 방금 <% if $ Pos == 3 || $ Pos == 4 || $ Pos == 5 %> 매우 깨끗하지는 않습니다. – user742736

+0

아마도 약간 더러운 해결책은 <% if $ Pos! = 1 && $ Pos! = 2 %><% else %> ... <% end_if %>을 사용하는 것입니다. 이것은 이미지 위치> = 6에서 작업하는 이점이 있습니다. – jfbarrois