2011-03-01 58 views
0

可能重複:
One-To-Many member-to-articles relationship表達式引擎成員類別的渠道關係

我們是新的表達式引擎和也許可以使用來自任何人一些幫助誰已經使用內置了幾個網站這個CMS。

我們有一個小型儀表板系統,用戶登錄並閱讀其他作者提交的文章。我們希望有一個表格,允許會員在登錄時選擇他希望在他的主頁上登錄哪些類別的文章。然後,我們想知道如何真正創建該主頁,以便只有用戶選擇的文章類別是可見的。

從數據庫的角度來看,這似乎是用戶和類別之間的一對多關係,但我們不知道如何在ee內部完成這項工作,特別是使用成員,因爲它不是一個渠道,也不是似乎允許在成員自定義字段中創建關係。

我們着眼於爲每個分類類型創建一個自定義字段,但大約有95個,而當我們添加或刪除它們時,嘗試跟上它們全部是非常麻煩的。即使我們做了,我們仍然不確定如何通過一個類別將1個成員連接到多個類別或許多條目。

總而言之,想法是使用登錄成員獲得文章的快速列表,這些文章已被分配到多個類別中的一個,這些類別已被登錄成員選爲偏好。

+0

該死的喬,我把問題標記爲重複的內容,後來認出你。 http://stackoverflow.com/questions/5158183/one-to-many-member-to-articles-relationship – 2011-04-07 18:14:54

回答

1

創建一個窗體,以多選或複選框格式顯示登錄用戶的所有可用類別(使用channel:categories)。將該表單POST到一個模板,該模板具有啓用PHP的功能,或者包含簡單自定義插件的插件標記...要麼應該獲取已發佈的類別數組,要將它們連接到管道分隔列表中,並將其插入一個簡單的新數據庫表(使用member_id(使用{logged_in_member_id}變量,或使用PHP模式,$this->EE->session->userdata['member_id'])和類別列表作爲列),或者理想地(但更簡單地)將它們放在cookie中。

然後,您可以將該類別列表從數據庫或cookie中取出,並將其用作通道:entries標記中的"category" parameter

+0

哎呀,我確實在問問題之前很久就使用了管道分隔列表。你不能使用插件來完成它,因爲你需要使用擴展插入到呼叫中,或者使用來自模塊的動作ID;插件只在模板被解析時執行,並且POST調用時沒有模板 – 2011-04-02 09:05:58

+0

實際上,確實可以使用插件方法來處理POST請求。只需發佈到包含該方法的插件標籤的模板(通過action =「my_template」),在插件方法中使用$ _POST進行工作,然後讓插件執行重定向。 – 2011-04-04 05:56:15