2011-01-20 73 views
1

簡而言之,這是一個調查實驗室的網站。 我需要向特定用戶顯示特定內容(實驗室報告)。用戶在離開時將被給予用戶名和密碼,並將被要求在網站上登錄以使用提供給他的憑據訪問他/她的報告。在Joomla 1.5中向特定用戶顯示特定內容

因此,這是「特定用戶」的「特定內容」 - 移至1.6不是一種選擇。

我有一個解決方案,但涉及大量的核心黑客攻擊,並且需要一些時間......如果任何人遇到過類似的情況或想到了一個想法,我將非常感謝您的幫助。

回答

2

好吧,這是可以做到的,但它會採取一些弄虛作假獲得那裏。首先,您將需要一種方式來發布實驗報告並將其與用戶相關聯。因爲您可以將報告作爲附件添加到項目,所以我會使用K2。您還可以向K2添加額外的字段,這將是下一步。您需要一個額外字段,您可以在其中輸入用於確定用戶是否被允許查看內容的用戶ID號。

您需要採取幾個步驟來過濾內容,以便只有關聯的用戶才能看到它。

  1. 您將需要獲得用戶ID,一旦用戶登錄:

    $ USER = & JFactory ::的getUser();

    $ usr_id = $ user-> get('id');

  2. 您需要一個鏈接到所有實驗室報告的K2類別的菜單項。

  3. 你需要一個子模板與該類別僅顯示聯營報告修改category_item.php:

    如果($這個 - >用品 - > extra_fields [USER_ID_EXTRA_FIELD_NAME] == $ usr_id){

    所有類別商品的東西

    }

  4. 你需要比相關的用戶之外的修改item.php該類別一遍阻止用戶一個子模板,基本上與#3相同的代碼顯示內容或錯誤消息。

我能想到的唯一的另一種方式就是可以完成這個任務,就是對每個用戶使用一個ACL組件。

帶有子模板的K2方法不需要任何核心黑客,只需要一點工作。

+0

這是相當令人印象深刻的使用K2 +模板覆蓋 - 我喜歡你的想法。感謝分享布倫特! – mozami 2011-01-21 21:48:28

0

不良信息:無法使用標準的Joomla 1.5(無黑客攻擊) 好消息:您可以使用Joomla的免費或商業擴展之一來實現。我建議,例如:

管理員,用戶訪問 http://extensions.joomla.org/extensions/access-a-security/backend-a-full-access-control/9040

或者你可以搜索自己: http://extensions.joomla.org/extensions/access-a-security/backend-a-full-access-control

+0

我已經檢查了JED上的每個插件......這不能使用建議的擴展來完成,因爲它會涉及到爲每個用戶創建一個用戶組。感謝您的建議,雖然... – 2011-01-21 00:30:32

1

你可以達到你想要Flexicontent http://www.flexicontent.org/和Flexiaccess

Flexicontent什麼是K2型元件,和我互換使用它們。藉助Flexiaccess,您可以創建僅供特定用戶使用的項目。

不需要任何hacks。

+0

這不會與其他ACL具有相同的問題嗎?你需要爲每個用戶權利組? – 2011-01-22 02:33:26

相關問題