Найден 101 результат
- 2020.05.27, 22:25
- Форум: Общие вопросы (Yii 2.x)
- Тема: Где и как правильно делать расширенный поиск, с множеством зависимых таблиц?
- Ответы: 7
- Просмотры: 1507
Где и как правильно делать расширенный поиск, с множеством зависимых таблиц?
В Yii2 удобно искать в GridView на основе SearchModel и метода search . Однако бывает так, что нужно сделать "расширенный поиск", который будет довольно сложным, содержать "отсылки" на другие модели (таблицы), множество отдельных блоков, в которых поиск осуществляется по связанны...
- 2020.02.07, 19:24
- Форум: Общие вопросы (Yii 2.x)
- Тема: Быстрый поиск - как сделать?
- Ответы: 0
- Просмотры: 863
Быстрый поиск - как сделать?
Нынче модно иметь одно поле, при вводе текста в которое информация ищется по нескольким столбцам одной таблицы. Есть задача для табличных представлений (те, что GridView ) сделать такое одно поле и фильтровать данные в зависимости от результата поиска (но стандартные фильтры на каждой колонке тоже д...
- 2019.08.10, 10:46
- Форум: Общие вопросы (Yii 2.x)
- Тема: declare(strict_types=1) для всего приложения?
- Ответы: 3
- Просмотры: 1485
- 2019.08.08, 13:01
- Форум: Общие вопросы (Yii 2.x)
- Тема: declare(strict_types=1) для всего приложения?
- Ответы: 3
- Просмотры: 1485
declare(strict_types=1) для всего приложения?
Можно ли как-то каким-то хитрым образом в одном месте прописать конструкцию declare(strict_types=1) и включить строгую типизацию для всего приложения? Или единственный путь - прописывать в каждом файле? К тому же, я читал, что объявление strict_types применяется к тому исходному файлу, откуда делает...
- 2019.07.03, 11:39
- Форум: Общие вопросы (Yii 2.x)
- Тема: Некорректная работа нескольких Pjax в модальном и не модальном окне.
- Ответы: 6
- Просмотры: 1737
Re: Некорректная работа нескольких Pjax в модальном и не модальном окне.
Так вроде работает : ..... ..... ..... Да. Значит мне надо было чуть более уточняюще написать вопрос. Предположим, что запрос идет на ту же страницу: Такое возможно, когда это например и на той и на другой странице располагается виджет, который, по сути, всегда инициализируется заново и у него нет ...
- 2019.07.02, 23:00
- Форум: Общие вопросы (Yii 2.x)
- Тема: Некорректная работа нескольких Pjax в модальном и не модальном окне.
- Ответы: 6
- Просмотры: 1737
Re: Некорректная работа нескольких Pjax в модальном и не модальном окне.
1. Если по умолчанию, то у GridView w0, w1, w2 и т.д. У Pjax p0, p1, p2. Это видно на основе кода из соответствующих виджетов, у которых прописано Я имел в виду фактически, а не по умолчанию. Каким образом номера переписывали (прибавляли 100) ? Задавать id в коде модалки пробовали? Pjax::begin(['id...
- 2019.07.02, 21:00
- Форум: Общие вопросы (Yii 2.x)
- Тема: Некорректная работа нескольких Pjax в модальном и не модальном окне.
- Ответы: 6
- Просмотры: 1737
Re: Некорректная работа нескольких Pjax в модальном и не модальном окне.
1. Какие идентификаторы в модалке генерятся? 2. Какой JS-код в модалке генерится? 1. Если по умолчанию, то у GridView w0 , w1 , w2 и т.д. У Pjax p0 , p1 , p2 . Это видно на основе кода из соответствующих виджетов, у которых прописано public static $autoIdPrefix = 'w'; у базового виджета в /vendor/y...
- 2019.07.01, 21:13
- Форум: Общие вопросы (Yii 2.x)
- Тема: Некорректная работа нескольких Pjax в модальном и не модальном окне.
- Ответы: 6
- Просмотры: 1737
Некорректная работа нескольких Pjax в модальном и не модальном окне.
Если на странице есть несколько ` GridView `, обёрнутых в ` Pjax ` с пагинацией, а также при этом по какому-либо событию подгрузить модальное окно, в котором будет еще несколько подобных гридов - то возникает проблема: идентификаторы, присваемые гриду и pjax'у начинаются опять с нуля (из-за особенно...
- 2019.06.28, 16:59
- Форум: Общие вопросы (Yii 2.x)
- Тема: Почему метод init виджета вызывается не только при инициализации?
- Ответы: 4
- Просмотры: 1903
Re: Почему метод init виджета вызывается не только при инициализации?
$key = __CLASS__ . '#uid'; $this->myUid = Yii::$app->session->get($key); if ($this->myUid === null) { $this->myUid = uniqid(); Yii::$app->session->set($key, $this->myUid); } Таким образом, при первом посещении $this->myUid будет равен null, переменной будет присвоено значение выданное функцией uniq...
- 2019.06.27, 23:21
- Форум: Общие вопросы (Yii 2.x)
- Тема: Почему метод init виджета вызывается не только при инициализации?
- Ответы: 4
- Просмотры: 1903
Re: Почему метод init виджета вызывается не только при инициализации?
Php не сохраняет состояния между запросами, поэтому при новом запросе на сервер, приложение заново стартует в index.php и все компоненты инициализируются заново. Для сохранения состояния между запросами в рамках одного пользователя используют сессии. Да, я про состояние и новый старт index.php тоже...
- 2019.06.27, 19:58
- Форум: Общие вопросы (Yii 2.x)
- Тема: Почему метод init виджета вызывается не только при инициализации?
- Ответы: 4
- Просмотры: 1903
Почему метод init виджета вызывается не только при инициализации?
Есть виджет, в котором отображается ` GridView `, обёрнутый в Pjax . У грида есть пагинация. В виджете написано свойство и заполняется в методе ` init ` и передается в методе ` run ` в темплейт: public $myUid; public function init() { parent::init(); $this->myUid = uniqid(); } public function run() ...
- 2019.06.10, 20:34
- Форум: Общие вопросы (Yii 2.x)
- Тема: Где хранить интерфейсы,абстрактные классы, кастомные классы?
- Ответы: 4
- Просмотры: 1877
Re: Где хранить интерфейсы,абстрактные классы, кастомные классы?
Нашел статьи Дмитрия Елисеева https://elisdn.ru/blog/104/domain-entities-modelling и интересную дискуссию в разделе Архитектура viewtopic.php?f=34&t=42788&start=20#p212705
Вот это мне скорее более по душе. Буду пробовать отталкиваться от этого вообще в целом.
Вот это мне скорее более по душе. Буду пробовать отталкиваться от этого вообще в целом.
- 2019.06.08, 23:22
- Форум: Общие вопросы (Yii 2.x)
- Тема: Где хранить интерфейсы,абстрактные классы, кастомные классы?
- Ответы: 4
- Просмотры: 1877
- 2019.06.08, 08:43
- Форум: Общие вопросы (Yii 2.x)
- Тема: Где хранить интерфейсы,абстрактные классы, кастомные классы?
- Ответы: 4
- Просмотры: 1877
Где хранить интерфейсы,абстрактные классы, кастомные классы?
Допустим для одного конкретного места в приложении я буду строить дерево. Понимаю, что оно состоит из узлов (Node), которые имеют сходные свойства и методы. Или не обязательно дерево, но тоже что-то такое, что можно выделить в некие абстракции (в абстрактную фабрику, возможно или имеющий структуру к...
- 2019.04.16, 16:32
- Форум: Общие вопросы (Yii 2.x)
- Тема: Изменить количество записей на странице в LinkPager
- Ответы: 1
- Просмотры: 876
Re: Изменить количество записей на странице в LinkPager
Почитав везде где можно понял, что минимально можно описать в конфиге через DI 'container' => [ 'definitions' => [ 'yii\data\Pagination' => ['defaultPageSize' => 10, ], ], Жалко это выглядит как костыль ибо в LinkPager можно задать абсолютно любые параметры пагинатора, а вот этот - нет.
- 2019.04.16, 14:38
- Форум: Общие вопросы (Yii 2.x)
- Тема: Изменить количество записей на странице в LinkPager
- Ответы: 1
- Просмотры: 876
Изменить количество записей на странице в LinkPager
Есть свой виджет LinkPager , который наследуется от yii\widgets\LinkPager . namespace app\widgets\grid; use yii\widgets\LinkPager as BaseLinkPager; class LinkPager extends BaseLinkPager { public function init() { parent::init(); $this->pagination->pageSize = 2; } public function run() { return paren...
- 2019.04.12, 23:26
- Форум: Общие вопросы (Yii 2.x)
- Тема: Как в GridView tr th добавить класс?
- Ответы: 4
- Просмотры: 3197
Re: Как в GridView tr th добавить класс?
Сделал кастомный класс class DataColumn extends \yii\grid\DataColumn { public function renderHeaderCell() { $provider = $this->grid->dataProvider; if ($this->attribute !== null && $this->enableSorting && ($sort = $provider->getSort()) !== false && $sort->hasAttribute($this->a...
- 2019.04.12, 23:25
- Форум: Общие вопросы (Yii 2.x)
- Тема: Как в GridView tr th добавить класс?
- Ответы: 4
- Просмотры: 3197
Re: Как в GridView tr th добавить класс?
<?= GridView::widget([ 'dataProvider' => $dataProvider, 'filterModel' => $searchModel, 'columns' => [ [ 'attribute' => 'id', 'headerOptions' => ['width' => '50px', 'class' => 'asd'], ], ], ]); ?> Для каждой колонки в каждом GridView добавлять? Так себе идея.
- 2019.04.12, 20:07
- Форум: Общие вопросы (Yii 2.x)
- Тема: Как в GridView tr th добавить класс?
- Ответы: 4
- Просмотры: 3197
Как в GridView tr th добавить класс?
У виджета GridView можно настроить классы для отображения, например tableOptions для тега table , rowOptions - для строк и т.д. Но я не могу никак найти настройку, чтобы добавить класс в table > thead > tr > th Как можно добавить класс в этот тег? Если есть возможность вообще свой шаблон написать дл...
- 2019.03.29, 16:46
- Форум: Общие вопросы (Yii 2.x)
- Тема: Как для GridView связанной таблицы сделать выборку не через '*'?
- Ответы: 2
- Просмотры: 933
Re: Как для GridView связанной таблицы сделать выборку не через '*'?
Благодарю.Seagull писал(а): ↑2019.03.29, 15:59Код: Выделить всё
User::find()->joinWith(['userType' => function(Query $q) { return $q->select([/* fields */]); }]);