-1

プロジェクトの 1 つでカバ cms を使用していますが、連絡先の詳細を保存するためのドキュメント タイプがあります。 4が表示されません。ドキュメントの表示順序を変更すると、非表示のドキュメントはアプリケーションに表示されますが、他のドキュメントは消えます。jsp または CMS で使用される制限はありません。なぜこれが起こっているのか誰か教えてもらえますか?

<sv:node xmlns:sv="http://www.jcp.org/jcr/sv/1.0" sv:name="home">
  <sv:property sv:name="jcr:primaryType" sv:type="Name">
    <sv:value>hst:component</sv:value>
  </sv:property>
  <sv:property sv:name="hst:referencecomponent" sv:type="String">
    <sv:value>hst:pages/standard</sv:value>
  </sv:property>
  <sv:node sv:name="main">
    <sv:property sv:name="jcr:primaryType" sv:type="Name">
      <sv:value>hst:component</sv:value>
    </sv:property>
    <sv:node sv:name="content">
      <sv:property sv:name="jcr:primaryType" sv:type="Name">
        <sv:value>hst:component</sv:value>
      </sv:property>
      <sv:property sv:name="hst:referencecomponent" sv:type="String">
        <sv:value>hst:components/content</sv:value>
      </sv:property>
      <sv:property sv:name="hst:template" sv:type="String">
        <sv:value>home.main.content</sv:value>
      </sv:property>
    </sv:node>
    <sv:node sv:name="lists">
      <sv:property sv:name="jcr:primaryType" sv:type="Name">
        <sv:value>hst:containercomponent</sv:value>
      </sv:property>
      <sv:property sv:name="hst:componentclassname" sv:type="String">
        <sv:value>org.hippoecm.hst.pagecomposer.builtin.components.StandardContainerComponent</sv:value>
      </sv:property>
      <sv:property sv:name="hst:xtype" sv:type="String">
        <sv:value>HST.UnorderedList</sv:value>
      </sv:property>

      <sv:node sv:name="contacts">
        <sv:property sv:name="jcr:primaryType" sv:type="Name">
          <sv:value>hst:containeritemcomponent</sv:value>
        </sv:property>
        <sv:property sv:name="hst:componentclassname" sv:type="String">
          <sv:value>org.rf.online.components.Contacts</sv:value>
        </sv:property>
        <sv:property sv:name="hst:iconpath" sv:type="String">
          <sv:value>images/catalog-list.png</sv:value>
        </sv:property>
        <sv:property sv:name="hst:label" sv:type="String">
          <sv:value>Contacts</sv:value>
        </sv:property>
        <sv:property sv:name="hst:parameternames" sv:type="String" sv:multiple="true">
          <sv:value>title</sv:value>
          <sv:value>scope</sv:value>
          <sv:value>docType</sv:value>
          <sv:value>sortBy</sv:value>
          <sv:value>backgroundColor</sv:value>
          <sv:value>sortOrder</sv:value>
          <sv:value>secondSortBy</sv:value>
          <sv:value>secondSortOrder</sv:value>
          <sv:value>pageSize</sv:value>
        </sv:property>
        <sv:property sv:name="hst:parametervalues" sv:type="String" sv:multiple="true">
          <sv:value>contact</sv:value>
          <sv:value>/</sv:value>
          <sv:value>rfonline:contactsdocument</sv:value>
          <sv:value>rfonline:contactRegionOrder</sv:value>
          <sv:value>light</sv:value>
          <sv:value>ascending</sv:value>
          <sv:value>rfonline:contactOrder</sv:value>
          <sv:value>ascending</sv:value>
          <sv:value>21</sv:value>
        </sv:property>
        <sv:property sv:name="hst:template" sv:type="String">
          <sv:value>standard.main.contacts</sv:value>
        </sv:property>
        <sv:property sv:name="hst:xtype" sv:type="String">
          <sv:value>HST.Item</sv:value>
        </sv:property>
      </sv:node>
    </sv:node>
  </sv:node>
</sv:node>

pageSize 属性を 21 に設定した home.xml を次に示します。これを 50 に増やしましたが、それでもドキュメントの合計が表示されません。

Contacts.java では pageSize 属性は使用されませんが、Contacts クラスは、pageSize が使用される BaseComponent クラスを拡張します。Contacts クラスと BaseComponent クラスのコード スニペットを次に示します。

    @ParametersInfo(type = ContactsInfo.class)
    public class Contacts extends BaseComponent{
        //code
    }

public abstract class BaseComponent extends BaseHstComponent {

public static final Logger log = LoggerFactory.getLogger(BaseComponent.class);

protected void createAndExecuteSearch(final HstRequest request, final GeneralParamsInfo info, final HippoBean scope, final Map<String,Object> queryMap) throws HstComponentException {
        int pageSize = info.getPageSize();
        if (pageSize == 0) {
            log.warn("Empty pageSize or set to null. This is not a valid size. Use default size");
        }
        try {
            HstQuery hstQuery = getQueryManager(request).createQuery(scope, filterClass, true);
       hstQuery.setLimit(pageSize);
       hstQuery.setOffset(pageSize * (crPage - 1));
          if (sortBy != null && !"".equals(sortBy)) {
            if (sortOrder == null || "".equals(sortOrder)||"descending".equals(sortOrder)) {
                    hstQuery.addOrderByDescending(sortBy);
                } else {
                    hstQuery.addOrderByAscending(sortBy);
                }
            }
            String querys = null;           
    }           
    final Object attribute = request.getAttribute("isPageableCollection");
    final Boolean isPageableCollection = (Boolean) (attribute != null ? attribute : false);
            if (info instanceof PageableListInfo && ((PageableListInfo) info).isPagesVisible()) {
                 if (result.getTotalSize() > pageSize) {
                    List<Integer> pages = new ArrayList<Integer>();
                    int numberOfPages = result.getTotalSize() / pageSize;
                    if (result.getTotalSize() % pageSize != 0) {
                        numberOfPages++;
                    }
                    for (int i = 0; i < numberOfPages; i++) {
                        pages.add(i + 1);
                    }
                    request.setAttribute("pages", pages);
                }
            }

        } catch (QueryException e) {
            throw new HstComponentException("Exception occured during creation or execution of HstQuery. ", e);
        }
    }
}

そして、ここに私の ContactInfo インターフェイスがあります:-

public interface ContactsInfo extends GeneralParamsInfo {

     @Parameter(name = "scope", defaultValue="/", displayName = "Scope")
     @DocumentLink(docType = "rfonline:contactsdocument")
        String getScope();

     @Override
    @Parameter(name = "docType", displayName = "Document Type", defaultValue="rfonline:contactsdocument")
    String getDocType();

     @Parameter(name = "backgroundColor", defaultValue="light", displayName = "Background Color")
     String getBackgroundColor();

}
4

1 に答える 1