2014-07-10 79 views
1

我有一個django-cms網站,我用/managers-home/創建了一個應用程序鉤子的頁面,這樣我就可以使用該頁面中的myappDjango-CMS apphooked模板顯示相同的佔位符內容

myapp/managers-home/下的各種URL上呈現各種模板,我希望這些模板中的每一個都有可通過django-cms內容插件進行編輯的部分。因此,我已將{% staticplaceholder "content" site %}添加到這些模板中,因爲據我瞭解,您不能在掛鉤的應用程序中使用標準​​。

我做了這個一個開始,並添加一些文字佔位符上/managers-home/page-1/它採用page-1.html然後,當我到佔位符上/managers-home/page-2我已經可以看到頁面-1的含量,儘管現在使用page-2.html所以預留位置這兩個單獨的模板正在被共享。

如何在我的應用程序模板中正確添加django-cms佔位符?

回答

2

原來我的問題是,static_placeholder就是這樣,只是一個由給定名稱標識的佔位符,並且您引用該名稱的任何地方都會得到相同的內容。

因此,爲了讓我的每個模板都能顯示自定義文本,我爲每個模板創建了一個static_placeholder。

# page-1.html 
{% static_placeholder "page-1" site or %} 
    Default text goes here 
{% endstatic_placeholder %} 

# settings.py 
CMS_PLACEHOLDER_CONF = { 
    'page-1': { 
     'plugins': ['TextPlugin', 'UploadedPicturePlugin'], 
     'text_only_plugins': ['LinkPlugin'], 
     'extra_context': {"width": 640}, 
     'name': gettext("Content"), 
    } 
} 
+0

嘿馬克,我面臨同樣的問題,我在newsblog應用程序中的所有文章都使用相同的模板。當我無法爲每篇文章製作模板時,您是否知道如何爲每個佔位符自定義內容? – Nate

+0

@Nate如果你有一個應用程序呈現來自'News'模型的對象的內容我想你的新聞對象使用'PlaceholderField',所以你不必擔心'static_placeholder'? –

+0

我有aldryn_newsblog應用程序,所以我最終修改了site-package,這不是我理想的解決方案,而是最乾淨的 – Nate