我開始使用django CMS項目。這很棒,用模塊化設計牢記在心......但實際上我們的客戶想要的是更簡單:django-cms中的默認內容插件
在這裏,在django CMS中,每個頁面可以包含許多內容'插件' - 無論是文本,圖像還是其他。但客戶希望有一個文本插件處於活動狀態,爲每個新頁面自動選擇和創建 - 並在該文本字段上工作。這對他們來說簡單些。
任何人在使用這個CMS系統之前都做過類似的事情嗎?或者,您可以推薦任何其他簡單的django CMS解決方案?
我開始使用django CMS項目。這很棒,用模塊化設計牢記在心......但實際上我們的客戶想要的是更簡單:django-cms中的默認內容插件
在這裏,在django CMS中,每個頁面可以包含許多內容'插件' - 無論是文本,圖像還是其他。但客戶希望有一個文本插件處於活動狀態,爲每個新頁面自動選擇和創建 - 並在該文本字段上工作。這對他們來說簡單些。
任何人在使用這個CMS系統之前都做過類似的事情嗎?或者,您可以推薦任何其他簡單的django CMS解決方案?
最快的,但可能不是最優雅的方式是:
它是這樣的:
# anywhere in your project, for example, site/admin.py
from cms.models import Page
from cms.admin.pageadmin import PageAdmin
class ModPageAdmin(PageAdmin):
class Media:
js = ('js/cms.page.js',)
admin.site.unregister(Page)
admin.site.register(Page, ModPageAdmin)
# in MEDIA_URL/js/cms.page.js
$(document).ready(function(){
ph = $("div.form-row.main") // replace "main" with your placeholder name, lower-case
$("select", ph).val('TextPlugin')
window.setTimeout(function(){ $("span.add-plugin", ph).click() }, 500)
})
你甚至不需要CMS模塊?
最基本的CMS的是幾乎微不足道的使用超出現成的Django:
class ContentPage(models.Model):
title = models.CharField(max_length=100)
content = models.TextField()
slug = models.SlugField()
def view_page(request, slug='home'):
return render_to_response('content.html',
{ 'page': ContentPage.objects.get(slug=slug) },
context_instance=RequestContext(request)
)
只需使用Django管理上手。但是,如果你想要更多,而不是給他們管理員,很容易敲一個窗體/動作來編輯這些字段。
如果您需要wysiwyg編輯,添加tinymce到表單模板。喜歡的東西:
<script type="text/javascript" src="{{MEDIA_URL}}tiny_mce/tiny_mce.js"></script>
<script type="text/javascript">
tinyMCE.init({...
,或者如果你還在通過管理編輯通過網頁就可以把拇指姑娘太
class Media:
js = (
settings.MEDIA_URL + "jquery/jquery.js",
settings.MEDIA_URL + "tiny_mce/tiny_mce.js",
settings.MEDIA_URL + "js/admin.js"
)
有一個簡單的方法來實現相同的功能:
提供了大量的「原型頁」,一個頁面模板,你想提供給客戶實例化插件的每個組合。
讓客戶通過複製模板頁面(可以通過頁面管理中的複製圖標完成)來創建新頁面,而不是從頭開始創建新頁面。通過這種方式,所需的插件將已經存在,即使有默認內容也是如此。
django CMS 3。0支持默認插件佔位符:
http://docs.django-cms.org/en/stable/reference/configuration.html#placeholder-default-plugins
這不是一個答案卻可能是hlpful:http://www.django-cms.org/en/documentation/2.0/configuration/#cms-placeholder- CONF – dzida 2010-08-27 13:24:12