2016-10-10 7 views
0

Joomla 3.6のさまざまなユーザーグループに対して顧客エラーメッセージを設定しようとしています。私たちはサイトのフロントエンドにコンテンツをロックしていますが、現在はログインするようにユーザーに知らせる一般的なメッセージがありますが、最近はログインした後でもユーザーグループが複数のレベルのアクセスを作成するように調整しましたユーザーが見ることができないコンテンツであること。そのような場合、一般的な「ログインしてください」ではなく、そのユーザーグループに固有のメッセージを表示できる必要があります。特定のユーザーグループのJoomlaエラーメッセージ

以前はカスタムメッセージにLanguage Overridesを使用しましたが、特定のグループに表示するオプションはありません。私はコードについてよく知らないし、Googleはこれに関する既存の答えを明らかにしていない。

答えて

0

これは、あなたが軌道に乗るために何かあるかもしれない:あなたが達成することは容易ではないでしょう

$groups = JUserHelper::getUserGroups((int) $user->user_id); 

if(in_array(8, $groups)) 
{ 

    $level = 'admin'; 

} elseif (in_array(4, $groups)) { 

    $level = 'globalmoderator'; 

} elseif (in_array(3, $groups)) { 

    $level = 'moderator'; 

} elseif (in_array(2, $groups)) { 

    $level = 'user'; 

} else { 

    $level = 'guest'; 

} 
+0

ありがとうございました!どこにこれを適用するのですか? –

+0

テンプレートオーバーライドファイル –

0

をいくつかのプログラミングなし。しかし要するに、Joomlaの特定のイベントをキャプチャするかなり単純なプラグインを作成することができます。

たとえば、JoomlaにはonUserLogin evenがあります。これにより、ユーザーがログインするときに別の作業を行うことができます。カスタムプラグインでこれを取得し、パラメータを確認してグループ固有のメッセージをキューに追加できます。さらに、現在のメッセージキューを取得したり、解析したり空にしたり、グループ固有のメッセージを追加することができます。

他のJoomlaのイベント(onUserLogout、onUserLoginFailureなど)でも同じ操作を行うことができます。選ぶべきたくさんのイベントがあります。

メッセージ特定のグループについては、あなたがこれに似た独自の汎用的なメッセージを追加することができますが:

COM_USERS_ERROR_LOGIN_GUEST

COM_USERS_ERROR_LOGIN_REGISTERED

COM_USERS_ERROR_LOGIN_ADMIN

次に、あなただけの「COM_USERS_ERROR_LOGIN_を取ります"文字列を追加し、グループ名(またはID、言語が英語以外)を入力します。それでおしまい。

タスクは複雑すぎるようには見えませんが、Joomlaのイベントをキャプチャするプラグインを作成するには、まだいくつかのコーディングが必要です。これを行う方法は他にありません。

0

メッセージの記事を使用し、ユーザーグループのアクセス許可でそれをフィルタリングしてみてください。

+0

で使用できます。この時点で、これは私がやろうとしているようです。私は彼に現在表示されているメッセージを一般的なものに変更し、次にユーザーグループの権限をモジュール経由で変更して、特定のグループに特定のアクションを促すよう促します。 –

関連する問題