
Oleg
10.10.2018
16:46:14

Andrey
10.10.2018
16:47:04
конфиги на основе чего формируются?

Oleg
10.10.2018
16:48:37

Andrey
10.10.2018
16:49:31
ну так и в чем проблема это все написать в этой вьюшке?!

Google

Oleg
10.10.2018
16:59:43
ну так и в чем проблема это все написать в этой вьюшке?!
вьюшка общая для проектов, она не знает, какие виджеты в неё попадут и с какими параметрами. В одном проекте к пункту меню "Заказы" имеет доступ, к примеру, только админ, а во втором - админ и сеошник итд. В в другом проекте на месте этого меню - другое меню (от другого виджета может быть).

Andrey
10.10.2018
17:00:53
в вьшке описываете все виджеты которые могут быть, и каждый из них показываете по условию

Oleg
10.10.2018
17:01:51

Andrey
10.10.2018
17:03:06
перечисялть их значит нереально, а пихать в конфиг - реально?!

Oleg
10.10.2018
17:04:31
перечисялть их значит нереально, а пихать в конфиг - реально?!
да, потому что конфиги у каждого проекта свои, локальные. на то они и конфиги. В во вьюхе должно быть просто место предусмотрено под вывод виджета, и всё. Зачем во вьюхе перечислять виджеты? А если виджета ещё нет в системе, при его появлении править вьюху?

Andrey
10.10.2018
17:06:27
А при изменении внешнего вида сайта вы ничего не правите?!
Ну вобщем я давно показал способ через конфиг (хотя это хрень), а там решайте сами.

Oleg
10.10.2018
17:08:52

Aleksey
10.10.2018
17:25:56

SiZE
10.10.2018
17:30:52
хочу заюзать /config/params.php для хранения виджетов, а потом их выводить в layout. Типа так:
return [
'widgets' => [
'admin' => [
'sidebar-left' => [
[
'class' => \dmstr\widgets\Menu::class,
'activateParents' => true,
'options' => ['class' => 'sidebar-menu tree', 'data-widget'=> 'tree'],
'items' => [
['label' => Yii::t('app', 'Dashboard'), 'visible' => Yii::$app->user->can('admin')]
],
],
],
],
],
];
тебе clip тогда нужен

Oleg
10.10.2018
17:31:48
тебе clip тогда нужен
типа View->blocks()? И как? я уже рассматривал этот вариант, не придумал ничего толкового

SiZE
10.10.2018
17:31:58
я просто не очень понял задачу, но можно в парамс просто хранить список ключей
у тебя вывод видежета от условия зависит?

Google

SiZE
10.10.2018
17:33:13
https://www.yiiframework.com/doc/api/2.0/yii-widgets-block

Oleg
10.10.2018
17:37:43
у тебя вывод видежета от условия зависит?
блоки в Yii практически бесполезны, я даже не знаю кто их вообще использует. Задача у меня банально просат - обозначить в шаблоне место для виджетов (например левая колонка сайта) и вывести туда виджеты, зарегистрированные для данного конкретного проекта с его собственными настройками.

SiZE
10.10.2018
17:38:01
ну можно по аналогии сделать конечно

Oleg
10.10.2018
17:41:00
я уже думал тупо инклюдить их прямо в шаблон из какой-то папки, а папку - в гитигнор (для разных проектов - разные виджеты). Но это говнокод

SiZE
10.10.2018
17:47:22
на самом деле у тебя уже довольно странная задача
однажды заказчик убеждал меня что ему в дропдауне нужно все 10к элементов справочника )

Oleg
10.10.2018
18:08:33
ладно, буду разбераться, спасибо всем за содействие

Алексей
10.10.2018
19:23:42
Доброго! Кто-нить использовал уровни изоляции транзакций для PostgreSQL? В доке написано, что можно определять после начала транзакции, но оно ругается!..

Дмитрий
10.10.2018
19:42:51

Алексей
10.10.2018
19:46:59

Alex
10.10.2018
20:19:52

Art
11.10.2018
06:56:49
Норм тема для картинок?
Для названия картинки - генерировать случайное значение через yii2 криптографию, потом все в md5 для единого вида, далее хеш разбиваем на директории чтобы файловая система не тупила и не было миллион фоток в одной папке и вот что на выходе:
38/a2/3d9a2344005041efaadc9872e239.jpg
папка для загрузок/2 вложенные директории + остатки хеша

Александр
11.10.2018
06:57:39
я примерно так же делаю
только первые папки от букв хеша зависят, т.е. 3d/9a/3d9a2344005041efaadc9872e239.jpg чтобы можно было в случае чего, руками найти, зная хеш

Crestoff
11.10.2018
07:01:10
Добрый день!
кто-то использовал Vertica в своих проектах на Yii2
?

Google

Vadim
11.10.2018
07:48:53

Andrey
11.10.2018
07:49:33
привет да
в debug можно посмотреть запрос с limiit(1) и без

