установить пользовательское перенаправление ошибок в Symfony? - PullRequest
1 голос
/ 13 ноября 2010

Я использую Symfony 1.4 с Propel в качестве ORM. Я создал систему входа в систему для своей страницы веб-интерфейса, где пользователь может войти в систему и отредактировать там данные своей учетной записи. Страница настроена с помощью Permission = "user" и Group = "user". Но при входе в систему с пользователем, который не принадлежит к этой группе, перенаправляет на страницу по умолчанию symfonys (показывая, что у пользователя нет учетных данных для просмотра этой страницы). Могут ли эти страницы быть настроены и установить наши собственные пользовательские сообщения ... и как мы можем настроить пользовательские страницы ошибок ??

код, который я использовал,

if($this->getContext()->getUser()->hasCredential("user"))
{
    $user_name=$this->getUser()->getGuardUser()->getUsername();
    $this->name=$user_name;
}
else
{
    $this->forward("userlogin", "error");
}

но я не знаю, это лучший способ ..

Ответы [ 2 ]

4 голосов
/ 13 ноября 2010

Вы можете изменить шаблоны, переписав их в своем приложении: apps/<appname>/modules/default/templates/error404Success.php

Чтобы просмотреть список возможных шаблонов, посмотрите: lib/vendor/symfony/lib/controller/default/templates/

Теперь о полномочиях.В файле apps/<appname>/config/settings.yml:

# ...

all:
  # ...

  .actions:
    login_module:           sfGuardAuth   # Change this to whatewer You want.
    login_action:           signin        # Change this to whatewer You want.

    error_404_module:       default       # Change this to whatewer You want.
    error_404_action:       error404      # Change this to whatewer You want.

Так что, если вы хотите изменить только шаблон - измените только шаблон.Но если вы хотите что-то более мощное - измените settings.yml и напишите собственный код.

0 голосов
/ 16 ноября 2010

Вы должны просмотреть журналы, чтобы понять, почему он не находит ваше действие 404, что он ищет и т. Д.

...