Search the FirstSpirit Knowledge Base
Hallo Community,
verwendet man die editorId()-Funktion, wird das HTML an dieser Stelle mit Attributen erweitert, die nicht validieren, z.B. fs-attrs, fs-editor-type.
Das hat diverse hintergründige Auswirkungen in der Arbeit:
Sicherlich müsste das CMS "herausfinden", ob eben HTML5 z.B. verwendet wird und wo das <html> Tag zur Registrierung des DTD steht, aber das wäre doch machbar, oder?
Wir haben darüber hinaus an einigen Stellen den Fall, dass wir editorId() mehrfach in einem Tag aufrufen, einmal ohne Parameter und direkt danach mit Parametern (editorName, meta). Das führt dazu, dass gleichnamige Attribute mehrfach in ein Element geschrieben werden.
CMS_SET(set_st_editorId, if(#global.preview, editorId() + " " + editorId(editorName:"meta_packagemember",meta:true), ""))$
<div class="box" $CMS_VALUE(set_st_editorId)$>
Handelt es sich dabei um einen Implementierungs, bzw. Verständnisfehler unsererseits oder ist auch dies ein Punkt, der zu behandeln ist?
Viele Grüße,
Tibor Legat
Hallo Tibor,
genau. Wenn im Server-Manager das Metadaten-Template gesetzt ist, kann man im ContentCreator unter Inhalte > Metadaten bearbeiten die jeweiligen Metadaten der aktuellen Seite verändern.
In Bezug auf Seiten ist das, wie Du richtig bemerkt hast, redundant, aber Du kannst meta:true auch auf Absatzvorlagen (Sectiontemplates) und Medien anwenden (s.Dokumentation, Parameter für editorId()-Aufrufe: http://www.e-spirit.com/odfs51/Vorlagenentwicklung/Vorlagensyntax/Funktionen/in-Anweisungen/editorId...).
Außerdem: Wenn Du den editorName angibt, dann nimmt er auch das entsprechende Formular. Insofern sehe ich da keine Unstimmigkeit, sondern nur mehere Wege, die nach Rom führen .
Grüße Marian
Hallo Tibor,
welchen HTML-Validator verwendest Du?
Zu Deinem Code-Auszug:
- #global.preview ist an der Stelle nicht nötig, weil die editorId nie im Endergebnis bei einer HTML-Seite auftauchen wird, sondern nur im ContentCreator
- Es müsste folgender Code reichen: [...]<div class="box" $CMS_VALUE(editorId(editorName:"meta_packagemember",meta:true
))$>[...]
Weitere Informationen zum EditorId findest Du in der offizielen Dokumentation:
Grüße
Marian Zaplatynski
Hallo Marian,
ich nutze das Firefox Plugin HTML Validator (0.9.5.8) mit Tidy Algorithmus. Prinzipiell sollte aus meiner Sicht - wie gesagt - auch der Content Creator Code vernünftig aufgebaut sein, so dass man nicht erst generieren muss.
Danke für den Hinweis bzgl. der einfacheren Implementation von editorId. Nur um es besser zu vestehen, wie editorId funktioniert:
- der Aufruf ohne Parameter erlaubt eigtl. das Content Highlighting und InEdit auf der Absatz-, bzw. Seitenvorlage, richtig?
- der o.g. Aufruf ermöglicht das Editieren von Metainformationen auf dem Element meta_packagemember (was bei uns über den Metadaten-Reiter auf jeder Seite vorhanden ist).
Sind das nicht zwei unterschiedliche Funktionen?
Viele Grüße,
Tibor Legat
Hallo Tibor,
aus der Dokumentation (http://www.e-spirit.com/odfs51/Vorlagenentwicklung/Vorlagensyntax/Funktionen/in-Anweisungen/editorId...), Deine Annahme ist richtig:
"Wird kein Parameter übergeben, wird automatisch der aktuelle Kontext verwendet (z. B. der Absatz oder die Seite)."
Die EditorId versucht immer auf die passende Komponente zum Bearbeiten zurückzugreifen. Sollte das mal nicht wie gewünscht funktionieren, so muss man weitere Parameter hinzugeben wie meta (in deinem Fall), entity, template oder editorName, um den Kontext einzugrenzen bzw. entsprechende Hinweise liefern (s. o.g. Link).
Man sollte auch nur eine EditorId pro HTML-(Block)-Tag verwenden.
Der ContentCreator verbindet eine WYSIWYG-Ansicht mit der Quick-Edit-Eigenschaft und ist daher der beste Kompromis aus beiden Welten (Vorschau und Editor).
Für Entwickler ist der SiteArchitect interessanter, auch weil hier zwischen Inhalt, Struktur und Templates getrennt wird. Ebenfalls ist die Vorschau (wahlweise mit Firefox) im SiteArchitect sehr nahe an dem, was beim Generieren als Endresultat erzeugt wird.
Kleiner Tipp am Rande: Mit Rechte-Maus-Klick im SiteArchitect beim Betrachten der Vorschau einer Seite öffnet sich ein externer Browser, z.B. Firefox, mit dem man dann die Seite betrachten oder auch validieren kann.
Wenn Dir Features wie die Integration von Tidy oder Aufruf des W3C-Validators in FirstSpirit fehlen, steht es Dir natürlich frei, einen Feature-Request zu stellen. Ggf. kannst Du natürlich so etwas auch selbst (als Plugin) implementieren, diese Möglichkeit besteht auch:
http://www.e-spirit.com/odfs51/Plugin-Entwicklung/?community
Grüße Marian
Verstehe ich das richtig, dass ich das meta-Attribut und den gesamten Aufruf nur benötige, wenn ich die Metadaten nicht bereits im Servermanager > ContentCreator für die entsprechenden Bereiche ergänzt habe?
Da wir das getan haben, kann ich scheinbar auf den parametrisierten Aufruf verzichten, und erhalte dennoch die Möglichkeit, die Metadaten zu editieren. Ist das ein stimmiges Vorgehen?
Schönes Wochenende,
Tibor
Hallo Tibor,
genau. Wenn im Server-Manager das Metadaten-Template gesetzt ist, kann man im ContentCreator unter Inhalte > Metadaten bearbeiten die jeweiligen Metadaten der aktuellen Seite verändern.
In Bezug auf Seiten ist das, wie Du richtig bemerkt hast, redundant, aber Du kannst meta:true auch auf Absatzvorlagen (Sectiontemplates) und Medien anwenden (s.Dokumentation, Parameter für editorId()-Aufrufe: http://www.e-spirit.com/odfs51/Vorlagenentwicklung/Vorlagensyntax/Funktionen/in-Anweisungen/editorId...).
Außerdem: Wenn Du den editorName angibt, dann nimmt er auch das entsprechende Formular. Insofern sehe ich da keine Unstimmigkeit, sondern nur mehere Wege, die nach Rom führen .
Grüße Marian