2 / 2 / 1
Регистрация: 17.12.2017
Сообщений: 39
|
||||||
1 | ||||||
Хочу разобраться с выпадающим списком17.12.2017, 15:10. Показов 1740. Ответов 4
Метки нет (Все метки)
Всем доброго дня и хорошего настроения. У меня такая задача:
Есть несколько контроллеров и представлений. Для каждого контроллера используется свой шаблон, но главное меню у всех одно. Его я вынес в виджет и вставляю в каждый шаблон. В этом меню я и хочу добавить что-то, чтобы позволило реализовать следующее: Есть доп. поле active_city_id в таблице users, в котором храниться id текущего города. Надо реализовать либо меню, либо выпадающий список который позволил бы зарегистрированному пользователю менять текущий город, оставаясь на той же странице сайта. Подумал реализовать через dropdown меню, к примеру вывести список доступных городов, но что указывать в ссылках каждого пункта они все одинаковые получаются, только id разное, которое надо запомнить. Как мне изменить поле active_city_id текущего юзера на то, что он выбрал без перехода на другую страницу? Второй вариант сделать простым списком, но при вставке в виджет главного меню, yii2 ругается на $model
0
|
17.12.2017, 15:10 | |
Ответы с готовыми решениями:
4
Yii поле с выпадающим списком и с возможностью ввода с клавиатуры Функции с выпадающим списком Кнопка с выпадающим списком Запрос с выпадающим списком |
Особый статус
623 / 221 / 164
Регистрация: 18.11.2015
Сообщений: 1,086
|
|
18.12.2017, 19:39 | 3 |
pajax
Как ругается, я так понимаю, если это шаблон, точнее ее часть то она подгружается раньше контента?
1
|
2 / 2 / 1
Регистрация: 17.12.2017
Сообщений: 39
|
|
18.12.2017, 23:09 [ТС] | 4 |
сделал с помощью pjax, но теперь обновляется только со второго раза. Уже закипел.
вот шаблон mainmenu: .....//там всякие подключения use, их я пропустил Pjax::begin(); ... тут выкинул кусок, т.к. тут получение параметров для запроса ....и заполнение текущей фирмы в переменной $firma $query=(new \yii\db\Query()); $mymodel=$query->select('id, firmname')->from('spr_firms')->where('adminid=:id', [':id' => $adminid])- >orderBy('firmname')->all(); if ($mymodel) { $menuItemsFirmdown =[]; //формирование подменю foreach ($mymodel as $m){ $menuItemsFirmdown[]=['label' => $m['firmname'], 'url'=>Yii::$app->urlManager->createUrl(['/setcurrfirma/setactivefirm', 'id' => $m['id']])]; } //формирование выпадающего списка меню, где $firma - это текущая фирма, ее и надо изменить $menuItemsFirm=[ ['label' => $firma, 'items' => $menuItemsFirmdown, ] ]; echo Nav::widget([ 'options' => ['class' => 'navbar-nav navbar-left'], 'items' => $menuItemsFirm, ]); } Pjax::end(); мне надо чтоб обновилось название текущей фирмы, которое находится в label выпадающего списка (см. выше комментарий) вот контроллер class SetcurrfirmaController extends Controller { public function actionSetactivefirm($id) { if(Spr_firms::ChangeCurrFirm($id)) { return $this->render('setcurrfirma', ['firma' => spr_firms::getFirmname($id)]); } throw new NotFoundHttpException(Yii::t('app','The requested page does not exist.') ); } } при render он хочет найти setcurrfirma во views. Создал там файл <?php $request = Yii::$app->request; $id = $request->get('firma'); echo $firma; ?> на самом деле даже если там ничего не писать, все равно ничего не меняется. Выбирая фирму из выпадающего списка, вижу, что в базе значение меняется, но такое ощущение, что setcurrfirma не рендерится. Причем строка браузера меняется на frontend/web/index.php?r=setcurrfirma%2Fsetactivefirm&id=5 и если строку обновить, то в окне появляется та самая фирма, т.е. код <?php $request = Yii::$app->request; $id = $request->get('firma'); echo $firma; ?> работает. Что я не понимаю? Вообще в идеале ссылка в браузере вообще не должна меняться при смене фирмы. Добавлено через 11 минут кстати нашел что url опционально, отключил ['enablePushState' => false] в опциях, сейчас url не меняется. но и label тоже
0
|
2 / 2 / 1
Регистрация: 17.12.2017
Сообщений: 39
|
|
20.12.2017, 23:08 [ТС] | 5 |
Разобрался, оказывается надо указывать id
$pjax_id = 'pjax-firma'; Pjax::begin(['enablePushState' => false, 'id'=>$pjax_id,]); причем в setcurrfirma тоже, и тут же перепостроил список.
0
|
20.12.2017, 23:08 | |
20.12.2017, 23:08 | |
Помогаю со студенческими работами здесь
5
DBGrid с выпадающим списком Кнопка с выпадающим списком Проблема с выпадающим списком Проблема с выпадающим списком Работа с выпадающим списком Кнопка с выпадающим списком Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |