@yii2ru

Страница 24 из 1721
Виталий
03.11.2016
10:31:27
Почему сначала вызывается afterValidateAttribute, а потом у этого атрибута меняется статус?

Написал обработку function hasError($form) { var attributes = $form.yiiActiveForm('data').attributes; var hasError = false; for (var i = 0; i < attributes.length; i++) { if (attributes[i].status !== 1) { hasError = true; break; } } return hasError; }

Но она не работает, потому что status=1 ещё не присвоен

Р2
03.11.2016
13:50:18
Нужны мидл+ на удалёнку фултайм. Стучитесь в личку!

Google
Виталий
06.11.2016
06:32:53
PJAX + клиентская валидация + сценарии ActiveForm не работают вместе?

Скиньте пример, если есть рабочий

SiZE
06.11.2016
08:18:14
Работают

Виталий
06.11.2016
08:20:40
Надо отправить форму onChange при прошедших валидацию полях, указанных в сценарии, как это сделать?

Иными словами, первый шаг, как заставить pjax отправить форму без нажатия на submit?

SiZE
06.11.2016
17:27:35
Я не у компа надо курить yii.activeform.js

По необходимости расширять объект формы

don
09.11.2016
05:14:32
Всем привет. Подскажите, пожалуйста, как в обработчике события afterValidateAttribute получить статус валидации всей формы, чтобы удалить атрибут disabled у кнопки(submit)?

Antony
09.11.2016
07:27:30
afterValidateAttribute выполняется после валидации одного аттрибута. Смотри в сторону afterValidate /** * afterValidate event is triggered after validating the whole form. * The signature of the event handler should be: * function (event, messages, errorAttributes) * where * - event: an Event object. * - messages: an associative array with keys being attribute IDs and values being error message arrays * for the corresponding attributes. * - errorAttributes: an array of attributes that have validation errors. Please refer to attributeDefaults for the structure of this parameter. */ afterValidate: 'afterValidate' Ну и вообще глянь тут как все работает https://github.com/yiisoft/yii2/blob/master/framework/assets/yii.activeForm.js В случае чего можно переопределить yii\widgets\ActiveFormAsset и задать свой обработчик yii.activeForm.js

Vasya
09.11.2016
21:18:02
Exception – yii\base\Exception Failed to create directory "/var/www/site/runtime/logs": mkdir(): Permission denied Что-то я не вкурил. Вроде, и 777 выставил, и владельцем поставил nginx:nginx.

Что я упустил?

Anatoly
09.11.2016
21:18:55
nginx не создаёт директорию, это делает обычно php-fpm, смотри из под какого юзера он запущен

Vasya
09.11.2016
21:19:07
Ща

Google
Vasya
09.11.2016
21:19:33
$ ps aux | grep php-fpm root 12735 0.0 0.4 276216 15656 ? Ss 00:03 0:00 php-fpm: master process (/etc/php-fpm.conf) nginx 12739 0.0 0.3 279284 13304 ? S 00:03 0:00 php-fpm: pool www nginx 12740 0.0 0.2 278300 8780 ? S 00:03 0:00 php-fpm: pool www nginx 12741 0.0 0.2 278300 10592 ? S 00:03 0:00 php-fpm: pool www nginx 12742 0.0 0.2 278300 8780 ? S 00:03 0:00 php-fpm: pool www nginx 12743 0.0 0.3 279284 13304 ? S 00:03 0:00 php-fpm: pool www user 13737 0.0 0.0 118516 2248 pts/3 S+ 00:19 0:00 grep —color=auto php-fpm

Anatoly
09.11.2016
21:21:41
Пробуй sudo -u nginx mkdir <dir> Если прав нет, то проблема имеет системный характер

Убедись, что у тебя selinux не стоит в системе, например

Vasya
09.11.2016
21:22:28
Стоит :(

Fedora 23, есличё.

Vasya
09.11.2016
21:24:45
У меня user не в sudousers

user — это логин

А как выполнить это из-под рута?

Anatoly
09.11.2016
21:25:42
Так же

Vasya
09.11.2016
21:27:06
# sudo -u nginx mkdir /var/www/rap/runtime/logs

Отлично создался каталог

Отключил selinux — заработало. Спасибо.

public function actionIndex() { return $this->render('//index/main'); } По какому принципу выбирается layout?

Дмитрий
10.11.2016
03:53:36
http://www.yiiframework.com/doc-2.0/yii-base-controller.html#$layout-detail

Vasya
10.11.2016
15:31:57
Берётся из свойства $layout контроллера
А если в контроллере не устанавливается layout?

Из документации: "If false, no layout will be applied."

"Defaults to null, meaning the actual layout value should inherit that from $module's layout value. "

Константин
11.11.2016
12:55:20
Всем привет! Кто подскажет, можно ли через hasOne связать два поля одной таблицы, или это можно сделать другим спобом? Я попробовал, вроде не работает, хотя проблема может быть в другом.

Google
SiZE
11.11.2016
12:56:20
Хоть тридцать три

Константин
11.11.2016
13:03:22
т.е. если к примеру у меня есть таблица messages с полями id, parent_message, message и я хочу прописать такую связь class Message { ... public function getParentMessage() { return $this->hasOne(Message::className(), ['id' => 'parent_message']); } } то все должно работать?

Vasya
15.11.2016
12:00:01
Всем утра.

А где вы храните свои виджеты?

Pavel
15.11.2016
12:00:29
widgets

Vasya
15.11.2016
12:01:42
Этот каталог в корне проекта? Просто я такого не вижу, вот и решил уточнить, как принято.

Pavel
15.11.2016
12:03:09
если басик то в корне, если адвенсед то во фронте или в беке, где ты их собираешься пользоваться

Vasya
15.11.2016
12:04:03
басик

Pavel
15.11.2016
12:04:38
ну всё в корне создавай папку)) не бойся папки создавать)

