このための組み込みのページコントロールがあるため、現在のページをリストから除外するには、次のようにします。
<% control ChildrenOf(page-url) %>
<% if LinkOrCurrent = current %>
<!-- exclude me -->
<% else %>
<!-- Output some stuff, like the page's $Link and $Title -->
<% end_if %>
<% end_control %>
http://doc.silverstripe.org/sapphire/en/reference/built-in-page-controls#linkingmode-linkorcurrent-and-linkorsectionを参照してください
アップデート
以下のコメントで$Posコントロールを使用したいと述べたように、データオブジェクトセットを反復処理する前にフィルター処理する必要があります。Page_Controllerクラスに以下を追加します。
function FilteredChildrenOf($pageUrl) {
$children = $this->ChildrenOf($pageUrl);
if($children) {
$filteredChildren = new DataObjectSet();
foreach($children as $child) {
if(!$child->isCurrent()) $filteredChildren->push($child);
}
return $filteredChildren;
}
}
次に、テンプレートの「ChildrenOf」を「FilteredChildrenOf」に置き換えます。
<% control FilteredChildrenOf(page-url) %>
//use $Pos here
<% end_control