2012-02-29 1 views
0

내부에 HTML 조각을 삽입 할 수있는 모듈을 만들었습니다.OpenCMS : 모듈에서 VFS/sites/default/HTML 파일에 액세스하는 방법

이러한 HTML 조각 (일반 HTML 페이지)은 CMS 사용자가 가상 ​​파일 시스템/sites/default /에 만듭니다.

내 모듈에서 HTML 파일에 액세스하여 생성 된 페이지에 삽입 할 수 있습니까? 방법?

모든 요소가 src 특성을 가지고 있기 때문에 iFrame, 이미지 또는 링크를 사용하면 문제가 없습니다. 나는 openCMS 태그 < CMS를 사용하는 경우

<iframe src="/opencms/demo_en/myfile.html"></iframe> 

그러나 : 예를 들어 ... 왜 작동하지 않는이> 포함 :> 또는 JSP 태그 < JSP가 포함되어 있습니까?

<cms:include page="/opencms/demo_en/myfile.html"></cms:include> 

예외 :

org.opencms.file.CmsVfsResourceNotFoundException: Unable to read resource "/opencms/demo_en/myfile.html" 

그것은 권한 문제가 될 수 있을까요?

그래서 .. iFrame으로이 작업을 수행해야합니까? 이 HTML 리소스에 액세스하고 포함하는 더 좋은 방법이 있습니까?

미리 감사드립니다.

답변

0

좋아, "내 모듈에서 액세스 할 수 있습니까?"라는 의미 일 경우 /system/modules/foo.bar.qux.my.module/...이 아닌가요?

올바른 경로를 사용하지 않아이 경우 오류가 발생합니다.

예는 귀하의 경우 다음과 같습니다 모듈 내부에 당신이 "/"컨텍스트에서 위치가 아닌 "/ 사이트/기본 /"컨텍스트에서, 수단 것이 있기 때문에입니다

<cms:include page="/sites/default/demo_en/myfile.html"></cms:include> 

파일을 포함하기 위해 VFS의 경로를 완전히 한정해야합니다.

이 예에서는 절대 경로로 경로를 지정하지만 ../ 및 ./을 사용하여 상대 경로를 사용하여 폴더를 탐색 할 수도 있습니다. 모듈에 파일을 포함시키는 동안이 경로를 사용할 수도 있습니다 하나, 그렇지 않으면 절대 경로를 권하고 싶습니다.

관련 문제