ロールランディングページ


10

Magentoバックエンドをさまざまな用途に使用するさまざまなユーザーがいます。

たとえば、基本的にパッケージを発送するだけの人がいて、実際に見てもらいたいのは発送ページだけです。そのページだけでなくても、ログインするとそこに着陸するはずです。

この設定を取得しようとしたときに、新しいユーザー「ship」を作成し、それを新しい役割「shipper」に関連付けました。この役割には、リソース「販売」->「出荷」へのアクセスが許可されています。

船としてログインしました。パーフェクト!出荷グリッドに着陸し、出荷を開始することができました-その後、問題に気付きました。このユーザーは追跡情報を送信できませんでした。これは、この役割に必須です。

このボタンを取得して、役割リソースの[販売]-> [注文]-> [アクション]-> [販売メールを送信]を有効にすることで、出荷画面に表示/機能させることができました。

ただし、出荷時にログインすると、出荷グリッドではなく注文グリッドにダンプされます。それは単に、「注文」が「発送」よりもリソースツリーで上位にあるためだと思います。本当?

簡単に言えば、特定の画面/グリッドに管理ユーザーを引き寄せる効果的な方法はありますか?

できれば、構成画面内から-これが開発者の1人によって実装できることは間違いありません。

これらのユーザーを99%の時間に必要な場所に配置することで大幅に合理化できる、私たちが必要とするさまざまな役割がいくつかあります。


1
@ j0k:すべての投稿を編集しますか?
user487772 2013年

@Timがすべてではなく、タイプミスのあるもののみ。
j0k 2013年

回答:


8

これを行う1つの方法を次に示します。

  • 管理者がログインするとき、つまりadmin_session_user_login_successイベントを監視するオブザーバーを作成します
  • 現在の管理者の役割を確認するには、次のコードを使用します。

    $roleId = implode('', Mage::getSingleton('admin/session')->getUser()->getRoles());
    $roleName = Mage::getModel('admin/roles')->load($roleId)->getRoleName();
  • ロールに基づいて目的のページにリダイレクトし、次のコードを使用します。

    Mage::app()->getResponse()
               ->setRedirect(Mage::helper('adminhtml')
               ->getUrl("admin/sales_order/view", array('id'=>'1')));

これがお役に立てば幸いです:)


興味深い-これは「秘密鍵をURLに追加」機能を有効にしても機能しますか?
blckgrffn 2013年

動作するはずですが、テストはしていません
pzirkind 2013年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.