echo Html::tag('span', Yii::t('gromver.platform', 'Language'), ['class' => 'navbar-text']) . ' '; ?> <div class="btn-group"> <?php echo implode('', array_map(function ($language) { return Html::a($language, Yii::$app->urlManager->createUrl(Yii::$app->getHomeUrl(), $language), ['class' => 'btn navbar-btn btn-xs' . ($language === Yii::$app->language ? ' btn-primary active' : ' btn-default')]); }, Yii::$app->acceptedLanguages)); ?> </div> </div> <div class="navbar-text navbar-right"> <i class="glyphicon glyphicon-log-in"></i> <?php $loginUrl = Yii::$app->user->loginUrl; $loginUrl['modal'] = 1; echo ModalIFrame::widget(['options' => ['class' => 'navbar-link'], 'popupOptions' => ['class' => 'auth-popup'], 'label' => Yii::t('gromver.platform', 'Login'), 'url' => $loginUrl]); ?> </div> <?php } else { $items = []; if (Yii::$app->user->can('administrate')) { $items[] = ['label' => '<i class="glyphicon glyphicon-cog"></i> ' . Yii::t('gromver.platform', 'Admin Panel'), 'url' => ['/grom/backend/default/index']]; /** @var \gromver\platform\basic\modules\menu\models\MenuItem $activeMenu */ if ($activeMenu = Yii::$app->menuManager->activeMenu) { $items[] = ['label' => '<i class="glyphicon glyphicon-pencil"></i> ' . $activeMenu->getLinkTitle(), 'url' => ['/grom/menu/backend/item/update', 'id' => $activeMenu->id, 'backUrl' => Yii::$app->urlManager->createUrl($activeMenu->getFrontendViewLink())]]; } $items[] = '<li class="divider"></li>'; } $items[] = ['label' => '<i class="glyphicon glyphicon-log-out"></i> ' . Yii::t('gromver.platform', 'Logout'), 'url' => ['/grom/auth/default/logout']]; ?>
<?php use yii\helpers\Html; /* @var $this yii\web\View */ /* @var $model gromver\platform\common\models\Page */ $this->title = Yii::t('gromver.platform', 'Update Page: {title}', ['title' => $model->title]); $this->params['breadcrumbs'][] = ['label' => Yii::t('gromver.platform', 'Pages'), 'url' => ['index']]; $this->params['breadcrumbs'][] = ['label' => $model->title, 'url' => ['view', 'id' => $model->id]]; $this->params['breadcrumbs'][] = Yii::t('gromver.platform', 'Update'); ?> <div class="page-update"> <h1><?php echo Html::encode($this->title); ?> </h1> <p> <?php echo \gromver\widgets\ModalIFrame::widget(['modalOptions' => ['header' => Yii::t('gromver.platform', 'Item Versions Manager - "{title}" (ID:{id})', ['title' => $model->title, 'id' => $model->id]), 'size' => \yii\bootstrap\Modal::SIZE_LARGE], 'buttonContent' => Html::a('<i class="glyphicon glyphicon-hdd"></i> ' . Yii::t('gromver.platform', 'Versions'), ['/grom/version/default/item', 'item_id' => $model->id, 'item_class' => $model->className()], ['class' => 'btn btn-default btn-sm'])]); ?> </p> <?php echo $this->render('_form', ['model' => $model]); ?> </div>
<div class="input-group navbar-right"> <?php echo Html::tag('span', Yii::t('gromver.platform', 'Language'), ['class' => 'navbar-text']) . ' '; ?> <div class="btn-group"> <?php echo implode('', array_map(function ($language) { return Html::a($language, Yii::$app->urlManager->createUrl(Yii::$app->getHomeUrl(), $language), ['class' => 'btn navbar-btn btn-xs' . ($language === Yii::$app->language ? ' btn-primary active' : ' btn-default')]); }, Yii::$app->languages)); ?> </div> </div> <?php $loginUrl = Yii::$app->user->loginUrl; $loginUrl['modal'] = 1; echo ModalIFrame::widget(['buttonOptions' => ['tag' => 'div', 'class' => 'navbar-text navbar-right'], 'modalOptions' => ['size' => Modal::SIZE_DEFAULT, 'closeButton' => false], 'iframeOptions' => ['height' => '320px'], 'buttonContent' => '<i class="glyphicon glyphicon-log-in"></i> ' . Html::a(Yii::t('gromver.platform', 'Login'), $loginUrl, ['class' => 'navbar-link'])]); } else { $items = []; if (Yii::$app->user->can('administrate')) { $items[] = ['label' => '<i class="glyphicon glyphicon-cog"></i> ' . Yii::t('gromver.platform', 'Admin Panel'), 'url' => Yii::$app->urlManagerBackend->createUrl('/')]; /*$items[] = ModalIFrame::widget([ 'buttonOptions' => [ 'tag' => 'li' ], 'modalOptions' => [ 'size' => Modal::SIZE_LARGE, 'closeButton' => false ], 'buttonContent' => Html::a('<i class="glyphicon glyphicon-pencil"></i> ' . Yii::t('gromver.platform', 'Configuration'), ['/grom/default/params', 'modal' => 1]) ]);*/ $items[] = ['label' => '<i class="glyphicon glyphicon-trash"></i> ' . Yii::t('gromver.platform', 'Flush Cache'), 'url' => ['/grom/default/flush-cache']];
</div> <div class="row"> <div class="col-sm-6"> <?php $idTags = Html::getInputId($model, 'tags'); $handlerJs = <<<JS function(data) { var select = \$("#{$idTags}").append('<option value="' + data.id + '">' + data.title + '</option>'), selectedValues = select.val() || []; selectedValues.push(data.id); select.val(\$.unique(selectedValues)).trigger('change'); } JS; echo $form->field($model, 'tags', ['wrapperOptions' => ['class' => 'col-sm-9'], 'inputTemplate' => '<div class="input-group select2-bootstrap-append">{input}' . \gromver\widgets\ModalIFrame::widget(['options' => ['class' => 'input-group-addon', 'title' => \Yii::t('gromver.platform', 'Select Tag')], 'label' => '<i class="glyphicon glyphicon-folder-open"></i>', 'url' => ['/grom/tag/backend/default/select', 'modal' => true], 'handler' => $handlerJs, 'actionHandler' => 'function(url) {return (new URI(url)).addSearch("TagSearch[language]", $("#' . $idLanguage . '").val())}']) . \gromver\widgets\ModalIFrame::widget(['options' => ['class' => 'input-group-addon', 'title' => \Yii::t('gromver.platform', 'Add Tag')], 'label' => '<i class="glyphicon glyphicon-plus"></i>', 'url' => ['/grom/tag/backend/default/create', 'modal' => true], 'handler' => $handlerJs, 'actionHandler' => 'function(url) {return (new URI(url)).addSearch("language", $("#' . $idLanguage . '").val())}']) . '</div>'])->widget(\kartik\select2\Select2::className(), ['data' => \yii\helpers\ArrayHelper::map($model->tags, 'id', 'title'), 'options' => ['multiple' => true], 'theme' => \kartik\select2\Select2::THEME_BOOTSTRAP, 'pluginOptions' => ['multiple' => true, 'placeholder' => Yii::t('gromver.platform', 'Select ...'), 'ajax' => ['url' => \yii\helpers\Url::to(['/grom/tag/backend/default/tag-list']), 'data' => new \yii\web\JsExpression('function(params) { return {q:params.term, language:$("#' . $idLanguage . '").val()}; }')]]]); ?> </div> <div class="col-sm-6"> <?php echo $form->field($model, 'ordering', ['horizontalCssClasses' => ['wrapper' => 'col-xs-8 col-sm-4', 'label' => 'col-xs-4 col-sm-3']])->textInput(); ?> </div> </div> <?php //= $form->field($model, 'versionNote')->textInput() ?> <ul class="nav nav-tabs"> <li class="active"><a href="#main-options" data-toggle="tab"><?php
</div> <div class="row"> <div class="col-sm-6"> <?php $idTags = Html::getInputId($model, 'tags'); $handlerJs = <<<JS function(data) { var select = \$("#{$idTags}").append('<option value="' + data.id + '">' + data.title + '</option>'), selectedValues = select.val() || []; selectedValues.push(data.id); select.val(\$.unique(selectedValues)).trigger('change'); } JS; echo $form->field($model, 'tags', ['wrapperOptions' => ['class' => 'col-sm-9'], 'inputTemplate' => '<div class="input-group select2-bootstrap-append">{input}' . \gromver\widgets\ModalIFrame::widget(['options' => ['class' => 'input-group-addon', 'title' => \Yii::t('gromver.platform', 'Select Tag')], 'label' => '<i class="glyphicon glyphicon-folder-open"></i>', 'url' => ['/tag/backend/default/select', 'modal' => true], 'dataHandler' => $handlerJs]) . \gromver\widgets\ModalIFrame::widget(['options' => ['class' => 'input-group-addon', 'title' => \Yii::t('gromver.platform', 'Add Tag')], 'label' => '<i class="glyphicon glyphicon-plus"></i>', 'url' => ['/tag/backend/default/create', 'modal' => true], 'dataHandler' => $handlerJs]) . '</div>'])->widget(\kartik\select2\Select2::className(), ['data' => \yii\helpers\ArrayHelper::map($model->tags, 'id', 'title'), 'options' => ['multiple' => true], 'theme' => \kartik\select2\Select2::THEME_BOOTSTRAP, 'pluginOptions' => ['multiple' => true, 'placeholder' => Yii::t('gromver.platform', 'Select ...'), 'ajax' => ['url' => \yii\helpers\Url::to(['/tag/backend/default/tag-list'])]]]); ?> </div> <div class="col-sm-6"> <?php echo $form->field($model, 'ordering', ['horizontalCssClasses' => ['wrapper' => 'col-xs-8 col-sm-4', 'label' => 'col-xs-4 col-sm-3']])->textInput(); ?> </div> </div> <?php //описание версии удобнее выставлять в списках версий //= $form->field($model, 'versionNote')->textInput() ?> <ul class="nav nav-tabs">
public function run() { return \gromver\widgets\ModalIFrame::widget(['options' => $this->options, 'label' => '<i class="glyphicon glyphicon-hdd"></i> ' . Yii::t('gromver.platform', 'Versions'), 'url' => ['/grom/version/backend/default/item', 'item_id' => $this->model->getPrimaryKey(), 'item_class' => $this->model->className()]]); }
</ul> <br/> <div class="tab-content"> <div id="main" class="tab-pane active"> <?php echo $form->field($model, 'link_type')->dropDownList(\gromver\platform\core\modules\menu\models\MenuItem::linkTypeLabels()); ?> <?php $this->registerJs("\$('#" . Html::getInputId($model, 'link_type') . "').change(function (event){\n if(\$(this).val() === '" . \gromver\platform\core\modules\menu\models\MenuItem::LINK_ROUTE . "') {\n \$('a#router').attr('href', " . \yii\helpers\Json::encode(\yii\helpers\Url::toRoute(['routers'])) . ")\n } else {\n \$('a#router').attr('href', " . \yii\helpers\Json::encode(\yii\helpers\Url::toRoute(['select', 'MenuItemSearch[link_type]' => \gromver\platform\core\modules\menu\models\MenuItem::LINK_ROUTE])) . ")\n }\n }).change()"); ?> <?php $linkLabel = Html::activeLabel($model, 'link'); $linkInputId = Html::getInputId($model, 'link'); echo $form->field($model, 'link', ['template' => "{label}\n{beginWrapper}\n<div class=\"input-group\">{input}{controls}</div>\n{error}\n{endWrapper}\n{hint}", 'parts' => ['{controls}' => \gromver\widgets\ModalIFrame::widget(['options' => ['id' => 'router', 'class' => 'input-group-btn'], 'url' => ['routers'], 'label' => Html::tag('span', '<span class="glyphicon glyphicon-folder-open"></span>', ['class' => 'btn btn-default']), 'dataHandler' => "function(data){\n \$('#{$linkInputId}').val(data.route)\n }"])]])->textInput(['maxlength' => 1024]); ?> <?php echo $form->field($model, 'access_rule')->dropDownList(\yii\helpers\ArrayHelper::map(Yii::$app->authManager->getRoles(), 'name', 'name'), ['prompt' => 'Не выбрано']); ?> <?php echo $form->field($model, 'secure')->dropDownList(['' => 'No', '1' => 'Yes']); ?> <?php // формируем список шаблонов пункта меню $layouts = Yii::$app->controller->module->menuItemLayouts; if ($model->layout_path && !array_key_exists($model->layout_path, $layouts)) { // если шаблона пункта меню нету в списке(кастомный шаблон), добавляем его в список
<?php //= $form->field($model, 'path')->textInput(['maxlength' => 2048]) ?> <?php echo $form->field($model, 'link_type')->dropDownList($model->getLinkTypes()); ?> <?php $this->registerJs("\$('#" . Html::getInputId($model, 'link_type') . "').change(function (event){\n if(\$(this).val() === '" . \gromver\platform\common\models\MenuItem::LINK_ROUTE . "') {\n \$('#router-button a').attr('href', " . \yii\helpers\Json::encode(\yii\helpers\Url::toRoute(['routers'])) . ")\n } else {\n \$('#router-button a').attr('href', " . \yii\helpers\Json::encode(\yii\helpers\Url::toRoute(['select'])) . ")\n }\n }).change()"); ?> <?php $linkLabel = Html::activeLabel($model, 'link'); $linkInputId = Html::getInputId($model, 'link'); echo $form->field($model, 'link', ['template' => "{label}\n{beginWrapper}\n<div class=\"input-group\">{input}{controls}</div>\n{error}\n{endWrapper}\n{hint}", 'parts' => ['{controls}' => \gromver\widgets\ModalIFrame::widget(['id' => 'router', 'modalOptions' => ['header' => $linkLabel, 'size' => \yii\bootstrap\Modal::SIZE_LARGE], 'buttonOptions' => ['tag' => 'span', 'class' => 'input-group-btn'], 'buttonContent' => Html::a('<span class="glyphicon glyphicon-folder-open"></span>', ['routers'], ['class' => 'btn btn-default']), 'iframeHandler' => "function(data){\n \$('#{$linkInputId}').val(data.link)\n }"])]])->textInput(['maxlength' => 1024]); ?> <?php echo $form->field($model, 'secure')->dropDownList(['' => 'No', '1' => 'Yes']); ?> <?php echo $form->field($model, 'ordering')->textInput(); ?> <?php echo $form->field($model, 'layout_path')->textInput(['maxlength' => 1024]); ?> <?php
/** * Возвращает html кнопки настройки виджета, или false, если у пользователя нет доступа * @return string | bool */ public function widgetConfigControl() { if (!$this->hasConfigureAccess()) { return false; } $objectModel = new ObjectModel($this->className()); $objectModel->setAttributes($this->_config); return ModalIFrame::widget(['options' => ['class' => 'btn btn-default', 'title' => Yii::t('gromver.platform', 'Configure widget')], 'label' => '<i class="glyphicon glyphicon-cog"></i>', 'url' => [$this->getConfigureRoute(), 'modal' => 1], 'formOptions' => ['method' => 'post', 'params' => ['url' => Yii::$app->request->getAbsoluteUrl(), 'widget_id' => $this->id, 'widget_class' => $this->className(), 'widget_context' => $this->context, 'widget_config' => Json::encode($objectModel->toArray(array_keys($this->_config)))]]]); }
protected function modalButton() { $inputId = Html::getInputId($this->getModel(), $this->getAttribute()); return ModalIFrame::widget(['options' => ['class' => 'input-group-btn'], 'label' => Html::tag('span', '<i class="glyphicon glyphicon-folder-open"></i>', ['class' => 'btn btn-default']), 'url' => $this->url, 'dataHandler' => "function(data){\n \$('#{$inputId}').val(data.value)\n }"]); }
public function run() { return ModalIFrame::widget(['modalOptions' => ['header' => Yii::t('gromver.platform', 'Item Versions Manager - "{title}" (ID:{id})', ['title' => $this->model->title, 'id' => $this->model->getPrimaryKey()]), 'size' => Modal::SIZE_LARGE], 'buttonContent' => Html::a('<i class="glyphicon glyphicon-hdd"></i> ' . Yii::t('gromver.platform', 'Versions'), ['/grom/version/default/item', 'item_id' => $this->model->getPrimaryKey(), 'item_class' => $this->model->className()], ['class' => 'btn btn-default btn-sm'])]); }