2011-12-05 4 views
1

magnolia 템플릿 스크립트에 magnolia의 페이지를 포함하려면 어떻게해야합니까? 특정 페이지에서 데이터에 액세스 할 수 있습니다 I와 템플릿 스크립트에서 magnolia cms의 템플릿 스크립트에 페이지를 포함하십시오.

하지만 어떻게 템플릿에 해당 페이지를로드 할 수 있습니까?

각각 2 개의 페이지에 자체 템플릿이 있다고 가정 해 보겠습니다. 1 페이지의 템플릿 스크립트에 포함시키고 싶지만 작동하지 않습니다.

은 대단히 감사합니다 :)

내가 실제로하고 싶은 것은 내 프로젝트의 모든 페이지에서 내 헤더를 포함입니다 업데이트되었습니다. 단락으로 쓰고 싶지는 않습니다. 헤더를 바꾸고 싶다면 모든 프로젝트 페이지를 편집해야하기 때문입니다.

그래서 내가하려고이 올바른 접근 방식인지 나도 몰라 무엇을 헤더에 대한 페이지 템플릿을 작성하는 것입니다. 이 템플릿에는 CSS가 포함되지 않으며 헤더에 대한 코드 일뿐입니다. 다음으로해야 할 일은 머리글이 될 모델을 사용하여 목련에 페이지를 만드는 것입니다. 다음은 프로젝트의 기본 템플릿 모델에서 방금 만든 페이지를 포함하고 싶지만 어떻게 할 수 있는지 생각할 수 없습니다.

나는 목련 CMS에 새로운 오전 처음에 나는 STK를 사용하여 내 데모 사이트를 만드는 시도했다. 유일한 문제는 jsp를 스크립팅 언어로 사용할 수 없거나 최소한 인터넷에서 솔루션을 찾을 수 없다는 것이 었습니다. 나는 freemarker를 정말로 모른다. 그러나 그것은 정말로 큰 문제가 아니다. 좀 더 복잡한 프로젝트에서 freemarker가 지원하지 않는 기능이 필요할 수도 있기 때문에 freemarker를 사용하는 것을 정말로 꺼려합니다. jsp는 않습니다. 목련으로 가능하다면 jsp를 사용하여 사이트를 구축하고 싶습니다.

나는이 오랫동안 업데이트에 대한 죄송하지만, 사람이 어떤 제안이 있다면 무엇을 가장 좋은 방법이 될 수 있습니다 내가 JSP에서 내가 원하는 것을 구현할 수 있다면 정말 감사 드리겠습니다.

다시 한 번 감사드립니다.

답변

3

STK를 사용하는 경우이 가이드는 content-reuse입니다.

cms tag-lib을 살펴 보지 않으면 특히 내용을 가져 와서 JSP/JSTL 변수로 설정 한 다음 cms : includeTemplate을 사용하여 렌더링 할 수있는 cms : loadPage 및 cms : setNode 태그를 사용하십시오.

일반적인 시나리오는 부모 페이지에서 콘텐츠를 상속하는 것입니다.이 헤더는 상위 예입니다. 당신이하는 일은 콘텐츠 계층 구조를 걸어가는 영역과 그 영역에있는 부모 페이지의 모든 것을 같은 이름으로 렌더링하는 것입니다. 이렇게하면 상위 페이지에만 추가 한 헤더가 모든 하위 항목에 포함됩니다.

또 다른 옵션은 단순히 다른 페이지에 포함될 수있는 내용을 담고있는 특별한 페이지를 만드는 것입니다. 머리글, 바닥 글 및 배너와 같이 일부 페이지의 측면 창으로 이동해야합니다.

+0

나는 cms : setNode로 필요한 컨텐트를 얻을 수 있었다. 고맙습니다. 나는 당신의 마지막 제안에 충실 할 것입니다. 감사 – Marius

1

다른 페이지에 페이지를 포함시키는 것은 실제로 작동하지 않습니다. 2 페이지는 이미 단순히 이해가되지 않는 다른 페이지에 도매를 포함, 자신의 <HTML> 태그, 자신의 < 스크립트 > 태그 및 자체 CSS가 있습니다.

  1. 은 iframe을 사용 :

    당신은 할 수 있지만, 몇 가지 옵션이있다. 목련의 1

  2. 최신 버전 당신이 다음 다른 페이지에 포함 할 수 있습니다 개인 단락을 렌더링 할 수 이것은 당신이 페이지의 영역에 2 페이지의 전체를 포함 할 수 있습니다. 예를 들어, http://demopublic.magnolia-cms.com/demo-project/about/subsection-articles.html의 단락을 http://demopublic.magnolia-cms.com/demo-project/about/subsection-articles/article/main/0.html으로 볼 수 있습니다.이 방법을 사용하면 데이터 구조에 대해 조금 알고 있어야하지만 페이지의 비트를 선택적으로 추출 할 수있는 매우 유용한 방법입니다.
  3. 모델 클래스의 Magnolia API를 사용하여 하위 페이지에서 데이터를 가져온 다음 뷰 템플릿에서 데이터를 사용할 수 있도록 설정할 수 있습니다. 이것은 STK가 참조하는 페이지의 내용을 포함하고 아마도 가장 강력하고 유연한 접근 방법 인 티져를 만드는 방법이지만 실제로는 일부 Java 코드를 작성해야합니다. 이 방법을 사용하는 방법에 대한 자세한 내용은 http://documentation.magnolia-cms.com/templating/stk/templating.htmlhttp://documentation.magnolia-cms.com/reference/templating.html을 참조하십시오.)
  4. (질문을 편집 한 후에 추가됨) STK에 포함 된 바닥 글 기능은 거의 동일합니다. 이를 살펴보고 구현 방법을 살펴 보는 것이 좋습니다.

희망이 조금 있습니다!

+0

답장을 보내 주셔서 감사합니다. 나는 옵션 3을보고 꽃에서 어떻게 할 수 있는지 보게 될 것입니다. 내 사이트를 실제로 업데이트하고 싶습니다. 어쩌면 누군가 나를 올바른 방향으로 이끌 수 있습니다. 다시 한번 감사드립니다. – Marius

+1

나는 모델 클래스에서 내용을 가져올 수 있었다. 고맙습니다. – Marius

관련 문제