dev-master
9999999-dev https://github.com/MihailDev/yii2-moderator-panelYii2 Moderator Panel
BSD-3-Clause
The Requires
by Mihail
yii panel moderator
 Wallogit.com
                    
                    2017 © Pedro Peláez
                         Wallogit.com
                    
                    2017 © Pedro Peláez
                    
                    
                    
                    
                
                
            
Yii2 Moderator Panel
Простая и удобная панель для интеграции с расширениями для более удобного доступа к настройкам сайта или конкретной страницы, (*1)
Удобнее всего установить это расширение через composer., (*2)
Либо запустить, (*3)
php composer.phar require --prefer-dist mihaildev/yii2-moderator-panel "*"
или добавить, (*4)
"mihaildev/yii2-moderator-panel": "*"
в разделе require вашего composer.json файла., (*5)
'moderatorPanel' => [
        'class' => 'mihaildev\moderatorpanel\Component',
        /*'enabled'=> true, //данное значение установленно по умолчанию если над вообше отключить панель поставте значение false*/
        /*'access' => 'Moderator', //минимальны права доступа для отображения панели - по умолчанию равен null что значит что праверка на минимальный доступ проводится не будет*/
        /*'frameLayout' => '@mihaildev/moderator/panel/frameLayout'*/
    ],
//Открытие настроек во фрэйме на странице:
\mihaildev\moderator\panel\ModeratorPanel::registerFrame('pnaelId', ['/module/admin/options', 'page_id'=>$id, 'is_frame' => '1'], 'Настройки страницы', 'module.moderator', [], 800, 600);
/*
первый параметр: 'pnaelId' - идентификатор ссылки чтобы исключить дублирование
второй параметр: ссылка на страницу с настройками
третий параметр: заголовок
четвёртый параметр: настройки доступа
пятый параметр: параметры передаваемые для проверки доступа
шестой параметр: длина фрэйма
седмой параметр: ширина фрэйма
*/
//Открытие настроек спомошь открытия их в новом окне(допустим переход в админ часть):
\mihaildev\moderator\panel\ModeratorPanel::registerLink('pnaelId', ['/module/admin/options', 'page_id'=>$id], 'Настройки страницы', 'module.moderator', []);
/*
первый параметр: 'pnaelId' - идентификатор ссылки чтобы исключить дублирование
второй параметр: ссылка на страницу с настройками
третий параметр: заголовок
четвёртый параметр: настройки доступа
пятый параметр: параметры передаваемые для проверки доступа
*/
Главной проблемой тут становится отобразить форму без всего лишнего. Для этого есть стандартный шаблон @mihaildev/moderator/panel/frameLayout под Bootstrap но если есть необходимость можно перенастроить или вообше им не пользоваться но для централизации я это шаблон добавил и дал возможность создать свой, (*6)
Привязать данный шаблон можно разными способами Предать мпциальный парамтр как это показанно ниже или же вы создадите отдельный экшин для такого запроса это вам решать!, (*7)
    public function actionOptions($page_id, $is_frame=0)
    {
        . . .
        if(!empty($is_frame))
            $this->layout = ModeratorPanel::getFrameLayout();
        . . .
    }
        Yii2 Moderator Panel
BSD-3-Clause
yii panel moderator