Search the FirstSpirit Knowledge Base
Hi,
ich hatte gerade den Fall, das bei einem CMS_INPUT_TEXT das Attribut 'allowEmpty=no' zwar zu einer roten Umrandung führte, wenn nichts eingetragen war. Trotzdem konnte ich den Inhalt ohne Aufforderung einen Wert einzutragen speichern und aus dem Editiermodus gehen.
Unter https://community.e-spirit.com/thread/1565 gibt es ein umgekehrtes Problem mit dem neuen Element FS_REFERENCE.
Wir benutzen Version 4.2.219.38784. Wäre ein Update auf eine Version > 4.2.223 hier ebenfalls die Lösung?
Grüße
Martin Fürstenau
Nein, das ist keine Lösung. Dieses Problem existiert dort noch immer, habe es gerade bei uns getestet, da auch wir dieses Verhalten sehr merkwürdig finden.
Zumal man nach einer anderen Feldänderung ohne Speichern den Edit-Modus nicht direkt verlassen kann, dann wird das besagte "rote Feld" angemeckert. Speichert man vorher aber einmal, dann kann man den Edit-Modus verlassen.
Von daher wünsche ich mir sehnlichst, dass dieser Fehler im nächsten Patch behoben wird.
Vielen Danke für die Antwort.
Hallo Martin/Marcus,
könnt Ihr bitte dazu ein Ticket bei uns im Helpdesk anlegen.
Besten Dank
Mach ich sofort!
Ticket-ID: Help-20110127-394
Antwort vom Helpdesk:
Ich fürchte, dass es hier ein Missverständnis gibt, da es sich um keinen Fehler handelt, sondern um das technisch leider benötigte Verhalten.
Hintergrund: In WEBedit wird der Absatz/die Seite angelegt, bevor eine Eingabe von Werten erfolgt. Ein initialer Check hätte zur Folge, dass man web-basierend keine neuen Seiten/Absätze anlegen könnte! Aus diesem Grund musste das entsprechende Verhalten leider so angepasst werden, wie Sie es bemängeln.
Das Attribut allowEmpty="no" (welches bei der Definition von Eingabekomponenten benutzt werden kann) bedeutet somit nicht, dass es bereits beim initialen Anlegen einer leeren Eingabekomponente greift, sondern es bedeutet, dass es erst greift, wenn diese Komponente erstmalig befüllt wurde und nachträglich versucht wird diese zu leeren (dieser Check funktioniert anschließend in allen Sprachen).
Um so einen Absatz oder Seite mit leeren Komponenten nicht zu veröffentlichen, könnte man im Freigabe-Arbeitsablauf eine Prüfung einbauen. Sollte bei der Prüfung festgestellt werden, dass in der Seite/Absatz noch leere Pflichteingabekomponenten existieren, dann wird dem Freigeber eine entsprechende Messagebox "Feld XYZ nicht gefüllt" angezeigt (diese Prüfung könnte pro Sprachkanal realisiert werden. Alternativ wäre auch denkbar die Eingabekomponenten über das Attribut preset="copy" mit einem Default-Wert vorzubelegen um anschließend auf diesen Wert zu prüfen).
Hinweis: Die Implementierung bez. der Pflichtfeldprüfung wird sich ab FirstSpirit 5.0 mit der Einführung von Validatoren grundlegend ändern, so dass die Pflichtfehld-Prüfung dann auch initial greifen wird.
Ich gehe davon aus, dass Sie mit Hilfe meiner Antwort das Problem beseitigen können und schließe somit dieses Ticket. Sollte Ihre Anfrage nicht gelöst sein, öffnen Sie das Ticket bitte mit einer entsprechenden Begründung wieder.
Für Rückfragen und weiterführende Fragen stehen meine Kollegen und ich Ihnen gerne zur Verfügung.
Viele Grüsse aus Dortmund,
Holger Höbbel
Wie bitte? Soll heißen, ich lege bspw. einen Inhalt einer Seitenvorlage im Client an und nur weil WebEdit damit initial nicht zurecht kommt, wurde das Verhalten im ggs. zu FS4.1 dahingehend geändert, dass zwar im Formular angemaht wird, dass das Feld leer ist, aber man darf den Inhalt trotzdem so übernehmen? Und erst, wenn das Feld mal mit einem Wert belegt war, greift die bekannt alte Logik? Und solange das Feld initial nicht belegt ist, wird das zwar angemerkt, ist aber egal?
Genau so habe ich es auch verstanden. Und nun müssen wir auf die Version 5 warten....
Ein weiterer Grund für das momentane Verhalten ist in der Unterstützung von mehrsprachigen Projekten begründet. Erstellt ein Redakteur eine neue Seite, wird er sie in der Regel nicht in allen 25 Sprachen des Projektes pflegen können, sondern 1-3. Die anderen Sprachen werden dann von anderen Redakteuren oder einem externen Übersetzungsbüro übersetzt. Es muss also möglich sein ein Formular zu speichern, auch wenn noch nicht alle Sprachen befüllt sind. In solchen Fällen möchte man nicht beim Speichern auf Vollständigkeit prüfen, sondern bei der Freigabe. Dies kann man, wie bereits beschrieben, über ein Workflowskript realisieren.