2013-02-25 1 views
1

내 손재수 콘텐츠 형식의 제목에 대한 HTML이 생성되는 방식을 사용자 지정하고 싶습니다. 제목 표시 방법을 사용자 정의하려면 어떻게해야합니까?

은 내가 metadata.IBasic 동작을 사용하는 유형에 대한 뷰 템플릿 작성 :

<html ...> 
    <body> 
    <metal:content-core fill-slot="content-core"> 
     <metal:content-core define-macro="content-core"> 
     <div id="conent-images">...</div> 
     ... 
     <div id="content-metadata"> 
      <h1 tal:content="context/title">Title</h1> 
      ... 
     </div> 
     ... 
     <div id="content-body">...</div> 
     </metal:content-core> 
    </metal:content-core> 
    </body> 
</html> 

을하지만 플론 (Plone)는 두 번 제목을 렌더링합니다. 제목의 첫 번째 유령을 제거하려면 어떻게해야합니까?

+0

스 니펫 사이의 요소 이름 만 변경했습니다. 그들은 의미가 없습니다. 'fill-slot'과'define-macro' 속성의 값을 대신 바꾸려고 했습니까? –

+0

네, 여기에 실수를했습니다. 나는 그것을 고쳤다. –

+1

제목을 모두 * 생략하지 않는 이유는 무엇입니까? 'content-core' 슬롯을 채우는 것이 이미 당신에게 타이틀을 제공하고 있습니다. :-) –

답변

1

그 코드로 content-core 슬롯을 채우고 있습니다. 템플릿에 대한 기본 레이아웃 인 레이아웃에 several slots이 정의되어 있습니다. content-title, content-description y content-core입니다.

최초의 유령을 제거하려면 content-title 슬롯을 아무 것도 채울 수 없습니다.

<html ...> 
    <body> 
    <metal:content-core fill-slot="content-title"> 
     <metal:content-core define-macro="content-title"> 
     </metal:conent-core> 
    </metal:conent-core> 
    <metal:content-core fill-slot="content-core"> 
     <metal:content-core define-macro="content-core"> 
     ... 
     <h1 tal:content="context/title">Title</h1> 
     ... 
     <div id="content-body">...</div> 
     </metal:content-core> 
    </metal:content-core> 
    </body> 
</html> 

다른 솔루션은 슬롯이 정의 된 템플릿을 편집이지만,이 솔루션은 나를 위해 충분하다.

관련 문제