Source of file StylingStyle.php
Size: 1,981 Bytes - Last Modified: 2021-12-24T06:47:59+00:00
/var/www/docs.ssmods.com/process/src/src/StylingStyle.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 | <?php namespace Fractas\ElementalStylings; use SilverStripe\Forms\DropdownField; use SilverStripe\Forms\FieldList; use SilverStripe\ORM\DataExtension; use SilverStripe\View\ArrayData; class StylingStyle extends DataExtension { /** * @var string */ private static $singular_name = 'Style'; /** * @var string */ private static $plural_name = 'Styles'; /** * @config * * @var array */ private static $style = []; public function getStylingStyleNice($key) { return (!empty($this->owner->config()->get('styles')[$key])) ? $this->owner->config()->get('styles')[$key] : $key; } public function getStylingStyleData() { return ArrayData::create([ 'Label' => self::$singular_name, 'Value' => $this->getStylingStyleNice($this->owner->Style), ]); } public function getStylingTitleData() { return ArrayData::create([ 'Label' => 'Title', 'Value' => $this->owner->obj('ShowTitle')->Nice(), ]); } /** * @return string */ public function updateStyleVariant(&$style) { if (isset($style)) { $style = strtolower($style); } else { $style = ''; } $style = 'style-'.$style; return $style; } public function updateCMSFields(FieldList $fields) { $style = $this->owner->config()->get('styles'); if ($style && count($style) > 1) { $fields->addFieldsToTab('Root.Styling', DropdownField::create('Style', _t(__CLASS__.'.STYLE', 'Style'), $style)); } else { $fields->removeByName('Style'); } return $fields; } public function populateDefaults() { $style = $this->owner->config()->get('styles'); $style = reset($style); $this->owner->Style = $style; parent::populateDefaults(); } } |