템플릿 templates

템플릿은 AEM의 다양한 지점에서 사용됩니다.

다음 템플릿에 대해 자세히 설명합니다.

템플릿 - 페이지 templates-pages

이제 AEM에서는 페이지를 만들기 위한 두 가지 기본 템플릿 유형을 제공합니다.

NOTE
템플릿을 사용하여 페이지 만들기를 수행하는 경우 페이지 작성자에게는 보이는 차이가 없으며 사용 중인 템플릿 유형도 표시되지 않습니다.

편집 가능한 템플릿 editable-templates

이제 편집 가능한 템플릿은 AEM을 사용하여 개발하는 우수 사례로 간주됩니다.

편집 가능한 템플릿의 장점:

  • 작성자가 생성편집할 수 있습니다.

  • 템플릿으로 만든 페이지에 대해 다음 사항을 정의할 수 있도록 도입되었습니다.

    • 구조
    • 초기 콘텐츠
    • 콘텐츠 정책
  • 새 페이지가 만들어지면 페이지와 템플릿 간에 동적 연결이 유지됩니다. 이 연결은 템플릿 구조의 변경 사항이 해당 템플릿으로 만든 페이지에 반영됨을 의미합니다. 초기 콘텐츠에 대한 변경 사항은 반영되지 않습니다.

  • 콘텐츠 정책(템플릿 편집기에서 편집됨)을 사용하여 디자인 속성을 유지합니다(페이지 편집기 내에서 디자인 모드를 사용하지 않음).

  • /conf 아래에 저장됨

  • 자세한 내용은 편집 가능한 템플릿을 참조하십시오.

정적 템플릿 static-templates

정적 템플릿:

  • 개발자가 정의 및 구성해야 합니다.
  • 여러 버전에서 사용할 수 있었던 AEM의 원래 템플릿 시스템입니다.
  • 정적 템플릿은 만들 페이지와 구조가 동일하지만 실제 컨텐츠는 없는 노드의 계층입니다.
  • 복사되어 페이지를 만듭니다. 이후에 동적 연결이 존재하지 않습니다.
  • 디자인 모드를 사용하여 디자인 속성을 유지합니다.
  • /apps 아래에 저장됨
  • 자세한 내용은 정적 템플릿을 참조하세요.
NOTE
AEM 6.5부터는 정적 템플릿을 사용하는 것이 우수 사례로 간주되지 않습니다. 대신 편집 가능한 템플릿을 사용하십시오.
AEM 현대화 도구를 사용하면 정적 템플릿에서 편집 가능한 템플릿으로 마이그레이션할 수 있습니다.

템플릿 가용성 template-availability

CAUTION
AEM은 Sites ​에서 허용되는 템플릿을 제어할 수 있는 여러 속성을 제공합니다. 하지만 이를 결합하면 추적 및 관리가 어려운 복잡한 규칙이 발생할 수 있다.
따라서 Adobe은 다음을 정의하여 단순하게 시작하는 것을 권장합니다.
  • cq:allowedTemplates 속성만

  • 사이트 루트에서만

예를 들어 We.Retail: /content/we-retail/jcr:content을(를) 참조하십시오.
allowedPaths, allowedParentsallowedChildren 속성을 템플릿에 배치하여 보다 정교한 규칙을 정의할 수도 있습니다. 그러나 허용된 템플릿을 추가로 제한해야 하는 경우 가능한 경우 사이트의 하위 섹션에서 cq:allowedTemplates 속성을 추가로 정의하는 것이 훨씬 ​입니다.
페이지 속성 ​의 고급 탭에서 작성자가 cq:allowedTemplates 속성을 업데이트할 수 있다는 장점이 있습니다. 다른 템플릿 속성은 (표준) UI를 사용하여 업데이트할 수 없으므로 개발자는 모든 변경 사항에 대한 규칙 및 코드 배포를 유지 관리해야 합니다.

사이트 관리 인터페이스에서 페이지를 만들 때 사용 가능한 템플릿 목록은 새 페이지의 위치와 각 템플릿에 지정된 배치 제한에 따라 다릅니다.

다음 속성은 템플릿 T을(를) 사용하여 새 페이지를 P 페이지의 자식으로 배치할지 여부를 결정합니다. 이러한 각 속성은 경로와의 일치에 사용되는 0개 이상의 정규 표현식을 포함하는 다중 값 문자열입니다.

  • Pjcr:content 하위 노드 또는 P의 상위 노드의 cq:allowedTemplates 속성입니다.

  • TallowedPaths 속성입니다.

  • TallowedParents 속성입니다.

  • P 템플릿의 allowedChildren 속성입니다.

평가는 다음과 같이 작동합니다.

  • P(으)로 시작하는 페이지 계층 구조를 오름차순으로 계산하는 동안 비어 있지 않은 첫 번째 cq:allowedTemplates 속성이 T의 경로에 대해 일치합니다. 일치하는 값이 없으면 T이(가) 거부됩니다.

  • T에 비어 있지 않은 allowedPaths 속성이 있지만 P의 경로와 일치하는 값이 없으면 T이(가) 거부됩니다.

  • 위의 두 속성이 모두 비어 있거나 존재하지 않으면 T은(는) P과(와) 같은 응용 프로그램에 속하지 않는 한 거부됩니다. T 경로의 두 번째 수준 이름이 P 경로의 두 번째 수준 이름과 동일한 경우에만 T이(가) P과(와) 동일한 응용 프로그램에 속합니다. 예를 들어 템플릿 /apps/geometrixx/templates/foo이(가) 페이지 /content/geometrixx과(와) 동일한 애플리케이션에 속합니다.

  • T에 비어 있지 않은 allowedParents 속성이 있지만 P의 경로와 일치하는 값이 없으면 T이(가) 거부됩니다.

  • P의 템플릿에 비어 있지 않은 allowedChildren 속성이 있지만 T의 경로와 일치하는 값이 없으면 T이(가) 거부됩니다.

  • 다른 모든 경우에는 T이(가) 허용됩니다.

다음 다이어그램은 템플리트 평가 프로세스를 보여 줍니다.

chlimage_1-176

하위 페이지에 사용되는 템플릿 제한 limiting-templates-used-in-child-pages

지정된 페이지에서 하위 페이지를 만드는 데 사용할 수 있는 템플릿을 제한하려면 페이지의 jcr:content 노드의 cq:allowedTemplates 속성을 사용하여 하위 페이지로 허용할 템플릿 목록을 지정하십시오. 목록의 각 값은 허용된 하위 페이지(예: /apps/geometrixx/templates/contentpage)에 대한 템플릿의 절대 경로여야 합니다.

템플릿의 jcr:content 노드에서 cq:allowedTemplates 속성을 사용하여 이 템플릿을 사용하는 새로 만든 모든 페이지에 이 구성을 적용할 수 있습니다.

템플릿 계층 구조와 관련하여 제한을 더 추가하려면 템플릿의 allowedParents/allowedChildren 속성을 사용할 수 있습니다. 그런 다음 템플릿 T에서 만든 페이지가 템플릿 T에서 만든 페이지의 상위/하위 페이지가 되도록 명시적으로 지정할 수 있습니다.

템플릿 - 콘텐츠 조각 templates-content-fragments

콘텐츠 조각 템플릿을 참조하세요.

recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2