2012-12-13 4 views

답변

0

내가 이것에 대한 솔루션을 찾고 있었고, 난 확인하는 대신 몇 가지 대안을 발견 자리 표시자가있는 경우 기본적으로 아이디어는 다른 HTML을 추가하는 대신 다른 플러그인을 사용하는 것입니다. pip로 설치할 수있는 패키지가 몇 가지 있습니다. 자, 시도한 후, 나는 그저 그것을 직접했고 패키지을 사용하는 것보다 훨씬 쉽습니다.

  1. cmsplugin-text-wrapper : 그것은 편집기를 지키는 존재 장고-CMS를 기본 텍스트 플러그인을 통합하지만 당신이 wrapper를 선택할 수 있도록 상단에 선택기를 추가합니다. wrapper에는 추가하려는 html이 포함되어 있습니다. 또한 클래스를 추가하는 멋진 CSS 시스템이 있습니다. 단점은 추가 템플릿 선택기로 편집자 생활을 더욱 어렵게 만들고 싶지 않았기 때문입니다.

  2. cmsplugin-text-ng : 기본적으로 새 플러그인이 추가됩니다. 플러그인을 플레이스 홀더에 추가하면 사용 가능한 템플릿 (추가 HTML 포함)이있는 선택기가 표시됩니다. 내가 정말 좋아하는 부분은 사용자 정의 된 HTML에서 사용할 수있는 추가 필드를 추가 할 수 있다는 것입니다. 예를 들어, 플러그인에 추가 텍스트 필드가 표시되도록 제목을 추가 할 수 있습니다. 아래쪽에있는 템플릿은 관리자를 통해 데이터베이스에 저장됩니다. 그것은 데이터베이스에 추가 공격이며, 나는 너무 단순한 것을 위해 그것을 희생하기를 정말로 원하지 않는다.

  3. Do your own plugin 기존 텍스트 모델을 사용하십시오. 네 아주 간단한 단계 :

    3.1은 기본적으로 당신의 cms_plugins.py이 추가 :

    from cms.plugin_pool import plugin_pool 
    from cms.plugins.text.models import Text 
    from cms.plugins.text.cms_plugins import TextPlugin 
    
    class WidgetPlugin(TextPlugin): 
        model = Text 
        name = _("Widget") 
        render_template = "widget.html" 
    
        def render(self, context, instance, placeholder): 
         context['instance'] = instance 
         return context 
    
    plugin_pool.register_plugin(WidgetPlugin) 
    

    3.2은 widget.html 템플릿을 작성하여 templates 폴더에 :

    <div class="in"> 
        ... 
         ... 
          {{ instance.body|safe }} 
         ... 
        ... 
    </div> 
    

    3.3 놓습니다 자리를 당신이 원하는 목적지 :

    {% placeholder 'Head_text' %} 
    

    3.

    CMS_PLACEHOLDER_CONF = { 
        #... 
        'Head_text': { 
         'plugins': {'WidgetPlugin'} 
        }, 
    } 
    
0

이전에이 문제가 있었는데 조사한 후에 (이렇게 변경되었을 수 있음)이 작업을 수행하는 방법이 내장되어 있지 않으므로 직접 템플릿 태그를 작성하여 변수에 자리 표시자를로드해야합니다. . 여기

은 장고-CMS를 메일 링리스트에 대한 몇 가지 논의 있습니다

+0

당신이 ([여기]에 게시 링크 https://groups.google.com/forum/#!topic/ : 4 사용자가 settings.pyHead_text 구성 플러그인을 추가하는 새로운 플러그인을 사용하십시오 django-cms/WDUjIpSc23c/discussion)가 작동하지 않습니다 (https://gist.github.com/1818976). 어디에서 템플릿 태그의 코드를 찾을 수 있습니까? –