@symfony_php

Страница 652 из 1418
Vadim
17.02.2018
05:06:21
Гуглить EAV или сразу EAV vs nosql
Гуглил, я про сами symfony forms

Valentin
17.02.2018
05:10:50
Ну тогда не понимаю проблемы, просто надо создать Params set или Attribute set привязать его к категории товара и при выборе категории загружать все поля (ajax), ну и выводить соответственно, но в attribute set надо ещё поле type в зависимости от него выводить нужное поле, т.е это может быть обычная строка, число, range и т.д

Самое сложное тут это клиентская валидация, но и она решается

Sergey
17.02.2018
09:12:25
Google
Sergey
17.02.2018
09:13:26
Как сделать форму для динамического поля, которое хранится в json? Ну вот хочу я характеристики товара добавлять, как это лучше организовать? Получается, одно поле для названия характеристики, другое для значения, а как дальше?
1. как с этими данными будут дальше работать? 2. откуда взялся этот json? 3. форму для "динамического поля" видимо надо собирать динамически на основе структуры твоей формы

Vadim
17.02.2018
09:16:17
Sergey
17.02.2018
09:17:02
Да, jsonb. Характеристики товаров, фильтрация (поиск), поля формы нужно в один объект(массив) json преобразовать
ну так в чем проблема? давай ты попробуешь декомпозировать свою задачу, ибо сейчас это сравнимо с "оно должно работать"

Vadim
17.02.2018
09:22:47
Тогда так: вот есть товары, они могут быть разных типов, то есть иметь разный набор характеристик и дабы на каждый чих (новый тип-категорию) не плодить сущности и таблицы в бд, надо сделать одну сущность Product с полем jsonb для характеристик, причём даже товары одного типа могут отличаться набором характеристик, так как зависит от информации, предоставленной производителем. Как это jsonb поле (на деле много полей ключ-значение) в symfony формах представить и в бд корректно сохранить.

AM
17.02.2018
11:46:04
Всем привет! А есть пример, как использовать SonataMediaBundle с таблицей, в которой есть поле Image, для загрузки фото? flex

Andrew
17.02.2018
11:57:11
AM
17.02.2018
14:33:05
Да, в админке делаю редактор товара. Отлично такое работает у ecommerc, но там мозг сломаю.

Сейчас появляется поле выбора файла, но не сохраняет

Google
Andrew
18.02.2018
13:20:34
@kion78 а я вот с ларавел перехожу на симфони, вытягиваю все плюшки потихоньку из лары

ларавел не заточен под крупные проекты

Dmitriy
18.02.2018
13:23:48
That was sarcasm

Andrew
18.02.2018
13:23:57
а

Andrew
18.02.2018
13:30:24
простая валидация

к примеру

хелперы

Vladislav
18.02.2018
13:32:37
простая валидация
В симфонии она то сложна)

Sergey
18.02.2018
13:33:13
простая валидация
каковы твои критерии простоты?

хелперы
какие хелперы?

Andrew
18.02.2018
13:40:43
пример валидации поля в симфони

$constraint = new Collection( [ 'nickname' => [ new NotBlank(['message' => $this->translator->trans('not.blank')]), ....

laravel

[ 'nickname' => 'required' ];

хелперы, сей

https://github.com/illuminate/support

вот отсюда

Google
Dmitriy
18.02.2018
13:44:30
берешь дтошку.. навешиваешь правила валидации на публичные пропиртя.. все просто

Andrew
18.02.2018
13:45:26
ну, это уже каждый на свое усмотрение как по мне

мне удобно как описал @fes0r https://gist.github.com/fesor/ba1b6a3aacb09a3e1cb82512235e84d2

через CreateBookRequest

Dmitriy
18.02.2018
13:46:22
ну какбы дтошка всяко приятней обычного массива

Sergey
18.02.2018
13:46:32
ну у меня не dto в том примере

ты потом можешь это дело замэпить через аргумент ресолверы на что тебе надо

Vladislav
18.02.2018
13:50:53
[ 'nickname' => 'required' ];
Вот это как раз и говно)

Andrew
18.02.2018
13:51:09
@kopaygorodsky почему?

Vladislav
18.02.2018
13:51:27
Я хочу другое сообщение об ошибке, что делать ?

В симфонии 2 было похожее с типами полей и другими вещами, стринги вот такие начали выпиливать

И правильно делать

Andrew
18.02.2018
13:52:21
пишите ниже метод который принимает ваши кастомные сообщения

Vladislav
18.02.2018
13:52:30
Крч советую не вытаскивать плюшки

Andrew
18.02.2018
13:52:46
Andrew Stark, [18.02.18 15:45] ну, это уже каждый на свое усмотрение как по мне

Vladislav
18.02.2018
13:53:07
Я советую, а не говорю что дела ть)))

Andrew
18.02.2018
13:53:22
пока делаю так и норм

try { $constraint = new Collection( [ 'nickname' => [ new NotBlank( [ 'message' => $this->translator->trans('validation.not.blank'), ] ),

Vladislav
18.02.2018
13:53:45
Усложняешь там где не надо

Google
Andrew
18.02.2018
13:54:01
И где тут усложнение?

Vladislav
18.02.2018
13:54:32
Я не про этот код

Admin
ERROR: S client not available

Vladislav
18.02.2018
13:54:35
А вообще

Andrew
18.02.2018
13:54:57
Пока делаю как знаю, через годик буду переделывать как обычно :3

Vladislav
18.02.2018
13:55:13
Ну тогда удачи))

Andrew
18.02.2018
13:56:00
Как по мне, такое у каждого, через год, смотришь на любой свой кусок кода

и понимаешь что можно было бы и лучше)

Поетому если все время искать лучше, можно ниче не написать

Dinar
18.02.2018
13:57:29
Что-то не могу сообразить, как правильно сделать форму. Есть форма заявления. В ней надо указать маршрут. В каких городах я буду. Города в БД. Просто выбирать из селекта. То есть заявление и города - ManyToMany. Но при этом одна опция - Другой город. То есть когда она выбирается, то открывается текстовое поле. Как это правильно реализовать?

Vladislav
18.02.2018
14:12:46
Динамически модифицируй

How to modify form dynamically symfony google it

Andrew
18.02.2018
14:19:36
How to modify form dynamically symfony google it
В пень динамические формы. Проще запилить отдельный экшн, который будет принимать текстовый инпут, создавать новый город и связывать его с заявлением

Dinar
18.02.2018
14:30:09
Динамически модифицируй
Динамически-то я могу модифицировать. Что делать с сущностями. Ведь это текстовое пол должно стать новым энтри для сущности.

Sergey
18.02.2018
14:36:58
там есть опция allow_add как-то так

Dinar
18.02.2018
14:37:24
Блин...

Поле формы - CollectionType

'entry_type' => EntityType::class,

Там стоит allow_add

Google
Dinar
18.02.2018
14:38:27
Но она добавляет сущность существующую вроде как.

https://pastebin.com/bXaYGZ1t

Вот так выглядит поле.

Andrew
18.02.2018
14:40:51
Но она добавляет сущность существующую вроде как.
Оно позволяет добавлять новые элементы в коллекцию всего лишь.

Dinar
18.02.2018
14:43:59
Так в коллекции - сущность.

А я не сущность добавляю, когда делаю поле для кастомного города

kekenec
18.02.2018
14:49:28
Подскажите, в postgresql типы вида _*** - массивы ***? т.е. например _int2 = smallint[], так?

Ysim
18.02.2018
21:31:15
может кто подсказать как запустить проект

сам проект https://habrahabr.ru/post/302438/

Страница 652 из 1418