Diese Anleitung setzt voraus, dass Fiona 7 im Legacy-Modus installiert und initialisiert wurde. Im Folgenden werden die wesentlichen Schritte zur Umstellung einer bestehenden Anwendung auf Fiona-7-Technik beschrieben.
Inhalte „in-place“ bearbeiten
Die als Attributwerte im CMS abgelegten Inhalte können sehr leicht an Ort und Stelle („in place“) bearbeitbar gemacht werden. Hierfür steht der Helper fiona7_tag zur Verfügung. Das API folgt sehr stark dem API von scrivito_tag, lässt jedoch RailsConnector-Objekte als Argument zu.
Man kann also RailsConnector-Code wie beispielsweise
<h1><%= display_field @obj, :title %></h1>
leicht durch Fiona-7-Code ersetzen:
<%= fiona7_tag(@obj, :title, :h1) %>
In-place-Bearbeitung der Navigationen
Navigationen und Listen von Objekten können mit fiona7_tag_list erstellt werden. Diese Methode blendet einen Marker ein, mit dem eine neue Seite angelegt werden kann. Zusätzlich kann die Liste sortiert werden.
Die Liste der verfügbaren Seitenvorlagen ist anfangs leer. Die verfügbaren Vorlagen können mit Hilfe der Methode valid_page_classes_beneath der globalen Obj-Klasse in der Scrivito-Engine definiert werden.
Legen Sie also eine Datei mit dem Pfad „app/models/obj.rb” an und geben Sie ihr den folgenden Inhalt:
class Obj < RailsConnector::BasicObj
in_place do
def valid_page_classes_beneath(parent_path)
['Publication']
end
end
end
Dadurch wird beim Anlegen einer neuen Seite die Vorlage Publication angeboten. Sie können abhängig vom Pfad des übergeordneten Objekts (parent_path) unterschiedliche Vorlagen zur Verfügung stellen.
Zu jeder angebotenen Seitenvorlage muss es einen Thumbnail-View geben, damit im Auswahldialog je Vorlage ein Piktogramm angezeigt werden kann. Thumbnails werden von einem Rails-View mit dem Pfad „app/views/Vorlagenname/thumbnail.html.erb“ angezeigt. Für die Vorlage Publication benötigen Sie also eine Datei mit dem Pfad „app/views/publication/thumbnail.html.erb“:
<%= scrivito_thumbnail 'Publication', :content do %> Allgemeine Seite <% end %>
Detailansicht und weitere Attribute
Manche Attribute (z.B. show_in_navigation) können nicht sinnvoll in-place bearbeitet werden. Für sie bietet sich die Detailansicht an, auf der Sie die benötigten Bearbeitungselemente unterbringen können. Die Detailansicht kann über den entsprechenden Befehl im Menü der jeweiligen Seite geöffnet werden.
Der Menübefehl ist verfügbar, wenn es einen details-View für die betreffende Vorlage gibt. Beispielsweise kann in der Detailansicht für die Publication-Vorlage unter „app/views/publication/details.html.erb“ (nach dem Schema „app/views/Vorlagenname/details.html.erb“) mit folgendem Code eine Eingabemöglichkeit für den Seitentitel geschaffen werden:
<div> <h3>Seitentitel</h3> <%= scrivito_tag :div, @obj, :title %> </div>