1

パーシャルまたはスロットを使用して変数をテンプレートに渡すことについて、ここにいくつかのスレッドがあることを知っています。私の質問は、その変数をどのように定義して、どのページにいても変数にアクセスできるようにするかということです。各アクションが「拡張」することは知ってsfActionsいますが、それにアクセスしてサイト全体のアクションを設定する方法はありますか?

編集:

すべてのユーザーには、すべてのページの上部に表示したい sfUser テーブルのフィールドがあります。使用したいコードは次のとおりですが、テンプレート ページのパーシャルに配置する場所や渡す方法がわかりません。

$this->user = $this->getUser()->getGuardUser();
$this->activeitems = $this->user->getActiveItems();
4

1 に答える 1

1

すべてのテンプレートで、 を使用してユーザー情報にアクセスできます$sf_user。オブジェクトを返しmyUserます。

sfGuard をインストールした場合、このクラスは extends になりsfGuardSecurityUserます。そして、このクラス内で、メソッドを使用して sfGuardUser オブジェクトを取得できます->getGuardUser()

したがって、テンプレート内でこの情報を取得するには、次のようにします。

$activeitems = $sf_user->getGuardUser()->getActiveItems();
于 2012-11-04T17:26:35.943 に答える