Show Menu
TOPICS×

List Component (v1)

The Core Component List Component allows for the easy creation of dynamic as well as static lists.

Usage

The List Component can be used to create for example a dynamic list of child pages or a static list of arbitrarily defined items.
The type of lists available and formatting options can be defined by the template author in the design dialog . The content editor can select from available list types and how to format the list elements in the edit dialog .

Version and Compatibility

This document describes v1 of the List Component, originally introduced with release 1.0.0 of the Core Components with AEM 6.3.
The following table lists the compatibility of v1 of the List Component.
AEM Version
List Component v1
6.3
Compatible
6.4
Compatible
This document describes v1 of the List Component.
For details of the current version of the List Component, see the List Component document.

Sample Component Output

The following is sample taken from We.Retail .

Screenshot

HTML

<div class="cmp cmp-list aem-GridColumn aem-GridColumn--default--12"> <ul> <li> <article> <a href="/content/we-retail/us/en/experience/arctic-surfing-in-lofoten.html"> <span class="cmp-list--item-title">Arctic Surfing In Lofoten</span> </a> </article> </li> <li> <article> <a href="/content/we-retail/us/en/experience/summit-success-in-the-himalayas.html"> <span class="cmp-list--item-title">Summit Success in the Himalayas</span> </a> </article> </li> <li> <article> <a href="/content/we-retail/us/en/experience/climbing-on-kalymnos-island--greece.html"> <span class="cmp-list--item-title">Climbing on Kalymnos Island, Greece</span> </a> </article> </li> <li> <article> <a href="/content/we-retail/us/en/experience/running-at-the-great-wall-marathon.html"> <span class="cmp-list--item-title">Running at the Great Wall Marathon</span> </a> </article> </li> <li> <article> <a href="/content/we-retail/us/en/experience/skiing-deep-powder-in-siberia.html"> <span class="cmp-list--item-title">Skiing deep powder in Siberia</span> </a> </article> </li> <li> <article> <a href="/content/we-retail/us/en/experience/climbing-in-the-massif-du-mont-blanc.html"> <span class="cmp-list--item-title">Climbing in the Massif du Mont Blanc</span> </a> </article> </li> </ul> </div>

JSON

"articles_list": { "columnClassNames": "aem-GridColumn aem-GridColumn--default--12", ":type": "weretail/components/content/articleslist", "tagsMatch": "any", "displayAs": "teaser", "feedEnabled": "true", "listFrom": "children", "limit": "0", "orderBy": "cq:lastModified", "pageMax": "0" }
JSON export from the Core Components requires release 1.1.0 of the Core Components. Please see the compatibility information for Core Components v1 for more information.

Edit Dialog

The edit dialog allows the content author to configure the list and the list elements.

List Settings

The list can be built in different ways.
Regardless of how the list is built, there are Sort Options that can always be configured.
Depending on how the content author chooses to build the list, the additional configuration options will change.

Child Pages

The list can be built of the child pages of the current page or another page.
  • Parent page
    • The page whose child pages should make the list
    • Leave blank to use the current page
  • Child-Depth
    - How many levels down in the hierarchy should be used

Fixed List

The list can be built using a fixed list of items.
Tap or click the
Add
button to inset a new item to the list.
  • Enter text for the item in the list or use the
    Selection Dialog
    to choose an item from AEM.
  • Use the drag handle to re-arrange the items in the list.
  • Use the trash can icon to delete items in the list.

Tags

The list can be built using pages that match certain tags under a particular location.
  • Parent page
    - Where the tag matching should start
    • Use the
      Selection Dialog
      to choose the location in AEM
    • Use current page if left blank
  • Tags
    - Which tags should be matched
    • Use the
      Browse
      dialog to select the tags
  • Match
    - Define which kind of match should qualify a page to be included in the list
    • any tag
    • all tags

Sort Options

Regardless of how you choose to build the list, there are certain sorting options that can always be defined.
  • Order by
    - How the elements should be ordered
    • Title
    • Last modified date
  • Sort Order
    - The order in which the items should be ordered
    • ascending
    • descending
  • Max Items
    - Maximum number of items displayed in list.
    • Leave empty to return all items.

Item Settings

Using the
Item Settings
tab, the formatting of the list elements can be configured.
  • Link Items
    Link items to the corresponding page
  • Show Description
    Show descriptions of the link item
  • Show Date
    Show modification date of the link item

Design Dialog

The design dialog allows the template author to define what types of lists should be allowed to the content authors as well as the available item settings.

List Settings

On the
List Settings
tab, the date format can be defined as well as what type of lists should be available in the component to the content authors.
  • Date Format
    - Format to use for the display of the last modification date
  • Disable Children
    - Disable the children list type in the component
  • Disable Static
    - Disable the static list type in the component
  • Disable Search
    - Disable the search list type in the component
  • Disable Tags
    - Disable tags list type in the component

Item Settings

On the
Item Settings
tab, the formatting options for the individual list elements that should be available in the component for the content authors can be defined.
  • Link Items
    - Enable Link Items option in the edit dialog
  • Show Descriptions
    - Enable Show Descriptions option in the edit dialog
  • Show Date
    - Enable Show Date option in the edit dialog

Technical Details

The latest technical documentation about the List Component can be found on GitHub .
The entire core components project can be downloaded from GitHub.
Further details about developing Core Components can be found in the Core Components developer documentation .