cobra707
I'm new here

notdisplayed Attribute über API setzen

Jump to solution

Hallo zusammen,

wie der Titel schon verrät würde ich gerne nachträglich ein Skript über mein Projekt laufen lassen, um nicht relevante Sprachen von den Sections der Page auszuhaken.


Der Grund dafür ist, dass die Regeln mit dem name="INCLUDED" und source="#global" sich nicht richtig verhalten, weil die sich auf die Sprachentabs von der Section beziehen und nicht von der Page. Das heißt, dass die Sprachabhängigen Formulare nicht freigegeben werden können, weil Sprachen gefüllt werden müssen die wir garnicht an der Stelle unterstützen.

Ich verstehe leider nicht die Logik dahinter, wenn in dem Eltern Element der Section (also der Page) nur drei Sprachen von 10 gehakt sind und die Sections haben alle Haken gesetzt und genau diese werden nur für die Regel verwendet. Da aber durch mein Ausschalten der Sprachen auf der Page schon bei der Generierung diese Sprache garnicht mitgeneriert wird, ist die Sprachauswahl für die einzelnen Sections meiner Meinung nach überflüssig...

Viele Grüße

Peter

0 Kudos
1 Solution

Accepted Solutions
mbergmann
Crownpeak employee

Hallo Peter,

Du musst hier letztlich in der Regel nur den Übersetzt-Status der Seite auch mit einbeziehen. Die entsprechende Property heißt "TRANSLATED".

Beispiel aus der DTB (müsstest Du entspr. anpassen - hier wird auf MATCH geprüft, das müsstest Du wohl auf EMPTY ändern):

<RULE>

    <IF>

        <EQUAL>

            <PROPERTY source="#global" name="MASTER" />

            <PROPERTY source="#global" name="LANG" />

        </EQUAL>

    </IF>

    <WITH>

        <NOT>

            <AND>

                <NOT>

                    <MATCHES regex=".{6,}">

                        <PROPERTY source="st_headline" name="VALUE" />

                    </MATCHES>

                </NOT>

                <PROPERTY source="#global" name="TRANSLATED" />

                <PROPERTY source="#global" name="INCLUDED" />

            </AND>

        </NOT>

    </WITH>

    <DO>

        <VALIDATION scope="SAVE">

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

            <MESSAGE lang="*" text="Please supply at least 6 characters!" />

            <MESSAGE lang="DE" text="Bitte mindestens 6 Zeichen angeben!" />

        </VALIDATION>

    </DO>

</RULE>

Die Sprachhaken tun und bedeuten letztlich verschiedene Dinge, insbesondere je nach projektspezifischer Konfiguration und Nutzung.

Die Absatz-Sprachhaken sind "echte" Ein/Aus-Schalter (zumindest wenn man die Absätze über $CMS_VALUE(#global.page.body("....")$ ausgibt). Sie sind eher dazu gedacht, auf verschiedenen Sprachversionen der Seite unterschiedliche Inhalte ausgeben zu können (auf der DE-Seite vielleicht ein Video, auf der EN-Seite nichts oder stattdessen einen Text, weil es das Video nicht auf englisch gibt usw.).

Die Haken an der Seite sind streng genommen erstmal nur "Markierungen". Was jeweils geschieht wenn dort ein Haken nicht gesetzt ist, kann einmal in den Projekt-Optionen definiert werden oder auch über komplett eigene Logik in den Templates (z.b. mehrstufiges Sprachfallback).

D.h. die Haken stehen von der Idee her eben nicht direkt für "Seite wird nicht erzeugt" erstmal nur für "Seite ist (fertig) übersetzt". Was dann die Konsequenz daraus ist, kommt aufs Projekt an.

Von daher würde ich davon abraten, die Absatzhaken auch raus zu nehmen "nur" damit die Regel funktioniert - das würde ja heißen dass sie wieder aktiviert werden müssen wenn die Übersetzung dann mal passiert ist und/oder die Absätze dann doch "relevant" sind.

Viele Grüße

Michael

View solution in original post

0 Kudos
2 Replies
mbergmann
Crownpeak employee

Hallo Peter,

Du musst hier letztlich in der Regel nur den Übersetzt-Status der Seite auch mit einbeziehen. Die entsprechende Property heißt "TRANSLATED".

Beispiel aus der DTB (müsstest Du entspr. anpassen - hier wird auf MATCH geprüft, das müsstest Du wohl auf EMPTY ändern):

<RULE>

    <IF>

        <EQUAL>

            <PROPERTY source="#global" name="MASTER" />

            <PROPERTY source="#global" name="LANG" />

        </EQUAL>

    </IF>

    <WITH>

        <NOT>

            <AND>

                <NOT>

                    <MATCHES regex=".{6,}">

                        <PROPERTY source="st_headline" name="VALUE" />

                    </MATCHES>

                </NOT>

                <PROPERTY source="#global" name="TRANSLATED" />

                <PROPERTY source="#global" name="INCLUDED" />

            </AND>

        </NOT>

    </WITH>

    <DO>

        <VALIDATION scope="SAVE">

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

            <MESSAGE lang="*" text="Please supply at least 6 characters!" />

            <MESSAGE lang="DE" text="Bitte mindestens 6 Zeichen angeben!" />

        </VALIDATION>

    </DO>

</RULE>

Die Sprachhaken tun und bedeuten letztlich verschiedene Dinge, insbesondere je nach projektspezifischer Konfiguration und Nutzung.

Die Absatz-Sprachhaken sind "echte" Ein/Aus-Schalter (zumindest wenn man die Absätze über $CMS_VALUE(#global.page.body("....")$ ausgibt). Sie sind eher dazu gedacht, auf verschiedenen Sprachversionen der Seite unterschiedliche Inhalte ausgeben zu können (auf der DE-Seite vielleicht ein Video, auf der EN-Seite nichts oder stattdessen einen Text, weil es das Video nicht auf englisch gibt usw.).

Die Haken an der Seite sind streng genommen erstmal nur "Markierungen". Was jeweils geschieht wenn dort ein Haken nicht gesetzt ist, kann einmal in den Projekt-Optionen definiert werden oder auch über komplett eigene Logik in den Templates (z.b. mehrstufiges Sprachfallback).

D.h. die Haken stehen von der Idee her eben nicht direkt für "Seite wird nicht erzeugt" erstmal nur für "Seite ist (fertig) übersetzt". Was dann die Konsequenz daraus ist, kommt aufs Projekt an.

Von daher würde ich davon abraten, die Absatzhaken auch raus zu nehmen "nur" damit die Regel funktioniert - das würde ja heißen dass sie wieder aktiviert werden müssen wenn die Übersetzung dann mal passiert ist und/oder die Absätze dann doch "relevant" sind.

Viele Grüße

Michael

0 Kudos

Vielen Dank! Ich habe da wohl das Prinzip dieser Sprachtabs nicht richtig verstanden und danach zu kompliziert gedacht.

0 Kudos