
Vladimir
21.03.2018
13:13:11
Тогда толку особо не будет же, что я хидден инпутом его делаю, что извращаюсь с формо1

Matviy
21.03.2018
13:13:30
Просто всегда пишите бекенд так, как будто на фронте у вас злобный кулхацкер, который пихает в запросы все что угодно

NVlad
21.03.2018
13:13:47

Google

Vladimir
21.03.2018
13:16:00

NVlad
21.03.2018
13:16:29
да

Vladimir
21.03.2018
13:16:46

NVlad
21.03.2018
13:16:56
единственное могут быть проблемы когда будет открыто несколько вкладок с сайтом
но там уже начнутся и проблемы с csrf

Matviy
21.03.2018
13:18:25
В любом случае проще не доверять

NVlad
21.03.2018
13:19:21

Vladimir
21.03.2018
13:20:51

NVlad
21.03.2018
13:21:36

Николай
21.03.2018
13:29:43

NVlad
21.03.2018
13:32:39

Vladimir
21.03.2018
13:33:30

NVlad
21.03.2018
13:35:22
тут уже зависит от того, что необходимо получить

Google

NVlad
21.03.2018
13:35:59
если достаточно проверить наличие записи в нужной таблице, то так и делай

Vladimir
21.03.2018
13:39:55
Ну смотри, так он сможет слать комментарии к несуществующим материалам, а так я проверю что тот куда он шлет существует

NVlad
21.03.2018
13:45:26
не зная логики трудно что-то порекомендовать. может в таблице foregin key который не даст добавить запись если нет записи к которой он относится
может надо проверять права на возможность добавлять комментарий к этому материалу

49576
21.03.2018
13:51:02
Не правильно делаете. Широкую на широкую!

Vladimir
21.03.2018
13:52:11
Ну есть ли в module_table или moduleClass:tablename материал с entity_id

mrG1K
21.03.2018
13:53:10

NVlad
21.03.2018
13:57:20
@Playerro, @mrG1K дело говорит :)

Vladimir
21.03.2018
14:05:00
Ок, сяп
большой

Oleg
21.03.2018
14:43:40
Привет! Подскажите, пожалуйста, проверенную и 100% рабочую связку "Поведение для Дерева + Виджет дерева" для организации иерархии. Уже замахался, из рабочих только Дерево от Картика, но оно замороченное слишком и использует Nested Sets (я предпочитаю Adjacency List). Проверял виджеты от Paulzi, Arogachev, Voskobovich итд - почти ничего не работает по разным причинам (то нотайсы выкидывает, то ещё что-то). Ещё у меня нюанс. Есть две модели - основная с деревом (Page) и связанная (PageContent) - для хранения мультиязычных данных (name, description etc.). Так вот, в основном в этих деревьях (например у Картика), аттрибут "name" - в основной таблице с деревом хранится, а мне надо, чтобы оно брало его со связанной модели. Сохраняло при редактировании тоже в связанную модель, а не в основную таблицу с деревом.

Павел
21.03.2018
14:49:29
пили сам руками

Vladimir
21.03.2018
14:49:56
Только мне надо сделать динамический targetClass
И вообще, можно ли один атрибут использовать при валидации другого
А то чет не найду никак

mrG1K
21.03.2018
14:57:55

Vladimir
21.03.2018
14:59:03
О все, разобрался

NVlad
21.03.2018
15:00:18
Только мне надо сделать динамический targetClass
унаследуйся от ExistValidator перепиши validateAttribute на что-нибудь подобное
validateAttribute($model, $attribute) {
$this->targetClass = ...;
parent::validateAttribute($model, $attribute)
}

Google

NVlad
21.03.2018
15:00:44
и используй свой валидатор


