你可以使用一些內置鏌鋣方法來實現這一添加的圖像。
這不是測試,可能無法正常工作,但是這可能是一個辦法做到這一點:
// userGroups = membergroups
$userGroups = $user->getUserGroups();
foreach ($userGroups as $userGroup) {
$resGroups = $userGroup->getResourceGroups();
foreach ($resGroups as $resGroup) {
$resources = $resGroup->getResources();
// merge resources into an array or something
}
}
退房moduser.class.php,modusergroup.class.php,並modresourcegroup.class.php查看這些方法背後的查詢。您可能可以將它們調整爲更高效的查詢。另外,如果我沒有誤解你想達到的目標,那麼你的結果應該與用戶在登錄時會在管理器的資源樹中看到的結果相似嗎?
它使用resource/getnodes.class.php處理器,它使用getCollection爲每個上下文檢索所有可能的資源,然後循環遍歷每個上下文,並通過使用$resource->checkPolicy('list')
來決定是否顯示。這可能是另一種考慮的方法。
我通常使用自定義數據而不是MODX資源,所以很想聽聽你如何繼續。
或許它會幫助你 - HTTP://論壇.modx.com/thread/31499/add-new-document-to-new-resource-group-via-api – Vasis