MarsDD
Occasional Observer

Eingabekomponente mit dynamischer max. Zeichenlänge

Jump to solution

Hallo,

wir haben uns die Tage die Frage gestellt, ob es möglich sei, eine Eingabekomponenten so zu parametrisieren, das wir mittels einer Vorlage (mit mehrfachen Einsatz) die maximale Zeichenlänge mitteilen können.

Die hätte den Vorteil, dass wir z.B. nur ein Teaser  an verschiedenen Orten einsetzen könnten, wobei bei dem Einsatz eine separate Zeichenbegrenzung vorliegt.

Viele Grüße

Marcel

1 Solution

Accepted Solutions

Hallo Marcel,

wenn ich es richtig verstanden hast, soll die Eingabe in bestimmte Eingabekomponenten auf eine bestimmte Anzahl von Zeichen beschränkt werden und dem Redakteur beim Überschreiten dieser Anzahl eine entsprechende Mitteilung ausgegeben werden?

Dies ist in FirstSpirit 5 über die Validierungsregeln umsetzbar. Im Mithras-Projekt existiert eine solche Eingabebeschränkung für die Überschrift der Standard-Seitenvorlage.

Die Regel für die Überschrift pt_headline sieht in diesem Fall wie folgt aus:

<RULES>

    <ON_SAVE>

        <WITH>

            <NOT>

                <GREATER_THAN>

                    <PROPERTY source="pt_headline" name="LENGTH"/>

                    <NUMBER>40</NUMBER>

                </GREATER_THAN>

            </NOT>

        </WITH>

        <DO>

            <VALIDATION>

                <PROPERTY source="pt_headline" name="VALID"/>

                <MESSAGE lang="*" text="Only 40 characters allowed!"/>

                <MESSAGE lang="DE" text="Es sind nur 40 Zeichen zugelassen!"/>

            </VALIDATION>

        </DO>

    </ON_SAVE>

</RULES>

Sobald die Regel "gebrochen" wird, erscheint für den Redakteur ein entsprechender Hinweis:

zeichen.png

Viele Grüße

Michaela

View solution in original post

3 Replies
Anonymous
Not applicable

Soll die Eingabekomponente diese Maximalzahl auch dem Benutzer mitteilen können (a) oder soll die Eingabekomponente nur, je nachdem wo sie ausgespielt wird, unterschiedlich lange Texte ausspielen (b)?

(a) halte ich für unwahrscheinlich, dass machbar.

(b) lässt sich im Ausgabekanal über die API lösen und z.B. per StringUtils.abbreviate(String, maxLength) oder String.substring() realisieren.

0 Kudos
MarsDD
Occasional Observer

Hallo,

es soll dem Redakteur dann eine Mitteilung gegeben werden, das er die maximale Anzahl an Zeichen erreicht hat.

0 Kudos

Hallo Marcel,

wenn ich es richtig verstanden hast, soll die Eingabe in bestimmte Eingabekomponenten auf eine bestimmte Anzahl von Zeichen beschränkt werden und dem Redakteur beim Überschreiten dieser Anzahl eine entsprechende Mitteilung ausgegeben werden?

Dies ist in FirstSpirit 5 über die Validierungsregeln umsetzbar. Im Mithras-Projekt existiert eine solche Eingabebeschränkung für die Überschrift der Standard-Seitenvorlage.

Die Regel für die Überschrift pt_headline sieht in diesem Fall wie folgt aus:

<RULES>

    <ON_SAVE>

        <WITH>

            <NOT>

                <GREATER_THAN>

                    <PROPERTY source="pt_headline" name="LENGTH"/>

                    <NUMBER>40</NUMBER>

                </GREATER_THAN>

            </NOT>

        </WITH>

        <DO>

            <VALIDATION>

                <PROPERTY source="pt_headline" name="VALID"/>

                <MESSAGE lang="*" text="Only 40 characters allowed!"/>

                <MESSAGE lang="DE" text="Es sind nur 40 Zeichen zugelassen!"/>

            </VALIDATION>

        </DO>

    </ON_SAVE>

</RULES>

Sobald die Regel "gebrochen" wird, erscheint für den Redakteur ein entsprechender Hinweis:

zeichen.png

Viele Grüße

Michaela