1
我想知道是否有django-cms內置方式顯示/不顯示用戶的佔位符或插件,具體取決於其相關組。Django CMS限制某些羣組佔位符/插件的視圖
例如:我有一個電子商務網站,在產品頁面中,我想在側邊欄佔位符中顯示一個特殊優惠插件,用於僅屬於「訂閱者」組的用戶,因此不是用戶部分內容不會在邊欄中看到插件
我應該如何在模板中創建條件,以便根據組顯示不同的佔位符,還是有更好的方法?
我想知道是否有django-cms內置方式顯示/不顯示用戶的佔位符或插件,具體取決於其相關組。Django CMS限制某些羣組佔位符/插件的視圖
例如:我有一個電子商務網站,在產品頁面中,我想在側邊欄佔位符中顯示一個特殊優惠插件,用於僅屬於「訂閱者」組的用戶,因此不是用戶部分內容不會在邊欄中看到插件
我應該如何在模板中創建條件,以便根據組顯示不同的佔位符,還是有更好的方法?
假設您的特價商品插件是您寫的自定義插件,您可以簡單地覆蓋插件的render
方法。
class SpecialOffers(CMSPluginBase):
...
def render(self, context, instance, placeholder):
context = super(SpecialOffers, self).render(context, instance, placeholder)
# grab user from context
request = context.get('request', None)
user = request and request.user
# check user related group condition
context['show_special_offers'] = False
if user and user.in_right_group():
context['show_special_offers'] = True
return context
然後,您可以在模板的特殊優惠插件使用show_special_offers
,以確定是否應給予特別優惠插件的內容。