Source of file CMSPageAddController.php
Size: 1,344 Bytes - Last Modified: 2021-12-23T10:56:00+00:00
/var/www/docs.ssmods.com/process/src/src/Controllers/CMSPageAddController.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 | <?php namespace UmiMood\MultiSiteTree\Controllers; use UmiMood\MultiSiteTree\MultiSiteTreeEnabled; use UmiMood\MultiSiteTree\MultiSiteTreeTrait; use SilverStripe\CMS\Controllers\CMSPageAddController as BaseCMSPageAddController; /** * Class CMSPageAddController * * @package UmiMood\MultiSiteTree\Controllers */ class CMSPageAddController extends BaseCMSPageAddController implements MultiSiteTreeEnabled { use MultiSiteTreeTrait; private static $url_segment = 'pages/add'; /** * Defines link between all controllers for one family/section e.g. category, content, system etc * @var string */ private static $family_controller = CMSPagesController::class; private static $allowed_actions = array( 'AddForm', 'doAdd', 'doCancel' ); /** * Method override @see BaseCMSPageAddController::AddForm() * * @return \SilverStripe\Forms\Form */ public function AddForm() { $form = parent::AddForm(); $classes = $this->getFilteredClasses(); if (!empty($classes)) { $field = $form->Fields()->dataFieldByName('ParentID'); $field->setFilterFunction(function ($node) use ($classes) { return (in_array($node->getClassName(), $classes)); }); } return $form; } } |