2011-07-06 3 views
3

Plone3 + collective.xdv에서 일부 양식의 스타일을 지정하고 싶지만 모든 양식이 특수한 스타일을 얻길 바라지는 않습니다.XDV를 사용하여 본문 요소에 클래스 추가하기

  • 접촉 정보
  • sendto_form
  • PFG는
  • 를 형성 :

    그래서 특정 템플릿을 표시 바로 body 요소의 class 특성에 특별한 styled-form 클래스 이름을 추가 할

그래서 나는 이러한 템플릿을 수정하지 않기 위해 XDV에서이 작업을 수행 할 수 있다고 생각했습니다. 그 템플릿이 표시 될 경우, 내가 확인할 수 있습니다 XDV 규칙에 if-content 지시어를 사용하여

: 예를 들어

css:if-content="body.template-contact-info" 

. 플론 (Plone)에 의해 전달 그 조건에 따라 특별한 클래스를 추가

하지만 로가는 길을 찾을 수없는 클래스 속성을 유지한다. 사전에

<body class="template-contact-info styled-form"> 
    ... 
</body> 

감사 :

내 원하는 결과가 무엇인가와 같은 것입니다. 디아 조 /이 템플릿 및 콘텐츠의 속성을 병합 할 수 있습니다 plone.app.theming와

답변

3

, 참조 : 당신이 다음 업그레이드 할 수없는 경우 http://diazo.org/basic.html#merge

당신이 인라인 XSL이 작업을 수행해야합니다, 같은 :

<prepend theme="/html/body" css:if-content="body.template-contact-info"><xsl:attribute name="class"><xsl:value-of select="/html/body/@class"/> styled-form</xsl:attribute></prepend> 

업데이트 : 나는 위의 예에서 태그를 잊어 버렸습니다. 이제는 효과가있다.

+0

* 거의 * 작동합니다. 그것은 결과 값을 텍스트 노드에 추가합니다 :'' template-contact-info styled-form ...''XDV에 ''class'' 속성 안에있는 것인가? – marcosfromero

+0

당신이 그것을 얻을 수 있다고 생각 : styled-form

+0

@ davi-lima : 아니요, 분명히''theme''는 속성을 제외한 모든 요소를 ​​허용합니다. 디아 조의 "병합"규칙이 효과가 있다고 생각합니다. 하지만 디아 조가 없지만 collective.xdv – marcosfromero

관련 문제