Dynamische Sprachvariable im WBB

  • Sonstige

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von Marcus Gräfe.

    Dynamische Sprachvariable im WBB

    Es gibt folgende Sprachvariable (bzw. der Inhalt) um unter einem Posting die Anzahl der Likes (nun Hilfreich-Bewertungen) anzuzeigen:

    Smarty-Template

    1. {literal}{if $others == 0}{@$users.slice(0, -1).join(", ")}{if $users.length > 1} und {/if}{@$users.slice(-1)[0]}{else}{@$users.join(", ")} und {if $others == 1}einem{else}{#$others}{/if} weiteren{/if} gefällt das.{/literal}

    Das möchte ich ändern (Like=>Hilfreich), aber die Ausgabe soll natürlich grammatikalisch korrekt erfolgen. Blickt ihr da durch? Hier die aktuelle Fassung:

    Smarty-Template

    1. {literal}{if $others == 0}{@$users.slice(0, -1).join(", ")}{if $users.length > 1} und {/if}{@$users.slice(-1)[0]}{else}{@$users.join(", ")} und {if $others == 1}ein{else}{#$others}{/if} weitere{/if} finden das hilfreich.{/literal}

    Das Problem ist im Moment, dass bei einem einzigen "anderen" folgendes da steht: Max, Moritz und ein weitere finden das hilfreich.

    EDIT: Aktuell bin ich nun hierbei:

    Smarty-Template

    1. {literal}{if $others == 0}{@$users.slice(0, -1).join(", ")}{if $users.length > 1} und {/if}{@$users.slice(-1)[0]} findet{else}{@$users.join(", ")} und {if $others == 1}ein weiterer finden{else}{#$others} weitere finden{/if}{/if} das hilfreich.{/literal}

    Klappt leider immer noch nicht ganz.

    EDIT 2: Hier mal alle möglichen Variationen:
    x findet das hilfreich.
    x und y finden das hilfreich.
    x, y und z finden das hilfreich.
    x, y, z und ein weiterer finden das hilfreich.
    x, y, z und 2 weitere finden das hilfreich.

    Edit 3: Anpassung von Edit 2. ;)
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum

    Dieser Beitrag wurde bereits 6 mal editiert, zuletzt von „Marcus Gräfe“ ()

    Hi

    JavaScript-Quellcode

    1. {literal}{if $others == 0}{@$users.slice(0, -1).join(", ")}{if $users.length > 1} und {/if}{@$users.slice(-1)[0]}{else}{@$users.join(", ")} und {if $others == 1}ein weiterer findet{else}{#$others}weitere finden{/if}{/if} das hilfreich.{/literal}

    Käme das hin?

    Gruß
    ~blaze~

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „~blaze~“ ()

    Das geht leider gar nicht, d. h. das Forum zeigt dann nichts an (Syntaxfehler vmtl.). Und "findet" kommt nur bei einer Person vor (siehe mein 2. Edit im 1. Post).
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum
    Ich kann kein JavaScript, aber wenn meine kombinatorinschen Fähigkeiten mich nicht im Stich gelassen haben, sollte es so funktionieren:

    JavaScript-Quellcode

    1. {literal}{if $others == 0}{@$users[0]}{if $users.length > 1} und {@$users[1]} finden{else} findet{/if}{else}{@$users.join(", ")} und {if $others == 1}ein weiterer finden{else}{#$others}weitere finden{/if}{/if} das hilfreich.{/literal}
    Da eh maximal zwei Leute konkret genannt werden, kann man sich auch das ganze Slice-Zeugs am Anfang sparen.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Artentus“ ()

    Ok, dann ists ein bisschen komplizierter, aber kein Ding:

    JavaScript-Quellcode

    1. ​{literal}{if $others == 0}{@$users.slice(0, -1).join(", ")}{if $users.length > 1} und {/if}{@$users.slice(-1)[0]}{if $users.length > 1} finden{else} findet{/if}{else}{@$users.join(", ")} und {if $others == 1} ein weiterer{else}{#$others} weitere{/if} finden{/if} das hilfreich.{/literal}