2013-08-16 2 views
0

내 사이트의 마지막 노드에는 기사가 표시되는 곳이 있으며 누구나 자신의 태그를 가지고 있기 때문에 그 중 일부는 동일 할 수 있으므로 작업중인 태그의 매크로를 작성했습니다 (태그가 나열되어 있음). 사용자가보고있는 기사), 내 'Article'doctype에 Tag 데이터 유형을 사용했으며 해당 매크로가 올바르게 작동합니다. 하지만 동일한 태그가있는 기사를 나열하기 위해 매크로에 문제가있어이를 RelatedContent.xslt이라고 부릅니다. 나는 내가이 문제를 이해하는 데 도움이 아무것도 발견하지 않았습니다(움 브라코) 관련 페이지를 태그별로 어떻게 나열 할 수 있습니까?

<xsl:template match="/"> 

    <ul> 
     <xsl:for-each select="$currentPage/node [string(data [@alias='umbracoNaviHide']) != '1'] and (umbraco.library:Request('tag') = '' or contains(data [@alias = 'tags'], umbraco.library:Request('tag')))"> 
      <li> 
       <a href="{umbraco.library:NiceUrl(@id)}"> 
        <xsl:value-of select="@nodeName"/> 
        <xsl:value-of select="newsTitle"/> 
       </a> 
      </li> 
     </xsl:for-each> 
    </ul> 

</xsl:template> 

:

<xsl:template match="/"> 
     <div class="tags"> 
     <xsl:variable name="Factor" select="6 div Exslt.ExsltMath:max(tags:getAllTagsInGroup('default')/tags/tag/@nodesTagged)"/> 
      <xsl:for-each select="tags:getAllTagsInGroup('default')/tags/tag"> 
       <a class="tag{round($Factor * @nodesTagged)}x" href="?tag={.}"> 
        <xsl:value-of select="."/> 
       </a><br/> 
      </xsl:for-each> 
     </div> 
</xsl:template> 

그리고 RelatedContent.xslt의 코드이있다 : 여기에 작동 내가 Umbraco TV 자습서에있는 AllTags.xslt의 코드는 그래서 어떻게하는지 깨닫지 못합니다. 나는 너에게 어떤 도움을 주실 것이다. 귀하의 조언에 감사드립니다.

(Umbraco 6.1.3)

답변

0

관련 내용에 대한 코드는 기존 XML 스키마를 사용하고 있습니다.

<xsl:for-each select="$currentPage/node [string(data [@alias='umbracoNaviHide']) != '1'] 
and (umbraco.library:Request('tag') = '' or contains(data [@alias = 'tags'], 
umbraco.library:Request('tag')))"> 
</xsl:for-each> 

<xsl:variable name="tag" select="umbraco.library:Request('tag')"/> 
<xsl:for-each select="$currentPage/*[@isDoc][umbracoNaviHide != 1][contains($tag,./tag)]"> 
</xsl:for-each> 

해당/노드 요소가 4.6+ 스키마에 존재하지 않는

으로하고 요소 이름은 documentTypeAlias의 이름으로 대체됩니다 :

이 비트를 교체합니다. 당신이 속성 articleTitle와 문서 유형 article이있는 경우

그래서 같은 것 대신 이전 스키마의

$currentPage/article/ 
$currentPage/article/articleTitle 

$currentPage/node[@nodeTypeAlias = 'article'] 
$currentPage/node[./data[@alias] = 'articleTitle'] 

(이 4.5 이상 아무것도 잘못된 것입니다) Umbraco 위키에서 2 가지 스키마의 차이점을 볼 수 있습니다 :

http://our.umbraco.org/wiki/reference/xslt/45-xml-schema

관련 문제