2017-05-15 8 views
0

SiteGenesis와 협력하여 학습하고 있습니다. 필자는 지금까지 디스트웨어의 컨트롤러 및 템플릿의 기본 사항을 이해하고 있습니다. 내가 어떻게 demandware의 페이지에 클라이언트 사이드 자바 스크립트를 추가 할 수 있는지 알고 싶습니다. 예를 들어 SiteGenesis의 홈페이지에는 sitecore_controllers에 컨트롤러가 있으며 홈페이지 템플릿을 렌더링합니다. frot 페이지가로드 될 때 간단한 경고 메시지를 사용자에게 추가하고 싶습니다. alert('hello world'). 내가 해킹하고 어딘가에이 메시지를 삽입 할 수 있지만, 나는 자신의 카트리지를 추가하고 별도의 js 파일을 추가하여 그렇게하고 싶습니다. 이 작업을 수행하는 가장 좋은 방법은 무엇입니까?사용자 정의 클라이언트 자바 스크립트를 디맨드웨어 SiteGenesis 홈페이지에 추가하는 방법은 무엇입니까?

답변

1

여기서는 인라인 스크립트를 사용하지 않는 것이 맞습니다. 코드에서 스크립트 파일을 링크하려면 다음을 수행해야합니다.

  1. 스크립트 파일을 카트리지의 static/js 폴더에 추가하십시오.
  2. URLUtils 클래스 메서드를 사용하면이 스크립트 파일에 대한 URL을 만들 수 있습니다.
  3. 지금 바로 닫는 body 태그 전에 이러한 스크립트 태그를 가져야한다 src 속성 2.

우수 사례에서 만든 URL을 가리키는 스크립트 태그를 추가합니다. 이러한 스크립트 태그에 대한 템플리트를 작성하고 로컬 isinclude 태그를 사용하여 데코레이터 템플리트 또는 푸터 템플리트의 템플리트를 포함 할 수 있습니다.

질문이 있으시면 알려주세요.

P. 귀하가 알고 계신 것으로 알고 있습니다 :

  • 스크립트 API 클래스 URLUtils 및 URL;
  • 템플릿에 값을 인쇄하는 방법.
  • 로컬 및 리모컨 포함 (태그 변형 포함);
  • 데코레이터 및 장식 된 템플릿 (isdecorate, isreplace 태그).
+0

감사합니다. 나는 아키텍처에 대한 기본적인 지식을 가지고 있으며, 스크립트 api (컨트롤러)에 다소 익숙하다 .. – awm

+1

''나를 위해 일했다. hello-world.js는'cartridge/static/default/js/hello-world.js'에있다. – awm