Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Установить собственное перенаправление ошибок в symfony?

Автор вопроса: Harish KurupОтветов: 2

Я использую 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");
}

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

phpsymfony1sfguard

Ответы

Ответ 1 · рейтинг 4 · petraszd

Вы можете изменить шаблоны, перезаписав их в своем приложении: 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 и напишите собственный код.

Ответ 2 · Gregoire

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

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы