Felder leicht zur Detailübersicht hinzufügen

Die Detailübersicht auf der rechten Seite im Content Navigator wird durch Velocity-Templates erzeugt. Für jeden der fünf Dateitypen steht in CMS Fiona ein solches Template zur Verfügung.

Sie können in der Detailübersicht auch andere als die im Standard vorgesehen Felder anzeigen lassen. Um dies zu erreichen, können Sie ein mitgeliefertes Makro in eine oder mehrere der fünf Templates einbinden. Dieses Makro, attributeGroupInOverview, fügt alle Felder der angegebenen Feldgruppe (im folgenden Beispiel "overview") zu der jeweiligen Detailübersicht hinzu:

#attributeGroupInOverview($content.getAttributeGroup('overview'))

Das Makro toleriert es, wenn die angegebene Feldgruppe nicht existiert; es ist also sicher, dieses Makro zu verwenden. Es befindet sich zusammen mit weiteren Makros in der Datei webapps/GUI/WEB-INF/inspectors/default_macros.vm.

Nachdem Sie dieses Makro zu allen objType-overview.vm-Dateien hinzugefügt haben, können Sie im CMS zu jeder beliebigen Vorlage, bei der die Detailübersicht erweitert werden soll, eine Feldgruppe namens overview hinzufügen und darin alle in der Übersicht anzuzeigenden Felder aufnehmen.

Um den Verlust dieser Änderung bei Migrationen zu vermeiden, nehmen Sie die geänderte vm-Datei in die Datei contentInspectors.xml auf:

<templates>
   <template name="publication-overview.vm"><![CDATA[
      ... alter Inhalt der publication-overview.vm ...
      #attributeGroupInOverview($content.getAttributeGroup('overview'))
   ]]></template>
</templates>

Wenn Sie jedoch die jeweils mitgelieferten *.vm-Dateien verwenden möchten, empfielt es sich, nicht nur die Templates, sondern auch die jeweiligen objType-overview-Beans zu überschreiben. Indem Sie hier ein eigenes Template angeben, können Sie darin sowohl das mitgelieferte mit parse einlesen als auch das Makro zur Einbindung der Feldgruppe aufrufen.

Wenn Sie dies für die Übersichten mehrerer Dateivorlagen durchführen, ist es ökonomischer, die mehrsprachigen Titel, die in den Views identisch sind, in ein eigenes Bean auszulagern und es in den View-Beans selbst als parent zu referenzieren. Dies zeigt das folgende Beispiel für die Detailübersicht von Dateien des Typs publication.

<?xml version="1.0" encoding="UTF-8"?>

<contentInspectors>
  <beans>
    <bean id="overview-titles" 
	    class="com.infopark.cm.htmlgui.browse.inspector.View" abstract="true">
      <property name="titles"><map>
        <entry key="de" value="Eigenschaften"/>
        <entry key="en" value="Overview"/>
        <entry key="fr" value="Propriétés"/>
        <entry key="it" value="Proprietà"/>
        <entry key="es" value="Propiedades"/>
      </map></property>
    </bean>
    <bean id="publication-overview" parent="overview-titles">
      <property name="template" value="advanced_publication-overview.vm"/>
    </bean>
  </beans>
  <templates>
    <template name="advanced_publication-overview.vm"><![CDATA[
      #parse("publication-overview.vm")
      #attributeGroupInOverview($content.getAttributeGroup("overview"))
    ]]></template>
  </templates>
</contentInspectors>