Aktuelle Änderungen - Suchen:


über unverdient











WikiHome

edit SideBar

ConditionalMarkup

authors, admins (advanced)

Using the (:if:) Directive

The (:if:) directive allows portions of a page to be included or excluded from processing. The generic form of the (:if:) directive is

    (:if cond param:) body (:ifend:)

where "cond" names a condition to be tested (described below), and "param" is a parameter or other argument to the condition.

The built-in conditions include:

    (:if name PAGENAME:)         - current page is named "PAGENAME"
    (:if group GROUPNAME:)       - current group is named "GROUPNAME"
    (:if auth LEVEL:)            - viewer is authorized at "LEVEL"
                                   where LEVEL can be : read, edit,
                                   upload, attr or admin  
    (:if authid:)                - current viewer is authenticated
    (:if true:)                  - always include text
    (:if false:)                 - always exclude text (same as a comment)
    (:if attachments:)           - current page has attachments
    (:if date DATE:)             - true if current date is DATE
    (:if date DATE..:)           - true if current date is DATE or later (unlimited)    
    (:if date DATE1..DATE2:)     - true if current date is in range DATE1 to DATE2 (inclusive)
                                   (dates are in the format yyyy-mm-dd or yyyymmdd)
    (:if enabled VAR:)           - true if PHP VAR is true
    (:if equal STRING1 STRING2:) - true if STRING1 equals STRING2
    (:if match REG_EXPRESSION:)  - true if current page name matches 
                                   the regular expression

Negated forms of conditions also work

    (:if !attachments:) This page has no attachments

    (:if ! name PAGENAME:)      - current page is NOT named "PAGENAME"
    (:if name -PAGENAME :)      - current page is NOT named "PAGENAME"
    (:if name !PAGENAME :)      - current page is NOT named "PAGENAME"

Any (:if:) automatically terminates the previous one, thus markup can be easily cased (and are not nested):

    (:if auth read:)* You can read
    (:if auth edit:)* You can edit
    (:if auth upload:)* You can upload
    (:ifend:)

Using wildcard placeholders (new for pmwiki 2.1.beta21):

The character * can be used as a wildcard to represent any character, zero, one or multiple times.
The character ? can be used as a wildcard to represent any character exactly one time.
Wildcard characters (* and ?) can be used in conditional markup, thus:

    (:if name PmCal.2005* :)   - current page is in group PmCal? and begins with 2005
    (:if group PmWiki* :)        - current page is in group PmWiki or a group beginning with Pmwiki  
    (:if name Profiles.*,-Profiles.Profiles :) - current page is in group Profiles but not Profiles.Profiles

admins (advanced)

Creating new conditions

See Cookbook:ConditionalMarkupSamples.

<< InterMap | DocumentationIndex | Page lists >>

Bearbeiten - Historie - Druckansicht - Aktuelle Änderungen - Suchen
Page last modified on 30.01.2006 19:41 Uhr