1

私はORMとしてPropelでSymfony1.4を使用しています。フロントエンドページのログインシステムを作成しました。ユーザーはそこでログインしてアカウントの詳細を編集できます。ページは、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");
}

しかし、私はこれが最善の方法だとは知りません。

4

2 に答える 2

4

テンプレートをアプリで上書きすることにより、テンプレートを変更できます。 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は、カスタムコードを変更して記述してください。

于 2010-11-13T11:14:00.977 に答える
0

ログを見て、404 アクションが見つからない理由、探しているものなどを確認する必要があります。

于 2010-11-16T08:53:29.873 に答える