私のプロジェクトはSymfony 1.3.11を使用しています。PHPのバージョンは5.3.3です。Symfony 1.3:バックエンドフィルタフィールドのデータをオーバーライドする必要があります
は私が私の場合、私の問題を説明してみましょう:
- 我々はユーザーの別の種類だけでなく、「ユーザー」と「管理者」(コマンドでsfGuardPluginを使用)を追加したいです。私は "ビジネス"を追加しました。そして、私は彼に管理モジュールの1つだけに許可を与えました - "購入"(自分自身といくつかの条件の下で - サイト上で他人の購入を行います)。
- 「ビジネス」ユーザーは、サイトに登録されている1つ以上のパートナー(企業)に関連付けることができ、ビジネスオーナーまたは代理人を効果的に扱うことができます。
- "ビジネス"ユーザーが管理セクションにアクセスするとき、彼が見た購入のリストは、以下の通りでなければなりません:彼と関連付けられたすべてのパートナーのすべての製品のすべての購入。 (まったく些細な質問ではない)。
- 私はそれを愚かなやり方で考えましたが、 "アプリ/バックエンド/モジュール/購入/アクション/ actions.class.php#executeIndex"をオーバーライドしました。私はまず、そのメソッドのバージョンからいくつかのコードをキャッシュにコピー・ペーストしなければなりませんでした。要するに、私は "executeIndex"に自分自身をフックし、適切なCriteriaを実行するためのコードを追加し、コードが機能します。
問題は今、このです:
リストの上にフィルタフィールド(製品のリストを含む1)が可能なすべての製品が含まれていません。現在のユーザーが関連付けられているすべてのパートナーのすべての製品のみを含むようにします。
これは、管理者のフィルタを上書きしなければならないことです。コードをどこに接続すればいいのか分かりません。
何か助けていただければ幸いです。御時間ありがとうございます。
更新日:奇妙なことに非常に人気のない質問です。誰もこれをしなければならなかったのですか?ワオ。
誰もsymfony 1.xをもう使用したくないと思うでしょう; P –
それは本当です。幸い、私はずっと前に移動しました。 ;) – dimitarvp
悲しいことに、まだ贅沢はまだありません(まだいくつかのレガシーコード):( –