Я новичок в Hippo CMS. Я работаю над версией 10 и использую службу angularJS для использования остальных URL-адресов для «баннеров», которые я создал с помощью HippoCms.
Это мой URL-адрес Rest для баннеров, созданных с помощью Rest Api Manager от Hippo:
http://localhost:8080/site/stbetrest/Banner?_type=json
и ответ, который я получаю при использовании ссылки:
{
"pageSize": 10,
"total": 3,
"items": [
{
"content": "<![CDATA[\r\n\r\n <p>Banner description</p>\r\n\r\n \r\n]]>",
"title": "Sample banner"
},
{
"content": "<![CDATA[<p>10 Simple Steps to Green Your Office:</p>\n\n<p> </p>\n\n<p>
<img src=\"/site/pagenotfound\" /></p>]]>",
"title": "10 Simple Steps to Green Your Office"
},
{
"content": "<![CDATA[<p>How to Green Your Dorm Room</p>]]>",
"title": "How to Green Your Dorm Room"
}
],
"currentPage": 1,
"totalPages": 1
}
Проблема здесь в том, что я не вижу изображения, которые я использовал в баннерных документах в Бегемоте. Я хочу, чтобы эти изображения/ссылки загружались в карусель, созданную в AngularJs. Пожалуйста, подскажите, как генерировать изображения также в приведенном выше ответе баннера.
ОБНОВЛЕНИЕ:
Хотя через «localhost: 8080/cms» он показывает загруженные изображения, но не может получить доступ к изображению через ответ:
@XmlRootElement(name = "banner")
@XmlAccessorType(XmlAccessType.NONE)
@HippoEssentialsGenerated(internalName = "gogreen:bannerdocument")
@Node(jcrType = "gogreen:bannerdocument")
public class Banner extends BaseDocument {
@XmlElement
@HippoEssentialsGenerated(internalName = "gogreen:title")
public String getTitle() {
return getProperty("gogreen:title");
}
@XmlJavaTypeAdapter(HippoHtmlAdapter.class)
@XmlElement
@HippoEssentialsGenerated(internalName = "gogreen:content")
public HippoHtml getContent() {
return getHippoHtml("gogreen:content");
}
@HippoEssentialsGenerated(internalName = "gogreen:link")
public HippoBean getLink() {
return getLinkedBean("gogreen:link", HippoBean.class);
}
@XmlJavaTypeAdapter(KerkRestAdapter.class)
@XmlElement
@HippoEssentialsGenerated(internalName = "gogreen:image")
public Kerk getImage() {
return getLinkedBean("gogreen:image", Kerk.class);
}
}
и мой рерайтер контента:
public class RestContentRewriter extends SimpleContentRewriter {
@Override
protected String rewriteBinaryLink(String binaryLinkSrc, Node node, HstRequestContext requestContext, Mount targetMount) {
return super.rewriteBinaryLink(binaryLinkSrc, node, requestContext, requestContext.getMount("site"));
}
И мой адаптер:
public class KerkRestAdapter extends XmlAdapter<String, HippoHtml> {
@Override
public HippoHtml unmarshal(String representation) throws Exception {
throw new UnsupportedOperationException("Unmarshalling not implemented.");
}
@Override
public String marshal(HippoHtml html) throws Exception {
if (html == null) {
return null;
}
final HstRequestContext context = RequestContextProvider.get();
//final RestContentRewriter contentRewriter = new RestContentRewriter();
final ContentReWriter<String> contentRewriter = new RestContentRewriter();
final String rewrite = contentRewriter.rewrite(html.getContent(), html.getNode(), context, context.getMount("api"));
return "<![CDATA[" + rewrite + "]]>";
}
}
дополнительный вопрос: какую точку монтирования использовать в рерайтере? (Название маунта Rest или gogreen??)
Пожалуйста помоги !