mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-10-22 12:05:37 +00:00
NEW: Add ViewableData::getViewerTemplates()
Forms part of the fix for silverstripe/silverstripe-cms#2039
This commit is contained in:
parent
d57dea0318
commit
259ae3f78b
@ -2,35 +2,36 @@
|
||||
|
||||
namespace SilverStripe\ORM;
|
||||
|
||||
use BadMethodCallException;
|
||||
use Exception;
|
||||
use InvalidArgumentException;
|
||||
use LogicException;
|
||||
use SilverStripe\Control\HTTP;
|
||||
use SilverStripe\Core\ClassInfo;
|
||||
use SilverStripe\Core\Config\Config;
|
||||
use SilverStripe\Core\Injector\Injector;
|
||||
use SilverStripe\Core\Resettable;
|
||||
use SilverStripe\Dev\Deprecation;
|
||||
use SilverStripe\Dev\Debug;
|
||||
use SilverStripe\Control\HTTP;
|
||||
use SilverStripe\Dev\Deprecation;
|
||||
use SilverStripe\Forms\FieldList;
|
||||
use SilverStripe\Forms\FormField;
|
||||
use SilverStripe\Forms\FormScaffolder;
|
||||
use SilverStripe\i18n\i18n;
|
||||
use SilverStripe\i18n\i18nEntityProvider;
|
||||
use SilverStripe\ORM\Connect\MySQLSchemaManager;
|
||||
use SilverStripe\ORM\Filters\SearchFilter;
|
||||
use SilverStripe\ORM\Search\SearchContext;
|
||||
use SilverStripe\ORM\Queries\SQLInsert;
|
||||
use SilverStripe\ORM\Queries\SQLDelete;
|
||||
use SilverStripe\ORM\FieldType\DBField;
|
||||
use SilverStripe\ORM\FieldType\DBDatetime;
|
||||
use SilverStripe\ORM\FieldType\DBComposite;
|
||||
use SilverStripe\ORM\FieldType\DBClassName;
|
||||
use SilverStripe\ORM\FieldType\DBComposite;
|
||||
use SilverStripe\ORM\FieldType\DBDatetime;
|
||||
use SilverStripe\ORM\FieldType\DBField;
|
||||
use SilverStripe\ORM\Filters\SearchFilter;
|
||||
use SilverStripe\ORM\Queries\SQLDelete;
|
||||
use SilverStripe\ORM\Queries\SQLInsert;
|
||||
use SilverStripe\ORM\Search\SearchContext;
|
||||
use SilverStripe\Security\Member;
|
||||
use SilverStripe\Security\Permission;
|
||||
use SilverStripe\Security\Security;
|
||||
use SilverStripe\View\SSViewer;
|
||||
use SilverStripe\View\ViewableData;
|
||||
use LogicException;
|
||||
use InvalidArgumentException;
|
||||
use BadMethodCallException;
|
||||
use Exception;
|
||||
use stdClass;
|
||||
|
||||
/**
|
||||
@ -2146,6 +2147,11 @@ class DataObject extends ViewableData implements DataObjectInterface, i18nEntity
|
||||
return $untabbedFields;
|
||||
}
|
||||
|
||||
public function getViewerTemplates($suffix = '')
|
||||
{
|
||||
return SSViewer::get_templates_by_class(static::class, $suffix, $this->baseClass());
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the value of a field.
|
||||
* Called by {@link __get()} and any getFieldName() methods you might create.
|
||||
|
@ -2,25 +2,26 @@
|
||||
|
||||
namespace SilverStripe\View;
|
||||
|
||||
use ArrayIterator;
|
||||
use Exception;
|
||||
use InvalidArgumentException;
|
||||
use IteratorAggregate;
|
||||
use LogicException;
|
||||
use SilverStripe\Core\ClassInfo;
|
||||
use SilverStripe\Core\Config\Config;
|
||||
use SilverStripe\Core\Config\Configurable;
|
||||
use SilverStripe\Core\Convert;
|
||||
use SilverStripe\Core\Extensible;
|
||||
use SilverStripe\Core\Injector\Injectable;
|
||||
use SilverStripe\Core\Injector\Injector;
|
||||
use SilverStripe\Core\Manifest\ModuleResourceLoader;
|
||||
use SilverStripe\Dev\Debug;
|
||||
use SilverStripe\Dev\Deprecation;
|
||||
use SilverStripe\ORM\ArrayLib;
|
||||
use SilverStripe\ORM\FieldType\DBField;
|
||||
use SilverStripe\ORM\FieldType\DBHTMLText;
|
||||
use SilverStripe\Core\ClassInfo;
|
||||
use SilverStripe\Core\Convert;
|
||||
use SilverStripe\Core\Injector\Injector;
|
||||
use SilverStripe\Dev\Debug;
|
||||
use IteratorAggregate;
|
||||
use LogicException;
|
||||
use InvalidArgumentException;
|
||||
use SilverStripe\View\SSViewer;
|
||||
use UnexpectedValueException;
|
||||
use ArrayIterator;
|
||||
|
||||
/**
|
||||
* A ViewableData object is any object that can be rendered into a template/view.
|
||||
@ -578,6 +579,17 @@ class ViewableData implements IteratorAggregate
|
||||
|
||||
// UTILITY METHODS -------------------------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Find appropriate templates for SSViewer to use to render this object
|
||||
*
|
||||
* @param string $suffix
|
||||
* @return array
|
||||
*/
|
||||
public function getViewerTemplates($suffix = '')
|
||||
{
|
||||
return SSViewer::get_templates_by_class(static::class, $suffix, self::class);
|
||||
}
|
||||
|
||||
/**
|
||||
* When rendering some objects it is necessary to iterate over the object being rendered, to do this, you need
|
||||
* access to itself.
|
||||
|
Loading…
x
Reference in New Issue
Block a user