Source of file GridFieldPageExtension.php
Size: 1,189 Bytes - Last Modified: 2021-12-23T10:04:42+00:00
/var/www/docs.ssmods.com/process/src/src/GridFieldPageExtension.php
1234567891011121314151617181920212223242526272829303132333435363738 | <?php namespace Restruct\Silverstripe\GridFieldPages; use SilverStripe\ORM\DataExtension; use SilverStripe\ORM\FieldType\DBHTMLVarchar; use SilverStripe\ORM\Hierarchy\Hierarchy; /** * Applies grid field functionality for pages as a SilverStripe Data Extension instead of requiring you to extend the * GridFieldPage object. This is useful in case you don't wish to change existing class inheritance but still have this * functionality. */ class GridFieldPageExtension extends DataExtension { private static $can_be_root = false; private static $allowed_children = "none"; private static $defaults = [ 'ShowInMenus' => false, ]; public function updateStatusFlags(&$flags) { // we add an empty status-flag to hook some CSS into (gets applied as a class on li.jstree-leaf as well) $flags['gfpage-extension'] = [ 'text' => '', 'title' => '' ]; } public function getTreeTitleAsHtml() { $statusClasses = 'status-' . implode(' status-', array_keys( $this->owner->getStatusFlags() ) ); return DBHTMLVarchar::create()->setValue("<span class='$statusClasses'>{$this->owner->getTreeTitle()}</span>"); } } |