Цикл над файлами - OpenCMS - PullRequest
1 голос
/ 19 марта 2010

Я занимаюсь разработкой веб-сайта с использованием OpenCMS и у меня возникла проблема с созданием ссылок на файлы, которые я зацикливаю с помощью cms: contentload:

  <cms:contentload collector="allInFolder" param="faqs/|FaqFile" editable="false">
     <b><a href="${opencms.filename}"><cms:contentshow element="Title" /></a></b><br />
  </cms:contentload> 

Это часть файла index.jsp. К сожалению, все ссылки ведут на index.jsp, а не на отдельные файлы FAQ. Знаете ли вы, как изменить это так, чтобы он работал как положено?

Спасибо, John

Ответы [ 3 ]

3 голосов
/ 22 марта 2010

На самом деле это лучший (и рекомендуемый сейчас) способ сделать это:

<cms:contentload collector="allInFolder" param="faqs/|FaqFile" editable="false">
   <cms:contentaccess var="faqfiles" />
   <b><a href="<cms:link>${faqfiles.filename}</cms:link>"><c:out value="${faqfiles.value['Title']}" /></a></b><br />
</cms:contentload>
0 голосов
/ 17 января 2013

В Opencms, когда вы хотите создать ссылку на любой ресурс, вы должны окружить его тегом cms: link следующим образом:

<cms:link>resource path</cms:link>

Вы также можете сделать это через OpenCms API:

<jsp:useBean id="cms" class="org.opencms.jsp.CmsJspActionElement">
<% cms.init(pageContext, request, response); %>
</jsp:useBean>
<% **String link = cms.link(resource path)** %>
0 голосов
/ 19 марта 2010

В конце концов я решил проблему, изменив ссылку на:

<a href="<cms:link><cms:contentshow element="%(opencms.filename)" /></cms:link>">

Сейчас работает.

...