Channel Editor Catalog
The Channel Editor shows a list of components in the Component Toolbar. These components are retrieved from the HST catalog, whose configuration is located at
/hst:hst/hst:configurations/mychannel/hst:catalog
Creating a catalog item for the Channel Editor
Each component in the HST catalog is defined by a child node with primary node type hst:containeritemcomponent.
For example:
<sv:node sv:name="hst:catalog"> <sv:property sv:name="jcr:primaryType" sv:type="Name"> <sv:value>hst:catalog</sv:value> </sv:property> <sv:node sv:name="event-catalog"> <sv:property sv:name="jcr:primaryType" sv:type="Name"> <sv:value>hst:containeritempackage</sv:value> </sv:property> <sv:node sv:name="pageactions"> <sv:property sv:name="jcr:primaryType" sv:type="Name"> <sv:value>hst:containeritemcomponent</sv:value> </sv:property> <sv:property sv:name="hst:template" sv:type="String"> <sv:value>standard.main.left.pageactions</sv:value> </sv:property> <sv:property sv:name="hst:xtype" sv:type="String"> <sv:value>hst.item</sv:value> </sv:property> <sv:property sv:name="hst:label" sv:type="String"> <sv:value>Page Actions</sv:value> </sv:property> <sv:property sv:name="hst:iconpath" sv:type="String"> <sv:value>images/catalog/icon-page-action.png</sv:value> </sv:property> </sv:node> </sv:node> </sv:node>
The hst:label and/or hst:iconpath properties of a catalog item specify the name and icon of the component in the Component Toolbar, respectively. The icon path is relative to the root of the site application.
Reusable Components
The HstResourceServlet makes it possible to load images from the classpath too. By convention, this servlet is mapped to:
<servlet> <servlet-name>HstResourceServlet</servlet-name> <servlet-class>org.onehippo.cms7.utilities.servlet.ResourceServlet</servlet-class> <init-param> <param-name>jarPathPrefix</param-name> <param-value>META-INF/web-resources</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>HstResourceServlet</servlet-name> <url-pattern>/resources/*</url-pattern> </servlet-mapping>
Reusable catalog components should include their resources as
src/main/resources/META-INF/web-resources/my-image.png
and in the repository hst configuration have the property
hst:iconpath = resources/my-image.png