Alexey Mishurovskiy
для этого нужна А запись
Ilya 🃏
lk.васяпупкин.ру
Alexey Mishurovskiy
ну значить делаешь вайлдкарту
Alexey Mishurovskiy
чем кабинеты друг от друга будут отличаться ?
Ilya 🃏
Собственно вся работа кабинета завязана на поддомене нашего основного сервиса. вася.сервис.ру имет свое окружение данных и настроек, свой кабинет с доп юзерами и т.п.
Ilya 🃏
Скорее первое, информационная изоляция, база данных одна
Alexey Mishurovskiy
как вариант по тому что ты написал - слушать onKernelRequest и там подгружать нужные параметры, офрмируя тем самым определенное окружение для домена.
Alexey Mishurovskiy
можно сделать систему наследования вьюх по домену
Alexey Mishurovskiy
и по необходимости переопределять любую вьюху. Все зависит от задач
Ilya 🃏
А когда стучится вася.ру на лк.сайт.ру, то в чем заключается проблема? Симфони берет за основу домен вася.ру и пытается от него брать роуты и все настройки вяжет с ним, забывая про лк.сайт.ру вообще?
Alexey Mishurovskiy
Alexey Mishurovskiy
никогда не прописывал ни на одном проекте хост
Alexey Mishurovskiy
ну без надобности разумеется
Vlad
Приветствую, кто нибудь работал с json-rpc? Если да, какой бандл юзали и почему?
artem
Fos/rest api bundle, jsonresponse
artem
Jms serializer bundle
Vlad
Andrey
Привет. Есть 2 сущности Courses и UserTasks. У них зависимость OneToMany соответственно. Почему-то когда пользователь заходит и делает таск в юзертаске не проставляется id курса, хотя они связаны. При этом все остальные поля,например userId проставляются. И код абсолютно идентичен. Посмотрите пожалуйста, может нужно что-то добавить? Ссылка на код https://pastebin.com/zEym3s57 и на скриншоте то как в базе выглядит, только id курса не проставился.
Andrey
Вручную норм курс сохраняется, а автоматически - нет
Egor
В свойстве OneToMany лежит коллекция, в ManyToOne сущность
Egor
Кажется ты перепутал
Andrey
Спасибо, я действительно не указал на стороне OneToMany $this->userTask = new \Doctrine\Common\Collections\ArrayCollection();в методе __construct, я исправил но проблема, к сожалению, не решилась.
Egor
Насколько я понял userTask у тебя не должен быть коллекцией
Andrey
https://symfony.ru/doc/current/doctrine/associations.html в доке One Category To Many Products и у них Products = new ArrayCollection
Andrey
Andrey
Andrey
Он ждёт сущность а я ему коллекцию
Egor
Тебе нужно выспаться, продолжи утром
Egor
Как проснёшься, перечитай https://www.doctrine-project.org/projects/doctrine-orm/en/2.6/reference/association-mapping.html
Гречушников
Салют
что то у меня тут гон какой то с переводами. можете чего подсказать?
1. в виолейшенах перевод есть
2. в детейле переводов нет
Гречушников
Гречушников
@Assert\Length(min="5", minMessage="admin::user::profile::credentials::pass_short")
Гречушников
$context
->buildViolation('admin::user::profile::credentials::password_old_error')
->atPath('old_password')
->addViolation();
Гречушников
какое то у всех разное поведение и хз куда смотреть
jenia
Как следа мультиязычность то при заходе перестало работать homepage route. Показывает страницу заглушку. Как такое можно исправит?
.exe
покажи как роуты реализовал
jenia
покажи как роуты реализовал
access_control:
- { path: ^/api/?$, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/api/auth, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/api, roles: IS_AUTHENTICATED_FULLY }
- { path: ^/(%app_locales%)/profile/, roles: ROLE_USER }
- { path: ^/(%app_locales%)/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/(%app_locales%)/contact, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/(%app_locales%)/oauth, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/(%app_locales%)/signup, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/(%app_locales%)/reset, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/(%app_locales%)/profile/, roles: ROLE_USER }
- { path: ^/(%app_locales%)/subscription, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/(%app_locales%)/order, roles: ROLE_USER }
- { path: ^/(%app_locales%)/upload/sound, roles: ROLE_USER }
- { path: ^/(%app_locales%)/logout, roles: ROLE_USER }
- { path: ^/(%app_locales%), roles: IS_AUTHENTICATED_ANONYMOUSLY }
jenia
.exe
наверное тебе стоит в роутах заменить {%app_locales%} на {_locale}
.exe
потому что, в другом случае пользы от defaults нету
jenia
jenia
https://medium.com/@phrase/your-guide-to-symfony-4-internationalization-beyond-the-basics-122c6a708c8
jenia
По этому туториьу делал. Но не установил twig/extension
jenia
Кажется что это не важно хотя могу ошибаться...
.exe
скрин routers.yaml можно увидеть?
.exe
Покажу как у меня.
Вот это в route.yaml
homepage:
path: /{_locale}
controller: App\Controller\IndexController::index
requirements: {_locale: "%router.locales%"}
defaults: {_locale: '%locale%'}
.exe
Вот annotations.yaml
.exe
controllers:
resource: ../../src/Controller/
type: annotation
jenia
.exe
ну так ты поменяй на свой
.exe
%app.locales%
.exe
у тебя он так называется
.exe
Что-то вот такое
index:
path: /{_locale}
controller: App\Controller\DefaultController::index
requirements: {_locale: "%app.locales%"}
defaults: {_locale: '%locale%'}
jenia
.exe
прошу прощения
.exe
app_locales
.exe
вместо точки нижняя черточка
.exe
должно работать
jenia
jenia
The controller for URI "/" is not callable. Controller "App\Controller\DefaultController" does neither exist as service nor as class
.exe
это не важно, это просто название роута
.exe
как у тебя называется контроллер в папке Controllers?
jenia
jenia
И аллилуйя!!
.exe
ну тогда так и укажи)
jenia
Заработало!
.exe
отлично)
.exe
Обьясню по поводу роута
index: <-- название роута, используется для редиректов в будущем
path: /{_locale} <- путь, в скобках указываешь переменные, например можешь еще добавить переменную {id} и потом ее в контроллере достаешь для отображения соответствующих данных, например /{_locale}/user/{id} а потом в методе ищешь по этом id юзера и его данные
controller: App\Controller\DefaultController::index <- это контроллер к которому роут прикреплен и через двоеточие метод контроллера в котором все это обрабатывется
requirements: {_locale: "%app.locales%"} <- говорит что нужно всегда иметь локаль для работы роута
defaults: {_locale: '%locale%'} <- указывает стандартную локаль, если юзер сам не указал
jenia
.exe
Пожалуйста)
Гречушников
"pass_short": "Минимальная длина пароля {{ count }} символов",
$context
->buildViolation('admin::user::profile::credentials::pass_short') // да, тут двоеточие
->setParameter('{{count}}', $count)
->atPath('old_password')
->addViolation();
{propertyPath: "old_password", title: "Минимальная длина пароля {{ }} символов"}
что я делаю не так?
Гречушников
в документации вроде все так же
$this->context->buildViolation($constraint->message)
->setParameter('{{ string }}', $value)
->addViolation();
Dmitry
"pass_short": "Минимальная длина пароля {{ count }} символов
->setParameter('{{count}}', $count)
х.з. влияет ли, но отсутствие/присутствие пробелов бросается в глаза
Гречушников
я пробовал