2011-03-22 2 views
0

나는 Umbraco 매크로를 사용하여 —에 "list"인수를 전달하고 싶습니다. 즉, XSLT로 변환하는 요소가 여러 개 있습니다. 그 중 일부를 "특수"방식으로 변환하고 싶습니다. .Umbraco 매크로에 "list"인수를 어떻게 전달합니까?

이상적으로는 이런 식으로 뭔가를 시도하고 싶습니다 :

<umbraco:Macro Alias="DoStuff" runat="server"> 
    <styleThisSpecially>NameOfElement1</styleThisSpecially> 
    <styleThisSpecially>NameOfElement2</styleThisSpecially> 
</umbraco:Macro> 

불행하게도 "styleThisSpecially"요소가 인식되지 —을 작동하지 않습니다. 내가 생각할 수있는

해결 방법은 다음과 같습니다

  1. 는 "쉼표와 같은 구분 된 목록으로
  2. 내 인수 통과 ..."styleThisSpecially1 ","styleThisSpecially2 ","styleThisSpecially3 "같은 인수 통과 style = 'val1, val2, val3' ''

... 그러나이 옵션 중 어느 것도 매우 "깔끔하게"보이지 않습니다. 나는 umbra : macro 요소에 여러 개의 "styleThisSpecially"속성을 사용하여 시도했지만 오류가 발생했습니다 ("태그에 duplicate 'expandBox'속성이 포함되어 있습니다).

이렇게하려면 깨끗하고 깔끔한 방법이 있습니까?

+1

"나는"특별한 "방식으로 그들 중 일부를 변형하고 싶습니다"다른 모드로 변형하는 것은 의문의 여지가 있습니까? – Flack

+0

@Flack : 꽤 좋은 생각입니다. 매크로는 현재의 모든 페이지 서브 페이지를 거치며 대부분의 링크를 하나의 방식으로 스타일링 한 다음 다른 방법으로 (고객이 정의한대로) "중요한"스타일을 지정합니다 ("하이라이트" 클래스 — 그것은 실제로 일어나지는 않지만 요점을 얻습니다.) 나는 단지 "특별한"노드 목록을 인수로 전달할 것이라고 생각했습니다. 그러나 이제는 "특별한"서브 페이지에 속성을 추가하고 XSLT가이를 다르게 처리하도록 할 것입니다. 실제로는 훨씬 더 깨끗해야합니다. – George

+0

Umbraco 매크로에 인수 목록을 전달하는 방법이 있는지 알고 싶지만 지금은 원래 문제가 깔끔하게 해결되었다고 생각합니다. Flack에 감사드립니다. – George

답변

0

정확하게 이해한다면 "포인트 X"에서 시작하여 모든 요소를 ​​처리하고 모든 요소를 ​​목록으로 매크로에 전달하려고합니다. 아마도 더 멋진 솔루션은 다음 중 하나 일 것입니다. 1. 페이지에서 요소를 찾을뿐만 아니라이를 반복하여 "렌더링/처리/모든 것"을 위해 한 번에 하나씩 매크로에 전달하십시오. 2. "포인트 X" 매크로로 보내고 매크로로 요소가 무엇인지 알아 내면 어떨까요?

매크로 목록에 요소 목록을 전달할 수 있는지 여부에 대한 질문에는 실제로 대답하지 않지만 아마도 XSLT에서 작업하고 있다면 확실하게 수행하고 싶지 않을 것입니다.

관련 문제