Source of file WithRollupSupportExtension.php
Size: 0,964 Bytes - Last Modified: 2021-12-23T10:02:26+00:00
/var/www/docs.ssmods.com/process/src/src/Model/WithRollupSupportExtension.php
123456789101112131415161718192021222324252627282930313233343536 | <?php namespace Logicbrush\RollupPage\Model; use SilverStripe\CMS\Controllers\CMSPageEditController; use SilverStripe\Control\Controller; use SilverStripe\Forms\CheckboxField; use SilverStripe\Forms\FieldList; use SilverStripe\ORM\DataExtension; class WithRollupSupportExtension extends DataExtension { private static $db = [ 'NeverRollup' => 'Boolean', ]; public function updateSettingsFields( FieldList $fields ) { $fields->insertAfter( 'ShowInSearch', CheckboxField::create( 'NeverRollup', 'Never rollup this page?' ) ); } public function updateLink( &$link, &$action, &$relativeLink ) { if ( $action === null ) { if ( ! $this->owner->NeverRollup && ! ( Controller::has_curr() && Controller::curr() instanceof CMSPageEditController ) && $this->owner->Parent() instanceof RollupPage && $this->owner->Parent()->ShowLinksOnly !== 1 ) { $link = $this->owner->Parent()->Link() . '#' . $this->owner->URLSegment; } } } } |