mirror of
https://github.com/silverstripe/silverstripe-dms
synced 2024-10-22 14:05:56 +02:00
e4bc553521
* 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.
36 lines
899 B
Markdown
36 lines
899 B
Markdown
# 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
|
|
|
|
```php
|
|
$dms = DMS::inst();
|
|
$sets = $dms->getDocumentSetsByPage($myPage);
|
|
```
|
|
|
|
You can also request sets directly from the SiteTree instance:
|
|
|
|
```php
|
|
$sets = $page->getDocumentSets();
|
|
```
|
|
|
|
## Get all related documents for a page
|
|
|
|
`DMS::getByPage` will exclude currently embargoed documents by default. To include embargoed documents as well
|
|
add `true` as the second argument.
|
|
|
|
```php
|
|
$dms = DMS::inst();
|
|
|
|
$documents = $dms->getByPage($myPage);
|
|
$documentsIncludingEmbargoed = $dms->getByPage($myPage, true);
|
|
```
|
|
|
|
You can also request this directly from the SiteTree instance:
|
|
|
|
```php
|
|
$documents = $myPage->getAllDocuments();
|
|
```
|