option.xml

Forwared from „options“

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • Durch die option.xml ist es möglich verschiedene Optionen (Einstellungsmöglichkeiten) für das ACP zu definieren.
    Durch die option.xml ist es möglich verschiedene Optionen (Einstellungsmöglichkeiten) für das ACP zu definieren, um so ein Plugin für den jeweiligen Einsatzort individualisieren zu können.

    Die XSD auf GitHub


    github.com/WoltLab/WCF/blob/master/XSD/option.xsd

    package.xml


    Innerhalb der package.xml kann man der Installations- bzw. der Updateroutine durch folgenden instruction-Tag sagen, dass nun Optionen installiert bzw. geupdatet werden soll(en).

    XML Source Code

    1. <instructions type="install">
    2. <instruction type="option" />
    3. </instructions>




    Mögliche Parameter


    TagParameterDefinition
    <data>-Einleitendes Elternelement
    <import>-Element zum importieren neuer Optionen
    <delete>-Element zum entfernen von bestehenden Optionen.
    <categories>-Gibt an, dass nun neue Optionskategorien definiert werden.
    <category>name="name.der.kategorie"Definiert eine einzelne Kategorie
    <parent>-Gibt den Namen der Elternkategorie an, unter der diese Kategorie angezeigt werden soll.
    <options>-Gibt an, das nun neue Optionen definiert werden.
    <option>name="name_der_option"Definiert eine einzelne Option.
    <categoryname>-Gibt den Namen der Kategorie an, unter der diese Option dargestellt werden soll.
    <optiontype>-Gibt die Art der Option an (Details: optiontype)
    <defaultvalue>-Gibt den Standartwert einer Option an.
    <validationpattern>-Gibt einen Pattern zum validieren der Option an.
    <enableoptions>-Gibt andere Optionen an, die beim de-/aktivieren dieser Option ein- oder ausgeblendet werden.
    <showorder>-Gibt die Reihenfolge an, in der Optionen dargestellt werden soll.
    <hidden>-1 = Option wird im ACP nicht dargestellt / 0 = Option wird im ACP dargestellt.
    <selectoptions>-Gibt verschiedene Selectfelder an, die bei einem select optiontype benötigt werden. (Syntax:: value:name.der.sprachvariabel)
    <permissions>-Gibt die Namen von Benutzergruppenrechten an, die vorhanden sein müssen, um diese Option bearbeiten zu können.
    <options>-Gibt Optionen an, die aktiviert sein müssen, um diese Option bearbeiten zu können.
    <supporti18n>-1 = Es handelt sich um multilingualen Inhalt / 0 = Es handelt sich um einsprachigen Inhalt
    <requirei18n>-Gibt bei multilingualen Inhalten an, ob in jeder installierten Sprache ein Inhalt vergeben sein muss.


    Beispiele


    Legt eine Option vom optiontype boolean an



    XML Source Code

    1. <?xml version="1.0" encoding="UTF-8"?>
    2. <data xmlns="http://www.woltlab.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.woltlab.com http://www.woltlab.com/XSD/options.xsd">
    3. <import>
    4. <categories>
    5. <category name="test">
    6. </category>
    7. <category name="test.general">
    8. <parent>test</parent>
    9. </category>
    10. </categories>
    11. <options>
    12. <option name="tes_enable">
    13. <categoryname>test.general</categoryname>
    14. <optiontype>boolean</optiontype>
    15. <defaultvalue>1</defaultvalue>
    16. </option>
    17. </options>
    18. </import>
    19. </data>
    Display All




    Legt eine Option vom optiontype select an


    XML Source Code

    1. <?xml version="1.0" encoding="UTF-8"?>
    2. <data xmlns="http://www.woltlab.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.woltlab.com http://www.woltlab.com/XSD/options.xsd">
    3. <import>
    4. <categories>
    5. <category name="test">
    6. </category>
    7. <category name="test.general">
    8. <parent>test</parent>
    9. </category>
    10. </categories>
    11. <options>
    12. <option name="test_sortfield">
    13. <categoryname>test.general</categoryname>
    14. <optiontype>select</optiontype>
    15. <defaultvalue>time</defaultvalue>
    16. <selectoptions><![CDATA[
    17. time:ea.test.time
    18. name:ea.test.name
    19. ]]></selectoptions>
    20. </option>
    21. </options>
    22. </import>
    23. </data>
    Display All




    Legt eine Option vom optiontype textareaI18n an


    XML Source Code

    1. <?xml version="1.0" encoding="UTF-8"?>
    2. <data xmlns="http://www.woltlab.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.woltlab.com http://www.woltlab.com/XSD/2019/option.xsd">
    3. <import>
    4. <categories>
    5. <category name="test">
    6. </category>
    7. <category name="test.general">
    8. <parent>test</parent>
    9. </category>
    10. </categories>
    11. <options>
    12. <option name="test_textfield">
    13. <categoryname>test.general</categoryname>
    14. <optiontype>textareaI18n</optiontype>
    15. <supporti18n>1</supporti18n>
    16. <requirei18n>1</requirei18n>
    17. </option>
    18. </options>
    19. </import>
    20. </data>
    Display All



    Abfrage von Optionen


    Optionen werden im gesamten WSC als Konstanten behandelt, das bedeutet, dass man diese im Gegensatz zur option.xml in der jeweiligen PHP-Datei oder im Template komplett großschreiben muss.

    PHP


    PHP Source Code

    1. if(NAME_DER_OPTION == 1) {
    2. //do something
    3. }



    Template


    Smarty-Template

    1. {if NAME_DER_OPTION == 1}
    2. {* do something *}
    3. {/if}




    Gut zu wissen


    • Die Schreibweise eines Optionsnamen wird nicht im camel case definiert, sondern als Trennzeichen fungiert das Underlined (-) z.B. name_der_option
    • Optionsnamen werden immer komplett klein geschrieben
    • Sprachvariabeln für Optionskategorien und Kategorien werden immer in der Kategorie "wcf.acp.option" definiert.
    • Sprachvariabelnamen für Kategorien beginnen immer mit "wcf.acp.option.category.". Bei Optionsnamen lässt man das "category" weg.


    Ihr habt Fragen oder Anregungen? Lob oder Kritik? Lasst es mich doch durch einen Kommentar von euch wissen!

    10,353 times viewed

Comments 3