silverstripe-dms/docs/en/manage-page-relations.md
Robbie Averill e4bc553521 API Add document sets, remove *Page methods from DMSDocument
* Add 2.0.0 changelog
* Update DMSInterface and DMSDocumentInterface removing *page and adding getDocumentSetsByPage to DMSInterface
* Update use documentation and update unit tests

This commit changes the relationship from Pages has_many Documents to Pages has_many DocumentSets which are many_many to Documents. The upload field has been upated to attach documents to a set instead of a page, the tests updated and the DMSInterface and DMSDocumentInterface updated to be less relevant to pages and more relevant to document sets.
2017-05-09 13:04:29 +12:00

899 B

Manage page relations

Documents are associated to pages via "document sets". You can retrieve document sets for a page, then retrieve documents that belong to those sets. You can still retrieve all documents for a page if you want to.

Get document sets for a page

$dms = DMS::inst();
$sets = $dms->getDocumentSetsByPage($myPage);

You can also request sets directly from the SiteTree instance:

$sets = $page->getDocumentSets();

DMS::getByPage will exclude currently embargoed documents by default. To include embargoed documents as well add true as the second argument.

$dms = DMS::inst();

$documents = $dms->getByPage($myPage);
$documentsIncludingEmbargoed = $dms->getByPage($myPage, true);

You can also request this directly from the SiteTree instance:

$documents = $myPage->getAllDocuments();