@yii2ru

Страница 1680 из 1721
Oleg
10.10.2018
16:46:14
через жопу. по моему проще в конфиге описывать имена виджетов, а логику их рендеринга оставить в // layout <?= $this->render('../_inc/_menu_block') ?> а в той вьшке колбась условия: if (ArrayHelper::getValue(Yii::$app->params, 'widgets.admin')) { //render widget }
я с этого и начинал - прописывал в парамсах названия виджетов (имена классов), но пришёл к тому, что конфиги им тоже нужны, для этих самых виджетов, да и не просто конфиги, а и некоторые, зависящие от состояния приложения

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

Oleg
10.10.2018
16:48:37
конфиги на основе чего формируются?
некоторым нужен Yii::$app->user, некоторым Yii::$app->urlManager итд, короче Yii::$app

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
А при изменении внешнего вида сайта вы ничего не правите?! Ну вобщем я давно показал способ через конфиг (хотя это хрень), а там решайте сами.
Я стараюсь свести к минимуму возможные вариации системы от проекта к проекту. Дизайн сайта - это один файл CSS и один JS (собраные Галпом локально под проект). Для отличий в структуре вьюх - есть штатный механизм темизации Yii. Для параметров приложения - конфиги. Я люблю когда усё чётко:)

Aleksey
10.10.2018
17:25:56
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 практически бесполезны, я даже не знаю кто их вообще использует. Задача у меня банально просат - обозначить в шаблоне место для виджетов (например левая колонка сайта) и вывести туда виджеты, зарегистрированные для данного конкретного проекта с его собственными настройками.

Oleg
10.10.2018
17:41:00
блоки для этого и есть
а где сами виджеты прописывать то с их параметрами?

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

SiZE
10.10.2018
17:47:22
на самом деле у тебя уже довольно странная задача

однажды заказчик убеждал меня что ему в дропдауне нужно все 10к элементов справочника )

Oleg
10.10.2018
18:08:33
однажды заказчик убеждал меня что ему в дропдауне нужно все 10к элементов справочника )
ничего странного в моей задаче нет, с ней справляется любая CMS система

ладно, буду разбераться, спасибо всем за содействие

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

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


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
это не касается запросов по уникальному индексу
то есть типа если MODEL::find()->where(['id' => 5])->one(); нет смысла юзать limit(1) ?

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

Maxim
11.10.2018
08:13:14
то есть типа если MODEL::find()->where(['id' => 5])->one(); нет смысла юзать limit(1) ?
Если ищешь не по первичному или уникальному ключу то смысл есть

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
Всем привет! понимаю что вопрос немного не по теме, но может кто-то ткнуть носом как подключить к гиту 2 репозитория, желательно еще и в шторме это сделать
https://git-scm.com/book/ru/v1/%D0%9E%D1%81%D0%BD%D0%BE%D0%B2%D1%8B-Git-%D0%A0%D0%B0%D0%B1%D0%BE%D1%82%D0%B0-%D1%81-%D1%83%D0%B4%D0%B0%D0%BB%D1%91%D0%BD%D0%BD%D1%8B%D0%BC%D0%B8-%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D1%8F%D0%BC%D0%B8#%D0%94%D0%BE%D0%B1%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D1%83%D0%B4%D0%B0%D0%BB%D1%91%D0%BD%D0%BD%D1%8B%D1%85-%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%B5%D0%B2

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

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
можно передать какие-то дополнительные данные в callback?
к сожалению нет, если бы была такая возможность, то проблем бы вообще не возникло

NVlad
11.10.2018
11:48:42
к сожалению нет, если бы была такая возможность, то проблем бы вообще не возникло
тогда пожалуй только сохранять в где-то(бд/редис) id записи в базе для которых требуется уведомление и в колбеке проверять наличие этой записи

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

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

Maxim
11.10.2018
14:34:56

Страница 1680 из 1721