public function generatePalette(): void
    {
        // @codingStandardsIgnoreStart
        // TODO: How to handle editAll actions?
        // @codingStandardsIgnoreEnd

        if (Input::get('table') != 'tl_layout' || Input::get('act') != 'edit') {
            return;
        }

        $layout = LayoutModel::findByPk(Input::get('id'));

        // dynamically render palette so that extensions can plug into default palette
        if ($layout->layoutType == 'bootstrap') {
            $metaPalettes                             = & $GLOBALS['TL_DCA']['tl_layout']['metapalettes'];
            $metaPalettes['__base__']                 = $this->getMetaPaletteOfPalette('tl_layout');
            $metaPalettes['default extends __base__'] = $this->environment
                ->getConfig()
                ->get('layout.metapalette', array());

            // unset default palette. otherwise metapalettes will not render this palette
            unset($GLOBALS['TL_DCA']['tl_layout']['palettes']['default']);

            $subSelectPalettes = $this->environment->getConfig()->get('layout.metasubselectpalettes', array());

            foreach ($subSelectPalettes as $field => $meta) {
                foreach ($meta as $value => $definition) {
                    unset($GLOBALS['TL_DCA']['tl_layout']['subpalettes'][$field . '_' . $value]);
                    $GLOBALS['TL_DCA']['tl_layout']['metasubselectpalettes'][$field][$value] = $definition;
                }
            }
        } else {
            MetaPalettes::appendFields('tl_layout', 'title', array('layoutType'));
        }
    }
public function generatePalette(): void
    {
        // @codingStandardsIgnoreStart
        // TODO: How to handle editAll actions?
        // @codingStandardsIgnoreEnd

        if (Input::get('table') != 'tl_layout' || Input::get('act') != 'edit') {
            return;
        }

        $layout = LayoutModel::findByPk(Input::get('id'));

        // dynamically render palette so that extensions can plug into default palette
        if ($layout->layoutType == 'bootstrap') {
            $metaPalettes                             = & $GLOBALS['TL_DCA']['tl_layout']['metapalettes'];
            $metaPalettes['__base__']                 = $this->getMetaPaletteOfPalette('tl_layout');
            $metaPalettes['default extends __base__'] = $this->environment
                ->getConfig()
                ->get('layout.metapalette', array());

            // unset default palette. otherwise metapalettes will not render this palette
            unset($GLOBALS['TL_DCA']['tl_layout']['palettes']['default']);

            $subSelectPalettes = $this->environment->getConfig()->get('layout.metasubselectpalettes', array());

            foreach ($subSelectPalettes as $field => $meta) {
                foreach ($meta as $value => $definition) {
                    unset($GLOBALS['TL_DCA']['tl_layout']['subpalettes'][$field . '_' . $value]);
                    $GLOBALS['TL_DCA']['tl_layout']['metasubselectpalettes'][$field][$value] = $definition;
                }
            }
        } else {
            MetaPalettes::appendFields('tl_layout', 'title', array('layoutType'));
        }
    }
public function generatePalette ( ) : void { // @codingStandardsIgnoreStart // TODO: How to handle editAll actions? // @codingStandardsIgnoreEnd if ( Input :: get ( 'table' ) != 'tl_layout' || Input :: get ( 'act' ) != 'edit' ) { return ; } $ layout = LayoutModel :: findByPk ( Input :: get ( 'id' ) ) ; // dynamically render palette so that extensions can plug into default palette if ( $ layout -> layoutType == 'bootstrap' ) { $ metaPalettes = & $ GLOBALS [ 'TL_DCA' ] [ 'tl_layout' ] [ 'metapalettes' ] ; $ metaPalettes [ '__base__' ] = $ this -> getMetaPaletteOfPalette ( 'tl_layout' ) ; $ metaPalettes [ 'default extends __base__' ] = $ this -> environment -> getConfig ( ) -> get ( 'layout.metapalette' , array ( ) ) ; // unset default palette. otherwise metapalettes will not render this palette unset ( $ GLOBALS [ 'TL_DCA' ] [ 'tl_layout' ] [ 'palettes' ] [ 'default' ] ) ; $ subSelectPalettes = $ this -> environment -> getConfig ( ) -> get ( 'layout.metasubselectpalettes' , array ( ) ) ; foreach ( $ subSelectPalettes as $ field => $ meta ) { foreach ( $ meta as $ value => $ definition ) { unset ( $ GLOBALS [ 'TL_DCA' ] [ 'tl_layout' ] [ 'subpalettes' ] [ $ field . '_' . $ value ] ) ; $ GLOBALS [ 'TL_DCA' ] [ 'tl_layout' ] [ 'metasubselectpalettes' ] [ $ field ] [ $ value ] = $ definition ; } } } else { MetaPalettes :: appendFields ( 'tl_layout' , 'title' , array ( 'layoutType' ) ) ; } }
Modify palette if bootstrap is used.

Hook palettes_hook (MetaPalettes) is called.

@return void

@SuppressWarnings(PHPMD.Superglobals)
Modify palette if bootstrap is used .