Questions & Answers

SOLVED
ncbruckner
Returning Observer

Rules - Vergleich Wert RadioButton - Catalog size

Jump to solution

Hallo,

ich habe hier die Anforderung, dass der Benutzer per RadioButton auswรคhlen kรถnnen soll, ob er 1, 2, ... 5 Elemente anzeigen will. Sind mehr Elemente gepflegt als angezeigt werden sollen, sollen die ersten x Elemente angezeigt werden und eine Warnung angezeigt werden.

Alle Versuche sind bisher daran gescheitert, dass der Value eines RadioButtons anscheinend an String ist und der Vergleich auf GrรถรŸe natรผrlich eine Zahl erfordert. Gibt es irgendeine Mรถglichkeit, das zum Laufen zu kriegen? Ich kann im Notfall natรผrlich auf ein numerisches Feld ausweichen um die Anzahl der Elemente zu definieren, aber gewรผnscht wird eigentlich eben diese Radiobox.

Viele GrรผรŸe

Nina

1 Solution

Accepted Solutions
mbergmann
Crownpeak employee

Hallo Nina,

Deine Vermutung was die Ursache angeht stimmt: Der Wert (bzw. genauer: der ENTRY) einer optionsbasierten EK ist immer ein String, man braucht aber eigentlich eine Zahl.

Das einfachste ist hier tatsรคchlich, die fรผnf Varianten "auszuformulieren". Wenn der Hinweistext fรผr alle fรผnf Werte gleich sein soll, kommst Du hier mit einer Regel aus, ansonsten mรผsstest Du das in mehrere aufteilen.

Wenn Dein FS_CATALOG "st_elements" und Dein Radiobutton "st_maxEntries" heiรŸt, funktioniert folgende Regeldefinition:

<RULES>

    <RULE>

        <WITH>

            <NOT>

                <OR>

                    <AND>

                        <EQUAL>

                            <PROPERTY name="ENTRY" source="st_maxEntries"/>

                            <TEXT>1</TEXT>

                        </EQUAL>

                        <GREATER_THAN>

                            <PROPERTY name="SIZE" source="st_elements"/>

                            <NUMBER>1</NUMBER>

                        </GREATER_THAN>

                    </AND>

                    <AND>

                        <EQUAL>

                            <PROPERTY name="ENTRY" source="st_maxEntries"/>

                            <TEXT>2</TEXT>

                        </EQUAL>

                        <GREATER_THAN>

                            <PROPERTY name="SIZE" source="st_elements"/>

                            <NUMBER>2</NUMBER>

                        </GREATER_THAN>

                    </AND>

                    <AND>

                        <EQUAL>

                            <PROPERTY name="ENTRY" source="st_maxEntries"/>

                            <TEXT>3</TEXT>

                        </EQUAL>

                        <GREATER_THAN>

                            <PROPERTY name="SIZE" source="st_elements"/>

                            <NUMBER>3</NUMBER>

                        </GREATER_THAN>

                    </AND>

                    <AND>

                        <EQUAL>

                            <PROPERTY name="ENTRY" source="st_maxEntries"/>

                            <TEXT>4</TEXT>

                        </EQUAL>

                        <GREATER_THAN>

                            <PROPERTY name="SIZE" source="st_elements"/>

                            <NUMBER>4</NUMBER>

                        </GREATER_THAN>

                    </AND>

                    <AND>

                        <EQUAL>

                            <PROPERTY name="ENTRY" source="st_maxEntries"/>

                            <TEXT>5</TEXT>

                        </EQUAL>

                        <GREATER_THAN>

                            <PROPERTY name="SIZE" source="st_elements"/>

                            <NUMBER>5</NUMBER>

                        </GREATER_THAN>

                    </AND>

                </OR>

            </NOT>

        </WITH>

        <DO>

            <VALIDATION>

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

                <MESSAGE lang="*" text="Achtung - es werden nicht alle Elemente angezeigt"/>

            </VALIDATION>

        </DO>

    </RULE>

</RULES>

Viele GrรผรŸe

Michael

View solution in original post

1 Reply
mbergmann
Crownpeak employee

Hallo Nina,

Deine Vermutung was die Ursache angeht stimmt: Der Wert (bzw. genauer: der ENTRY) einer optionsbasierten EK ist immer ein String, man braucht aber eigentlich eine Zahl.

Das einfachste ist hier tatsรคchlich, die fรผnf Varianten "auszuformulieren". Wenn der Hinweistext fรผr alle fรผnf Werte gleich sein soll, kommst Du hier mit einer Regel aus, ansonsten mรผsstest Du das in mehrere aufteilen.

Wenn Dein FS_CATALOG "st_elements" und Dein Radiobutton "st_maxEntries" heiรŸt, funktioniert folgende Regeldefinition:

<RULES>

    <RULE>

        <WITH>

            <NOT>

                <OR>

                    <AND>

                        <EQUAL>

                            <PROPERTY name="ENTRY" source="st_maxEntries"/>

                            <TEXT>1</TEXT>

                        </EQUAL>

                        <GREATER_THAN>

                            <PROPERTY name="SIZE" source="st_elements"/>

                            <NUMBER>1</NUMBER>

                        </GREATER_THAN>

                    </AND>

                    <AND>

                        <EQUAL>

                            <PROPERTY name="ENTRY" source="st_maxEntries"/>

                            <TEXT>2</TEXT>

                        </EQUAL>

                        <GREATER_THAN>

                            <PROPERTY name="SIZE" source="st_elements"/>

                            <NUMBER>2</NUMBER>

                        </GREATER_THAN>

                    </AND>

                    <AND>

                        <EQUAL>

                            <PROPERTY name="ENTRY" source="st_maxEntries"/>

                            <TEXT>3</TEXT>

                        </EQUAL>

                        <GREATER_THAN>

                            <PROPERTY name="SIZE" source="st_elements"/>

                            <NUMBER>3</NUMBER>

                        </GREATER_THAN>

                    </AND>

                    <AND>

                        <EQUAL>

                            <PROPERTY name="ENTRY" source="st_maxEntries"/>

                            <TEXT>4</TEXT>

                        </EQUAL>

                        <GREATER_THAN>

                            <PROPERTY name="SIZE" source="st_elements"/>

                            <NUMBER>4</NUMBER>

                        </GREATER_THAN>

                    </AND>

                    <AND>

                        <EQUAL>

                            <PROPERTY name="ENTRY" source="st_maxEntries"/>

                            <TEXT>5</TEXT>

                        </EQUAL>

                        <GREATER_THAN>

                            <PROPERTY name="SIZE" source="st_elements"/>

                            <NUMBER>5</NUMBER>

                        </GREATER_THAN>

                    </AND>

                </OR>

            </NOT>

        </WITH>

        <DO>

            <VALIDATION>

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

                <MESSAGE lang="*" text="Achtung - es werden nicht alle Elemente angezeigt"/>

            </VALIDATION>

        </DO>

    </RULE>

</RULES>

Viele GrรผรŸe

Michael

Type a product name