OpenCMS: как получить доступ из модулей к VFS / sites / default / HTML-файлу - PullRequest
0 голосов
/ 29 февраля 2012

Я создал модуль, который позволяет вставлять в него фрагменты HTML.

Эти фрагменты HTML (обычные страницы HTML) будут создаваться пользователем CMS в виртуальной файловой системе / sites / default/.

Можно ли из моего модуля получить доступ к файлу HTML и вставить его в созданную страницу?как?

Когда я использую iFrame, изображение или ссылка все работает нормально ... потому что все эти элементы имеют атрибут src .Например:

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

Однако, когда я использую тег openCMS или тег 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?

Заранее спасибо!

1 Ответ

0 голосов
/ 14 марта 2012

Хорошо, когда вы говорите: «Могу ли я получить доступ из моего модуля», вы имеете в виду ваш /system/modules/foo.bar.qux.my.module / ... не так ли?

В этом случае вы получаете эту ошибку, потому что вы не используете правильный путь.

Пример будет в вашем случае:

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

Это потому, что внутри вашегоМодуль находится в контексте «/», а не в контексте «/ sites / default /», это означает, что вам необходимо полностью указать путь в VFS для включения файла.

ЭтоНапример, укажите путь абсолютно, но вы также можете использовать относительный путь, используя ../ и ./ для навигации по папкам, в то время как вы включаете файлы в свой модуль, вы можете использовать этот, но в противном случае ярекомендовал бы абсолютный путь.

...