Ad.x ??
21.03.2018
15:21:36
Привет! Подскажите, пожалуйста, проверенную и 100% рабочую связку "Поведение для Дерева + Виджет дерева" для организации иерархии. Уже замахался, из рабочих только Дерево от Картика, но оно замороченное слишком и использует Nested Sets (я предпочитаю Adjacency List). Проверял виджеты от Paulzi, Arogachev, Voskobovich итд - почти ничего не работает по разным причинам (то нотайсы выкидывает, то ещё что-то). Ещё у меня нюанс. Есть две модели - основная с деревом (Page) и связанная (PageContent) - для хранения мультиязычных данных (name, description etc.). Так вот, в основном в этих деревьях (например у Картика), аттрибут "name" - в основной таблице с деревом хранится, а мне надо, чтобы оно брало его со связанной модели. Сохраняло при редактировании тоже в связанную модель, а не в основную таблицу с деревом.
вот ведь... тяжело когда нада, а сам не можешь. Это такой ужас :(
перебираешь перебираешь, ставишь все подряд... хоть бы кто додумался сделать как надо. Одно говно пишут!


Андрей
21.03.2018
15:24:19
парни
почему Yii::$app->urlManager->baseUrl не работает?
ну и вообще, как достать домен

Ad.x ??
21.03.2018
15:25:18

NVlad
21.03.2018
15:25:35

Андрей
21.03.2018
15:25:48

Oleg
21.03.2018
15:26:05

NVlad
21.03.2018
15:26:17
случайно не из консоли вызываешь?

Андрей
21.03.2018
15:26:57
нет
<?= Yii::t('app', "Hello {$user->name} user name {$user->username}, you trying to reset password on {host}."
, [
'host' => Yii::$app->request->baseUrl,
]) ?>

Ad.x ??
21.03.2018
15:27:40
да и делается это легко по сути

Oleg
21.03.2018
15:29:42

Ad.x ??
21.03.2018
15:30:52
связь 1к1 и все

NVlad
21.03.2018
15:32:23
нет
воспользуйся \yii\helpers\Url::base(true);

Oleg
21.03.2018
15:32:28
со схемами у меня всё в порядке, мне нужен рабочий виджет для управления деревом и поведение, с которым он нормально работает. само дерево (его формат) я могу использовать любое, это не столь важно, хоть я и предпочитаю смежный список

Google

Андрей
21.03.2018
15:33:49

Vladimir
21.03.2018
15:34:09
По-прежнему актуально, может кто знает
Ку всем, кто юзает ckeditor для yii2, вы не знаете какими параметрами задать стили для div'a окна редактора?
echo $form->field($model, 'content')->textarea()->widget(CKEditor::className(),[
'editorOptions' => [
'preset' => 'basic', //разработанны стандартные настройки basic, standard, full данную возможность не обязательно использовать
'inline' => false, //по умолчанию false
],

Oleg
21.03.2018
15:36:29

Максим
21.03.2018
15:40:10

NVlad
21.03.2018
15:44:48
или под каждого пользователя своё приветствие?)

Максим
21.03.2018
15:46:14

Андрей
21.03.2018
15:46:54
всмысле
просто имя не будет переводится

NVlad
21.03.2018
15:48:51
второй параметр это ключ по которому происходит поиск перевода, а у вас прямо в этот ключ подставляется имя и юзернейм. и получается что для каждого пользователя этот ключ уникальный

Тимур
21.03.2018
16:13:53
ребят привет. для рест контроллера делаю базовый index экшен. хочу от него отнаследовать дочерний экшен и дописать логику к датапровайдеру. где это лучше сделать? в init или beforeRun или как то еще?

Vladimir
21.03.2018
16:36:11

Максим
21.03.2018
16:49:50

PowerAxis
21.03.2018
17:17:25
почему я не могу присвоить значение NULL для свойства photo?
public function deleteImage($id)
{
$article = $this->articles->get($id);
$article->photo = null;
$this->articles->save($article);
return $article;
}
а если я напишу $article->photo = '123'; то присвоится 123
в БД нет ограничения на null

Andrey
21.03.2018
17:23:09
почему я не могу присвоить значение NULL для свойства photo?
public function deleteImage($id)
{
$article = $this->articles->get($id);
$article->photo = null;
$article->save();
return $article;
}
А так?

Google

Maxim
21.03.2018
17:23:33

PowerAxis
21.03.2018
17:23:48
та не, у меня сейв в репозитории

Maxim
21.03.2018
17:26:06

Тимур
21.03.2018
17:26:50

Andrey
21.03.2018
17:29:22

PowerAxis
21.03.2018
17:29:48
так у меня как бы задача его стереть
как правильно сделать?
я же потом в save передаю свою article

Andrey
21.03.2018
17:30:40
Save($article) покажи

PowerAxis
21.03.2018
17:31:03
да там нет ничего, обычный сейв с э
с эксепшеном
public function save(Article $article): void
{
if (!$article->save()) {
throw new \RuntimeException('Ошибка при сохранении.');
}
}

Maxim
21.03.2018
17:31:58

PowerAxis
21.03.2018
17:33:01
та пробовал, что-то не канает

Maxim
21.03.2018
17:33:04
Может у тебя референс стоит или нот нал в бд, и ты не можешь удалить из-за этого?

PowerAxis
21.03.2018
17:33:28
ща проверю, но, вроде, ничего такого не ставил
не, только индекс