for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Dynamic\Elements\Promos\Model;
use Dynamic\BaseObject\Model\BaseElementObject;
use Dynamic\Elements\Promos\Elements\ElementPromos;
use SilverStripe\Forms\FieldList;
use SilverStripe\Forms\GridField\GridField;
use SilverStripe\Forms\GridField\GridFieldConfig_RecordViewer;
/**
* Class PromoObject
* @package Dynamic\Elements\Promos\Model
*
* @method \SilverStripe\ORM\ManyManyList ElementPromos()
*/
class PromoObject extends BaseElementObject
{
* @return string
private static $singular_name = 'Promo';
$singular_name
private static $plural_name = 'Promos';
$plural_name
* @var array
private static $belongs_many_many = array(
$belongs_many_many
'ElementPromos' => ElementPromos::class,
);
* @var string
private static $table_name = 'PromoObject';
$table_name
private static $summary_fields = [
$summary_fields
'Summary',
];
* @return FieldList
* @throws \Exception
public function getCMSFields()
$this->beforeUpdateCMSFields(function (FieldList $fields) {
$fields->removeByName('ElementPromos');
$config = GridFieldConfig_RecordViewer::create();
$fields->addFieldToTab(
'Root.Elements',
GridField::create(
'ElementPromos',
'Elements',
$this->ElementPromos(),
$config
)
$fields->dataFieldByName('Image')
->setFolderName('Uploads/Elements/Promos');
});
return parent::getCMSFields();
}
* @return mixed
public function getSummary()
return $this->dbObject('Content')->Summary(20);