Nikitcat
11.10.2018
07:50:42
Note: Ни метод yii\db\ActiveRecord::findOne(), ни yii\db\ActiveQuery::one() не добавляет условие LIMIT 1 к генерируемым SQL-запросам. Если ваш запрос может вернуть много строк данных, вы должны вызвать метод limit(1) явно в целях улучшения производительности, например: Customer::find()->limit(1)->one().

SiZE
11.10.2018
07:51:00
однако
это не касается запросов по уникальному индексу
ну т.е. можно не добавлять если явно по рк поиск

Andrey
11.10.2018
07:51:59

SiZE
11.10.2018
07:52:18

Vadim
11.10.2018
07:53:08
Спасибо за пояснения)

Maxim
11.10.2018
08:13:14

Art
11.10.2018
10:53:09
почему алиас @webroot не работает(пишет ошибку) если в конфиге web использовать в других алиасах, но при этом другие алиасы работают

Art
11.10.2018
10:54:04
из-за этого пути к файлам нормально, централизованно нельзя прописать

Дмитрий
11.10.2018
11:16:45
Всем привет! понимаю что вопрос немного не по теме, но может кто-то ткнуть носом как подключить к гиту 2 репозитория, желательно еще и в шторме это сделать

Иван
11.10.2018
11:19:48

Дмитрий
11.10.2018
11:20:33
в шторме нашел еще vcs-git-remotes
ээээй, бот! добавь репы этому господину)

Yet Another Stats
11.10.2018
11:22:11
Карма @ivan_hermanov стала 2

Ad.x ??
11.10.2018
11:38:19

Google

Admin
ERROR: S client not available

Mef45
11.10.2018
11:41:34
Всем привет.
Вопрос по Yii 1.1, заранее прошу прощения за некрофилию.
Есть задача, необходимо организовать загрузку файлов во внешнее файловое хранилище.
Проблема в том, что мест для загрузки файлов несколько, а дополнительные телодвижения нужны только в одном из этих мест.
Схема примерно такая:
Место 1
Записываем информацию о файле в базу -> отправляем файл в "облако" -> дожидаемся callback'a и обновляем запись в базе
Место 2
Записываем информацию о файле в базу -> отправляем файл в "облако" -> дожидаемся callback'a и обновляем запись в базе -> отправляем уведомление
Собственно, затуп возник на моменте определения в callback-функции, нужно ли слать уведомление или нет.
Подскажите, как правильно всё это организовать.

NVlad
11.10.2018
11:42:07

Mef45
11.10.2018
11:44:54

NVlad
11.10.2018
11:48:42

Mef45
11.10.2018
11:51:17

Konstantin
11.10.2018
12:06:24
есть тулз какой нибудь для выявления расхождения апи и спецификации oas3 ?


Maxim
11.10.2018
14:12:40
Всем привет. Может, кто-то сталкивался с ошибкой сохранения в базу. Есть табличка с полями created_on, updated_on. Поля задались так:
public function safeUp()
{
$this->alterColumn($this->table, 'updated_on', $this->timestamp());
$this->alterColumn($this->table, 'created_on', $this->timestamp());
}
В модельке есть метод beforeSave:
public function beforeSave($insert) {
$this->updated_on = date("Y-m-d H:i:s");
$this->created_on = isset($this->created_on) ? DateTime::LocalToUTC($this->created_on) : $this->updated_on;
return parent::beforeSave($insert);
}
И afterFind:
public function afterFind() {
$this->updated_on = DateTime::UTCtoLocal($this->updated_on);
$this->created_on = !isset($this->created_on) ? NULL : DateTime::UTCtoLocal($this->created_on);
}
И вот я уже 5-й час парюсь с проблемой, что в методе beforeSave дата создания и дата обновления разные. Но сразу после записи смотрю в табличку и там created_on = updated_on
Где я свернул не туда?


Александр
11.10.2018
14:16:11
может всё же лучше использовать TimestampBehavior в твоём случае?

Maxim
11.10.2018
14:16:58
Там будет много дополнительной логики. ?
Не подходит он
Вроде же тривиальная задача... Но в beforeSave данные правильные, а сразу после save() данные не те
В какую сторону смотреть?

Sergey
11.10.2018
14:22:20
1. created/updated _at - _on грамматически не правильно

Karim
11.10.2018
14:22:34
Xd

Sergey
11.10.2018
14:22:42
2. держать в моделях afterSave() и тд дурной тон
3. поле типа timestamp, а ты туда пытаешься сохранить дату string

Alexandr
11.10.2018
14:23:51

Google

Alexandr
11.10.2018
14:24:54
или просто time()

Maxim
11.10.2018
14:25:35

Alexandr
11.10.2018
14:28:06
код кривой у тебя
это дамп чего?
бд? модели после сохранения или до....

Maxim
11.10.2018
14:31:11

Alexandr
11.10.2018
14:31:15
подкючи для проверки сначала TimestampBehavior

SiZE
11.10.2018
14:34:13
а зачем там какой-то изврат с приведением зоны?


Maxim
11.10.2018
14:34:56