\SiteDataService
Capture / cache some commonly used data elements for each page
- Author: marcus
Synopsis
class SiteDataService
{
- // members
- protected array $items = ;
- protected array $mapped = ;
- public string $itemClass = 'DataObjectNode';
- public string $baseClass = 'SiteTree';
- public string $itemSort = 'ParentID ASC, Sort ASC';
- public string $parentField = 'ParentID';
- public array $additionalFields = ;
- public Injector $injector;
- // methods
- public void __construct()
- public void getItem()
- public void getItems()
- public void generateMenuItems()
- protected void queryFields()
- protected void getPublicNodes()
- protected void adjustPublicNodeQuery()
- protected SS_Query getPrivateNodes()
- protected void adjustForVersioned()
- protected void adjustPrivateNodeQuery()
- protected void getAdditionalNodes()
- protected void buildLinks()
- public void createMenuNode()
- protected void iterateNodes()
Members
protected
- $items
- $mapped
public
- $additionalFields
—
array
Additional fields to be queried from the SiteTree/Page tables - $baseClass — string
- $injector
—
Injector
Needed to create the menu item objects - $itemClass — string
- $itemSort — string
- $parentField
—
string
The field to use for parent ordering
Methods
protected
- adjustForVersioned()
- adjustPrivateNodeQuery()
- adjustPublicNodeQuery()
- buildLinks()
- getAdditionalNodes()
- getPrivateNodes() — Get private nodes, assuming SilverStripe's default perm structure
- getPublicNodes()
- iterateNodes()
- queryFields()
public
- __construct()
- createMenuNode() — Creates a menu item from an array of data
- generateMenuItems()
- getItem()
- getItems()