Vasya
15.11.2016
12:07:46
Не хочу лезть в чужой монастырь со своим уставом. Если что, до этого 2 года говнокодил под CodeIgniter, но всё равно не покидало ощущение, что что-то делаю не так.

Pavel
15.11.2016
12:14:50
А есть кто юзал или юзает эту штуку https://github.com/trntv/yii2-starter-kit

SiZE
15.11.2016
19:24:45
С отдельными пакетами удобней работать

Кирилл
16.11.2016
07:22:32
/ping@Shizoid_bot

Тимур
16.11.2016
20:12:33
/ping@Shizoid_bot

/ping@Shizoid_bot

Влад
16.11.2016
20:24:20
/ping@Shizoid_bot

Vera
16.11.2016
21:04:03
/ping@Shizoid_bot

/ping@Shizoid_bot

Vasya
16.11.2016
21:23:29
А чем отличается advanced от basic?

Мне нужно делать проект с админкой, насколько принципиален в данном случае выбор между advanced и basic?

Google
Vasya
16.11.2016
21:25:17
А как лучше организовать проект, чтобы лэйауты и вьюшки были разделены между админкой и общедоступной частью?

Олег
16.11.2016
21:25:31
в advanced более гибко организованы файлы и грамотнее, но запутаннее может показаться для начинающего

лучше advanced брать

тем более, если заранее известно, что будет админка

Vasya
16.11.2016
21:27:50
То есть разница лишь в том минимальном наборе контроллеров/виджетов/вьюшек, которые изначально есть после установки?

Олег
16.11.2016
21:28:35
да. И заранее уже фронтэнд и админка разделены на два приложения

Vasya
16.11.2016
21:28:55
Спасибо. Я тут чуть-чуть погуглил, так и есть.

Олег
16.11.2016
21:29:02
и по мелочам всякие вещи сконфигурины более продвинуто, все не вспомню

например, в advanced, уже есть скрипт для генерации конфигов для разных окружений

в basic ее тоже можно перенести потом при необходимости, но это доп. гембель

не раз жалел, что начал какие-то приложения на basic. На нем обычно кажется логичнее делать какие-то простые приложения (часто без админки), но часто приложения растут все же... И плюс с basic как-то проще управляться на shared хостингах, но shared хостинги уже почти вымерли

Vasya
16.11.2016
21:32:46
Спасибо, тогда выберу advanced, чтобы потом не корячиться.

Олег
16.11.2016
21:32:49
можно сказать, что при старте, возможно, нужно чуть больше времени чтоб разобраться и подготовить проект, но в перспективе оно того стоит. Плюс потом привыкаешь

Vasya
16.11.2016
21:49:43
А чем сложнее разворачивание на shared-хосинге?

Олег
16.11.2016
21:51:43
тем, что у них там предопределенный webroot

и он один и изменять имя его нельзя, может это мне так повезло. Есть руководства, как это сделать все же, но как по мне это маленький ад https://github.com/yiisoft/yii2-app-advanced/blob/master/docs/guide/topic-shared-hosting.md

Vasya
16.11.2016
22:54:54
Допустим, есть контроллер с 10 экшенами (или как у вас это принято называть?), в самом начале объявление: use common\models\LoginForm; И используется это только в одном экшене. Внутри экшена контроллера можно подгружать модули или это по-другому принято решать?

Олег
16.11.2016
22:57:55
так это не подгрузка модуля, а использование namespace

Vasya
16.11.2016
23:02:44
ой

позорище

Google
Vasya
17.11.2016
00:31:07
Что я делаю не так?

Олег
17.11.2016
00:35:35
сложно сказать

а просто migrate срабатывает?

Vasya
17.11.2016
00:35:47
ДА

Видимо, дело в окружении. Я сейчас под виндой, через стандартную командную строку всё работает.

В экшене указываю layout index.php, но почему-то Yii2 пытается отрендерить layout main.php

Кирилл
17.11.2016
03:06:54
А зачем внутри actionInit actionTest? Эт чего-то даёт?

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