Найден 101 результат

i-programmer
2020.05.27, 22:25
Форум: Общие вопросы (Yii 2.x)
Тема: Где и как правильно делать расширенный поиск, с множеством зависимых таблиц?
Ответы: 7
Просмотры: 1507

Где и как правильно делать расширенный поиск, с множеством зависимых таблиц?

В Yii2 удобно искать в GridView на основе SearchModel и метода search . Однако бывает так, что нужно сделать "расширенный поиск", который будет довольно сложным, содержать "отсылки" на другие модели (таблицы), множество отдельных блоков, в которых поиск осуществляется по связанны...
i-programmer
2020.02.07, 19:24
Форум: Общие вопросы (Yii 2.x)
Тема: Быстрый поиск - как сделать?
Ответы: 0
Просмотры: 863

Быстрый поиск - как сделать?

Нынче модно иметь одно поле, при вводе текста в которое информация ищется по нескольким столбцам одной таблицы. Есть задача для табличных представлений (те, что GridView ) сделать такое одно поле и фильтровать данные в зависимости от результата поиска (но стандартные фильтры на каждой колонке тоже д...
i-programmer
2019.08.10, 10:46
Форум: Общие вопросы (Yii 2.x)
Тема: declare(strict_types=1) для всего приложения?
Ответы: 3
Просмотры: 1485

Re: declare(strict_types=1) для всего приложения?

ElisDN писал(а): 2019.08.08, 16:23 Нельзя. Пишите вручную в каждом.

В IDE можно вписать его в шаблон для создания *.php файла.
Понял, спасибо.
i-programmer
2019.08.08, 13:01
Форум: Общие вопросы (Yii 2.x)
Тема: declare(strict_types=1) для всего приложения?
Ответы: 3
Просмотры: 1485

declare(strict_types=1) для всего приложения?

Можно ли как-то каким-то хитрым образом в одном месте прописать конструкцию declare(strict_types=1) и включить строгую типизацию для всего приложения? Или единственный путь - прописывать в каждом файле? К тому же, я читал, что объявление strict_types применяется к тому исходному файлу, откуда делает...
i-programmer
2019.07.03, 11:39
Форум: Общие вопросы (Yii 2.x)
Тема: Некорректная работа нескольких Pjax в модальном и не модальном окне.
Ответы: 6
Просмотры: 1737

Re: Некорректная работа нескольких Pjax в модальном и не модальном окне.

Так вроде работает : ..... ..... ..... Да. Значит мне надо было чуть более уточняюще написать вопрос. Предположим, что запрос идет на ту же страницу: Такое возможно, когда это например и на той и на другой странице располагается виджет, который, по сути, всегда инициализируется заново и у него нет ...
i-programmer
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...
i-programmer
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...
i-programmer
2019.07.01, 21:13
Форум: Общие вопросы (Yii 2.x)
Тема: Некорректная работа нескольких Pjax в модальном и не модальном окне.
Ответы: 6
Просмотры: 1737

Некорректная работа нескольких Pjax в модальном и не модальном окне.

Если на странице есть несколько ` GridView `, обёрнутых в ` Pjax ` с пагинацией, а также при этом по какому-либо событию подгрузить модальное окно, в котором будет еще несколько подобных гридов - то возникает проблема: идентификаторы, присваемые гриду и pjax'у начинаются опять с нуля (из-за особенно...
i-programmer
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...
i-programmer
2019.06.27, 23:21
Форум: Общие вопросы (Yii 2.x)
Тема: Почему метод init виджета вызывается не только при инициализации?
Ответы: 4
Просмотры: 1903

Re: Почему метод init виджета вызывается не только при инициализации?

Php не сохраняет состояния между запросами, поэтому при новом запросе на сервер, приложение заново стартует в index.php и все компоненты инициализируются заново. Для сохранения состояния между запросами в рамках одного пользователя используют сессии. Да, я про состояние и новый старт index.php тоже...
i-programmer
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() ...
i-programmer
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

Вот это мне скорее более по душе. Буду пробовать отталкиваться от этого вообще в целом.
i-programmer
2019.06.08, 23:22
Форум: Общие вопросы (Yii 2.x)
Тема: Где хранить интерфейсы,абстрактные классы, кастомные классы?
Ответы: 4
Просмотры: 1877

Re: Где хранить интерфейсы,абстрактные классы, кастомные классы?

samdark писал(а): 2019.06.08, 22:17 Есть адекватное и правильное - называть по смыслу. То есть если это, например, дерево каталога, то складывать классы в catalogue. Если это дерево категорий, то в categories.
а все эти папки делать в корне или где-то еще?
i-programmer
2019.06.08, 08:43
Форум: Общие вопросы (Yii 2.x)
Тема: Где хранить интерфейсы,абстрактные классы, кастомные классы?
Ответы: 4
Просмотры: 1877

Где хранить интерфейсы,абстрактные классы, кастомные классы?

Допустим для одного конкретного места в приложении я буду строить дерево. Понимаю, что оно состоит из узлов (Node), которые имеют сходные свойства и методы. Или не обязательно дерево, но тоже что-то такое, что можно выделить в некие абстракции (в абстрактную фабрику, возможно или имеющий структуру к...
i-programmer
2019.04.16, 16:32
Форум: Общие вопросы (Yii 2.x)
Тема: Изменить количество записей на странице в LinkPager
Ответы: 1
Просмотры: 876

Re: Изменить количество записей на странице в LinkPager

Почитав везде где можно понял, что минимально можно описать в конфиге через DI 'container' => [ 'definitions' => [ 'yii\data\Pagination' => ['defaultPageSize' => 10, ], ], Жалко это выглядит как костыль ибо в LinkPager можно задать абсолютно любые параметры пагинатора, а вот этот - нет.
i-programmer
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...
i-programmer
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...
i-programmer
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 добавлять? Так себе идея.
i-programmer
2019.04.12, 20:07
Форум: Общие вопросы (Yii 2.x)
Тема: Как в GridView tr th добавить класс?
Ответы: 4
Просмотры: 3197

Как в GridView tr th добавить класс?

У виджета GridView можно настроить классы для отображения, например tableOptions для тега table , rowOptions - для строк и т.д. Но я не могу никак найти настройку, чтобы добавить класс в table > thead > tr > th Как можно добавить класс в этот тег? Если есть возможность вообще свой шаблон написать дл...
i-programmer
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 */]);
}]);
Благодарю.