<?php /** * Created by Error202 * Date: 10.07.2018 */ /** * @var $this \yii\web\View * @var $model \core\forms\menu\MenuItemForm */ use yii\widgets\ActiveForm; use yii\helpers\Html; use yii\web\JsExpression; use yii\helpers\Url; $block_name = Yii::t('pages', 'Pages'); $block_title_attr = Yii::t('pages', 'Pages'); $js = <<<JS function updatePagesUrl() { var select = $("#page_select"); var data = select.select2('data'); var selected_post = select.val(); $("#page_menu_item_url").val('/pages/page/view/'); $("#page_menu_item_url_params").val('{"id":'+selected_post+'}'); $("#page_menu_item_name").val(data[0].text); $("#page_menu_item_title_attr").val(data[0].text); } JS; $this->registerJs($js, $this::POS_HEAD); $fetchUrl = Url::to( [ '/pages/manage/page/page-search' ] ); ?> <div class="menu_item_widget"> <div class="form-group"> <div> <?= \kartik\widgets\Select2::widget([ 'name' => 'page_select', 'value' => '', 'options' => [ 'placeholder' => Yii::t('pages', 'Select page...'), 'id' => 'page_select', 'onchange' => new JsExpression("updatePagesUrl()"), ], 'pluginOptions' => [ 'ajax' => [ 'url' => $fetchUrl, 'dataType' => 'json', 'data' => new JsExpression('function(params) { return {q:params.term}; }') ], 'escapeMarkup' => new JsExpression('function (markup) { return markup; }'), 'templateResult' => new JsExpression('function(tag) { return tag.text; }'), 'templateSelection' => new JsExpression('function (tag) { return tag.text; }'), ], ]) ?> </div> </div> <?php $form = ActiveForm::begin(); ?> <?= $form->field($model, 'name')->hiddenInput([ 'id' => 'page_menu_item_name', ])->label(false) ?> <?= $form->field($model, 'title_attr')->hiddenInput([ 'id' => 'page_menu_item_title_attr', ])->label(false) ?> <?= $form->field($model, 'module')->hiddenInput([ ])->label(false) ?> <?= $form->field($model, 'menu_id')->hiddenInput([ ])->label(false) ?> <?= $form->field($model, 'url')->hiddenInput([ 'id' => 'page_menu_item_url', ])->label(false) ?> <?= $form->field($model, 'url_params')->hiddenInput([ 'value' => '', 'id' => 'page_menu_item_url_params', ])->label(false) ?> <div class="form-group"> <?= Html::submitButton(Yii::t('buttons', 'Add to menu'), [ 'class' => 'btn btn-info btn-sm pull-right' ]) ?> </div> <?php ActiveForm::end(); ?> </div>