Dmitriy
я бы вообще бы формой не делал если что-то сложное а взял бы DynamicModel
Сергей
на сколько разные данные ?
Исхожу из того, что сильно разные, чтобы в будущем легко подключать новые было.
who are you
AndWhere нужно пользовать
так я использую ->andFilterWhere(['like', 'pages_advanced.longtitle', $this->advanced]);
Dmitriy
DynamicModel ? ну или разные формы . А какая из их решать стратегией
who are you
мля ))) путаю ты прав. спасибо
Сергей
DynamicModel ? ну или разные формы . А какая из их решать стратегией
Про динамик модель не думал... Осмыслю)) Ещё есть мысль допилить композитные формы Елисеева, чтобы в зависимости от условия обрабатывалась вложенная форма или не
who are you
а чо можно вырезать из фрейма а то места дохера занимает пустой сайт? и где то об этом написано чо нужно удалить ? я бы почитал
Dmitriy
фрейм монолитный .
Dmitriy
толком ничего
who are you
чот 40 мегабайт для скриптов - дофигища я полюбому это не юзаю, хотел подчистить то чо мне не нужно
who are you
быстрее будет выгружаца на сервак
Dmitriy
не будет
Dmitriy
ну мб. на 0.0000000000000000000000001
Dmitriy
поставь кеш на композер автолоад
Niko
быстрее будет выгружаца на сервак
та ну? Ты же одинаково на сервере делаешь composer install и оно старое с кеша берет, а новое обновляет
who are you
http://shot.hsdn.org/K8swdaCi
Niko
who are you
А что в asset
http://shot.hsdn.org/MELLQyGT
Niko
не парься над этой фигней! Иди кодить!!!
who are you
чо за пуникод жирная папка такая ?)
who are you
епт, там js скрипт 18 метров
who are you
\basic\vendor\bower-asset\punycode\tests\data.js
Niko
чо за пуникод жирная папка такая ?)
наверно хакеры подкинули, чтоб они могли свои файлы передавать вместе с твоими на твой сервак, пока у тебя проект на сервер будет закачиваться
who are you
😂
Niko
сделай им пакость. Минимифицируй файл и перезапиши в нем код, чтоб он стал меньше! Профит!!!
who are you
походу да, ничо не выпилить, ибо хз где оно юзаеца
who are you
за то теперь узнал что документация по бутстрапу оказывается в вендоре есть ) ну всё, теперь буду туда лазить читать )))
The Ant
походу да, ничо не выпилить, ибо хз где оно юзаеца
все дерьмо можно выпилить. бутстрап ссаный грузить через сдн например
The Ant
жиквери с гугла
Dmitriy
и как ты выпилишь ? только не говори rm vendor/jquery
Владимир
оно отрубается в конфигурации ассетбандла, если вы об этом
Владимир
асетменеджера*
Владимир
\Yii::$app->assetManager->bundles['yii\\bootstrap\\BootstrapAsset'] = [ 'css' => [], 'js' => [] ];
Dmitriy
мимо =)
Eugene
Ребята, всем привет) нужно по вот такую datePicker'у организовать фильтрацию в gridView по дням, игнорируя год. Кто нибудь когда нибудь настраивал что то подобное? Посоветуйте куда смотреть/читать
Andrey Slutskiy
Что под этим подразумевается "по дням, игнорируя год" ?
Eugene
Что под этим подразумевается "по дням, игнорируя год" ?
идея заключается в том, что пользователь выбирает дату "9 февраля" в датапикере и ему выводятся все новости за 9 февраля, а не только за 9 февраля 2018 года, например
Andrey Slutskiy
за 9 февраля всех лет? Тогда в запросе дата провайдера сгенерируй select => "*, FROM_UNIXTIME(unix_timestamp, '%d-%m') AS day_month" и по нему фильтруй.. думаю сюда копать тебе
Andrey Slutskiy
Тогда тебе и датапикер не нужен. Сделай два селекта первый дни, второй - месяцы.
Andrey Slutskiy
И еще одно. Таким способом у тебя будут все записи обраатываться, что при бигдате сильно замедлит запрос. Если долго то сделай в базе два поля и заполни дни и месяцы и обычным способом фильтруй по этим полям.
Eugene
там за одну дату по условию тз может быть всего лишь 3 записи)
Дмитрий
быстрее будет выгружаца на сервак
Так vendor никогда вручную и не выгружается
who are you
А как
Максим
composer install
Максим
И вендор развернется на сервере
who are you
Я архивом переношу с дев на прод 😄
who are you
А иногда без архива )))
who are you
Папками. И начинается жопа
Максим
С дев на прод лучше всего переносить с помощью git pull original master
Максим
Выгрузит только разницу, а не все
who are you
Уходишь курить пока оно всё склпирует
Дмитрий
Я архивом переношу с дев на прод 😄
А вы любитель извращений...
Максим
А вы любитель извращений...
Профессионалы извращений переносят по файлам, без архивов)
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
Я отдельно делаю, так удобней
а рефакторинг как проводить? наращивать и т.д. именовать поля в серч модели ручками по аналогии с основной?
SiZE
В большинстве случаев конечно одно. Но поисковая модель это как описалово для грида больше чем для AR
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
Поля в модели для поиска и поля в AR не одно и тоже ведь.
немного о другом подумал, не проснулся еще) но в целом в большинстве одно и тоже да)
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
серч для формирования провайдера данных
SiZE
описалово для грида основная модель же
Ну это базовый подход описанный в мане. А ты попробуй создать отдельную модель, которая возвращает описание полей, dataprovider и тп для грида
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
лан, так то фигня на самом деле
SiZE
$searchModel->dataProvider()
SiZE
все поля которые нужны гриду в ней описываешь и дергаешь как тебе надо
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
виджеты используют описание и т.д. из дата провайдера, который знать не знает о серч модели а только о квери и базовом классе из которого он и берет описалово
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
не понял
SiZE
у тебя наследник от Model, там все есть
Niko
а рефакторинг как проводить? наращивать и т.д. именовать поля в серч модели ручками по аналогии с основной?
Там в ModelSearch->rules() одинаково поля прописываются вручную, чтоб быть видимыми. Но перевод "атрибутов" по идее пропадет, если нужна интернационализация в сеарч
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
у тебя наследник от Model, там все есть
/** * @inheritdoc * @since 2.0.8 */ protected function getHeaderCellLabel() { $provider = $this->grid->dataProvider; if ($this->label === null) { if ($provider instanceof ActiveDataProvider && $provider->query instanceof ActiveQueryInterface) { /* @var $modelClass Model */ $modelClass = $provider->query->modelClass; $model = $modelClass::instance(); $label = $model->getAttributeLabel($this->attribute); } elseif ($provider instanceof ArrayDataProvider && $provider->modelClass !== null) { /* @var $modelClass Model */ $modelClass = $provider->modelClass; $model = $modelClass::instance(); $label = $model->getAttributeLabel($this->attribute); } elseif ($this->grid->filterModel !== null && $this->grid->filterModel instanceof Model) { $label = $this->grid->filterModel->getAttributeLabel($this->attribute); } else { $models = $provider->getModels(); if (($model = reset($models)) instanceof Model) { /* @var $model Model */ $label = $model->getAttributeLabel($this->attribute); } else { $label = Inflector::camel2words($this->attribute); } } } else { $label = $this->label; } return $label; }
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
Где?