我正在嘗試爲Joomla 3.6中的不同用戶組設置客戶錯誤消息。我們在我們網站的前端鎖定了內容,目前有一條通知消息告訴用戶登錄查看它,但是我們最近調整了我們的用戶組以創建多個訪問級別,因此即使登錄後仍然可能仍然存在被用戶無法看到的內容。在這些情況下,我需要能夠顯示特定於該用戶組的消息,而不是通用的「請登錄」。針對特定用戶組的Joomla錯誤消息
我之前使用過語言覆蓋來定製消息,但沒有選擇,我發現它已經顯示給特定的組。我對代碼並不瞭解,Google也沒有透露現有的答案。
我正在嘗試爲Joomla 3.6中的不同用戶組設置客戶錯誤消息。我們在我們網站的前端鎖定了內容,目前有一條通知消息告訴用戶登錄查看它,但是我們最近調整了我們的用戶組以創建多個訪問級別,因此即使登錄後仍然可能仍然存在被用戶無法看到的內容。在這些情況下,我需要能夠顯示特定於該用戶組的消息,而不是通用的「請登錄」。針對特定用戶組的Joomla錯誤消息
我之前使用過語言覆蓋來定製消息,但沒有選擇,我發現它已經顯示給特定的組。我對代碼並不瞭解,Google也沒有透露現有的答案。
這可能是一個讓你去:
$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';
}
沒有一些規劃,它會不會容易爲你實現。但簡而言之,您可以創建一個非常簡單的插件,它將捕獲某些Joomla事件。
例如,Joomla甚至擁有onUserLogin,當用戶登錄時,它允許您執行不同的操作。您的自定義插件甚至可以捕獲這些內容,檢查某些參數,然後將特定組的消息添加到隊列中。更重要的是,您可以獲取當前的消息隊列,解析或清空它,然後添加組特定的消息。
對於任何其他Joomla事件,如onUserLogout,onUserLoginFailure等,您都可以做同樣的事情。有很多活動可供選擇。
至於消息特定羣體,你能不能加入自己的泛型消息是:
COM_USERS_ERROR_LOGIN_GUEST
COM_USERS_ERROR_LOGIN_REGISTERED
COM_USERS_ERROR_LOGIN_ADMIN
然後你只需要「COM_USERS_ERROR_LOGIN_ 「字符串並添加一個組名(或ID,當語言是非英語)。而已。
這個任務似乎不太複雜,但你仍然需要知道一些編碼來創建一個插件,它將捕獲Joomla事件。沒有其他辦法可以做到這一點。
嘗試將文章用於消息並使用用戶組的權限進行過濾。
在這一點上,這看起來是我要做的。我會將他當前顯示的消息更改爲通用,然後通過模塊提供用戶用戶組權限,以提示特定組採取特定操作。 –
謝謝!我會在哪裏申請這個? –
你可以在你的模板覆蓋文件中使用它 –