2

rel="lightbox"Image または TextImage コンポーネントを使用してターゲット画像を選択するときに、アンカー タグに追加する必要があり ます。アンカー タグは CQ によって自動的に生成されますが、この文字列を追加するために呼び出すことができるメソッドがあるかどうか、さらに重要なことに、これが発生する場所を見つけることができません。

組み込みの Image コンポーネントに関する Adob​​e ドキュメントを調べています ( http://dev.day.com/docs/en/cq/5-3/javadoc/com/day/cq/wcm/foundation/Image.html)、ライトボックスを個別に使用するために、複製してわずかに変更しました。

Image オブジェクトには がprotected Map<String,String> getImageTagAttributes()あり、私が認識していないクラスのアンカーに相当するオブジェクトがあることを願っています。

これが、参照用に使用した現在の Image コンポーネントです。

<%@ page import="commons.Doctype,
    wcm.api.components.DropTarget,
    wcm.foundation.Image" %><%
%><%@include file="/apps/site/global.jsp"%><%
String alignment = properties.get("alignment", "");
Image image = new Image(resource);

    //drop target css class = dd prefix + name of the drop target in the edit config
    image.addCssClass(DropTarget.CSS_CLASS_PREFIX + "image");
    if (!alignment.isEmpty() && !alignment.equals("center"))     
    image.addCssClass(alignment);
    image.loadStyleData(currentStyle);
    image.setSelector(".img"); // use image script
    image.setDoctype(Doctype.fromRequest(request));
    // add design information if not default (i.e. for reference paras)
    if (!currentDesign.equals(resourceDesign)) {
        image.setSuffix(currentDesign.getId());
    }
    if (alignment.equals("center")) {
    %><div class="center"><%
    }
    %><% image.draw(out); %><%
    %><cq:text property="jcr:description" placeholder="" tagName="small"/>
    <% if (alignment.equals("center")) {%>
    </div>
    <% } %>

現在、私は jQuery を使用して仕事をしていますが、可能であればスクリプトに依存したくありません。

4

2 に答える 2

1

画像コンポーネントを拡張して使用できるはずです

image.addAttribute("rel","lightbox");

通り

CQ5.5 の画像クラスのドキュメント

于 2013-02-03T19:24:43.727 に答える