2016-04-04 14 views
0

'da her eklentiyi ayrı ayrı Django CMS'mdeki bir sayfaya eklenen her eklentiyi belirli bir HTML'ye sarmak istiyorum.Django CMS

: Yani, bir şablonla

<p>Lorem ipsum</p> 

ve

<p>dolor sit amet</p> 

aslında şöyle bir sayfa olarak işlemek için dediğiniz gibi işlemek sayfadaki

<body> 
    {% block content %}{% endblock content %} 
<body> 

Ve TextPlugin elemanları başlayan

<body> 
    <div class="wrapper"><p>Lorem ipsum</p></div> 
    <div class="wrapper"><p>dolor sit amet</p></div>  
</body> 

I djangocms-cascade bir göz vardı, ama tam olarak ne aradığımı sağlamaz ve göçler benim django-cms 3.2.1 üzerinde başarısız.

cevap

3

Django-cms için Eklenti İşlemcileri'ne bir göz atın. sizin settings.py olarak http://docs.django-cms.org/en/3.2.2/how_to/custom_plugins.html#plugin-processors

Bkz:

from django.template import Context, Template 

def wrap_plugin(instance, placeholder, rendered_content, original_context): 
    t = Template('<div class="wrapper">{{ content|safe }}</div>') 
    c = Context({ 
     'content': rendered_content 
    }) 
    return t.render(c) 
: En yourapp.cms_plugin_processors.py olarak

CMS_PLUGIN_PROCESSORS = (
    'yourapp.cms_plugin_processors.wrap_plugin', 
)