xslt에서 직접 문서 유형 속성 값을 설정할 수 있습니까? 내 페이지의 페이지 제목은 xslt 결과에 따라 변경해야하며 페이지 제목은 속성을 통해 설정됩니다.Umbraco : xslt에서 문서 속성 설정
잠시 인터넷 검색을하고 있었지만 찾고있는 것을 찾지 못했습니다. 그래서 여기 umbraconians에게 물어볼 생각입니다!
감사합니다.
xslt에서 직접 문서 유형 속성 값을 설정할 수 있습니까? 내 페이지의 페이지 제목은 xslt 결과에 따라 변경해야하며 페이지 제목은 속성을 통해 설정됩니다.Umbraco : xslt에서 문서 속성 설정
잠시 인터넷 검색을하고 있었지만 찾고있는 것을 찾지 못했습니다. 그래서 여기 umbraconians에게 물어볼 생각입니다!
감사합니다.
알고있는 한 xslt는 읽기 전용입니다. 매크로에서 제목으로 표시되는 내용을 조건부로 변경하거나 (이 경우 다른 제목을 표시하는 경우) 또는 속성을 실제로 설정하려면 면도기 스크립트를 사용하는 것이 좋습니다. Umbraco - how to set the value of a property using razor script
위와 같이 XSLT는 읽기 전용이므로 페이지 렌더링시 영향을받을 수있는 방식으로 속성을 수정할 수있는 방법이 없습니다.
그러나 제목 태그 사이에 추가 XSLT 매크로를 쓸 수 있습니다. 이 매크로는 일치 템플릿을 사용할 수 있습니다. 이렇게하면 처리중인 XML 노드에 따라 다른 작업을 수행 할 수 있습니다.
데이터가 Umbraco 4.7.x에 저장되는 방식 때문에 '문서 유형 별칭'이 XML 노드로 사용됩니다. 즉, 자신의 DocType이있는 한 검색 페이지와 대조 할 수 있습니다.
"검색"을 문서 유형의 이름으로 업데이트하면됩니다.
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:umb="urn:umbraco.library"
exclude-result-prefixes="umb"
>
<xsl:output method="xml" omit-xml-declaration="yes"/>
<xsl:param name="currentPage"/>
<!-- Match Templates -->
<xsl:template match="/">
<xsl:apply-templates select="$currentPage" />
</xsl:template>
<!-- Search -->
<xsl:template match="search">
WooHoo! I'm the Search page!
</xsl:template>
<!-- All other pages -->
<xsl:template match="*[@isDoc]">
<xsl:value-of select="@nodeName" />
</xsl:template>
</xsl:stylesheet>
와우 그게 희귀한데 ... 지금까지 2 번만보기에 하나는 내 자신의 .. – user446923