Добавление пользовательских тегов RSS-каналов в AEM - PullRequest
0 голосов
/ 06 января 2020

Я пытаюсь добавить пользовательские atom: tags для RSS-канала в AEM.

Я переопределил OOTB-код к /apps/cq/Page/feed.jsp из эквивалентного libs пути.

Я могу извлечь путь к изображению из jcr-node, но не могу успешно добавить его в пользовательский тег.

Как добавить пользовательские теги в библиотеки тегов для префикса атом ?

Импорт

    --%><%@ page session="false" %><%

        %><%@ page import="com.day.cq.commons.Externalizer,
                           com.day.cq.wcm.api.Page,
                           com.day.cq.wcm.api.WCMMode,
                           java.util.Iterator,
                           javax.jcr.Node,
                           com.day.cq.wcm.api.components.ComponentContext" %><%
        %><%@ taglib prefix="sling" uri="http://sling.apache.org/taglibs/sling/1.0" %><%
        %><%@ taglib prefix="cq" uri="http://www.day.com/taglibs/cq/1.0" %><%
        %><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><%
        %><%@ taglib prefix="atom" uri="http://sling.apache.org/taglibs/atom/1.0" %><%
        %><cq:defineObjects /><%

Пользовательский код

    Node jcrNode = currentNode.hasNode("jcr:content") ? currentNode.getNode("jcr:content") : null;
            Node imageNode = jcrNode != null && jcrNode.hasNode("image") ? jcrNode.getNode("image") : null;
            String image = imageNode != null && imageNode.hasProperty("fileReference") ?
                    imageNode.getProperty("fileReference").getValue().getString() : null;

            %><atom:feed id="<%= url %>"><%
                %><atom:title><c:out value="<%= title %>"/></atom:title><%
                if (subTitle != null) {
                    %><atom:subtitle><c:out value="<%= subTitle %>"/></atom:subtitle><%
                }
                if (image != null) {
                    %><atom:image><c:out value="<%= image %>"/></atom:image><%
                }
            %><atom:link href="<%= link %>" rel="self"/><%

Тег изображения не идентифицирован

    <atom:image></atom:image>

Журналы ошибок

    .feed HTTP/1.1] org.apache.sling.engine.impl.SlingRequestProcessorImpl service: Uncaught SlingException
    org.apache.sling.scripting.jsp.jasper.JasperException: /apps/cq/Page/feed.jsp(60,18) No tag "image" defined in tag library imported with prefix "atom"

1 Ответ

0 голосов
/ 22 января 2020

atom:image не является частью формата синдикации Atom. См. Формат синдикации атома . Взгляните на atom:icon или atom:logo.

...