2
是否有可能在GridFieldAddExistingAutocompleter
上添加過濾器setFilterFunction
上TreeDropdownField
?Silverstripe中的過濾GridFieldAddExistingAutocompleter
TreeDropdownField::create(
"LinkID",
"Link to",
"SiteTree"
)->setFilterFunction(create_function('$obj', 'return $obj->isPublished();'));
這將使SiteTree
對象時isPublished
被稱爲是返回true列表。
有沒有辦法以類似的方式過濾GridField自動完成器?
在以下代碼$this->Pages()
是Page
的has_many
關係。結果將僅列出自動填充下拉列表中的所有Page
對象。
GridField::create(
'Pages',
'Pages belonging to group',
$this->Pages(),
$config = GridFieldConfig::create()->addComponents(
new GridFieldButtonRow('toolbar-header-right'),
new GridFieldToolbarHeader(),
new GridFieldSortableHeader(),
new GridFieldFilterHeader(),
new GridFieldDataColumns(),
new GridFieldDeleteAction(true),
new GridFieldDetailForm(),
new GridFieldAddExistingAutocompleter('toolbar-header-right')
)
)
有沒有辦法可以過濾?
注:我想通過一些其他的檢查,不只是isPublished
,我檢查,如果頁面的父ID是一樣的另一種關係的ID過濾
正在嘗試這個,但是正在做'$ this-> Page()'而不是'Page :: get()'!明白了,謝謝! – danbroooks
你可以粘貼完整的堆棧跟蹤(在某些粘貼網站上)? – Zauberfisch
nvm,我知道這是爲什麼,問題是'filterByCallback'返回'ArrayList'。但'GridFieldAddExistingAutocompleter'僅適用於'DataList',因爲它使用了一些不受'ArrayList' – Zauberfisch