Я пытаюсь получить данные для нового поля, добавленного на странице входа в систему. что я сделал:
- Изменение
AccountController.php
функции входа добавление нового параметра:$this->_app->login($user, $client, !empty($data['rememberme']))
- В
Userfrosting.php
функции входа я установил его в приложении:$this->client = $client;
- В
setupTwigUserVariables
funtion добавлен twig global:$twig->addGlobal("client", $this->client);
Проблема в том, что в шаблоне {{client.id}}
ничего не возвращает. Любая помощь будет оценена по достоинству.
В UserFrosting 4 необходимо создать расширение веточки в каталоге Sprinkle
src/Twig/
и добавить переменную в возвращаемое значениеgetGlobals
.Ваша ситуация немного сложнее, так как я не уверен, как
client
может быть глобальной переменной, но в то же время зависеть от$data['client_id']
— который кажется параметром запроса. На данный момент я предполагаю, что вы отправляете этот параметр с любыми запросами, для которых требуетсяclient
переменная.Затем вам нужно будет зарегистрировать это расширение в классе поставщика услуг Sprinkle:
Да, я знаю, что здесь много шаблонных листов. Однако после того, как вы настроили их в первый раз, легко добавить новые переменные/функции/фильтры в среду Twig и новые услуги в вашем Sprinkle в будущем.