Logički plug-inovi

Logički se plug-inovi koriste za programiranje logike. Ova tema sadrži dodatne informacije za neke od ovih plug-inova.

Plug-in za prikaz komentara

Koristite plug-in prikaza Comment za umetanje komentara za koje želite da ih vide samo autori sadržaja. Sav tekst napisan između početne i završne oznake plug-ina tretira se kao komentar. Taj tekst se ne obrađuje, ali se izostavlja kad se Web sadržaj prikazuje. Primjer:
[Plugin:Comment] Ovo je komentar [/Plugin:Comment]

Plug-inovi ifEmpty i ifNotEmpty

Ovi plug-inovi se koriste za prikazivanje dodanog teksta ako je vrijednost parametra prazna ili ako nije prazna.
[Plugin:ifEmpty value=" "]

[Plugin:ifNotEmpty value=" "]

Plug-in prikaza jednakosti

Koristite plug-in Equals za umetanje markupa unutar Web sadržaja samo ako se podudaraju vrijednosti dva tekstualna atributa. Plug-in sadrži dva atributa text1 i text2 . Sav markup između početne i krajnje oznake se prikazuje kao dio vašeg Web sadržaja samo ako se vrijednosti ta dva atributa podudaraju.

Sljedeći primjer izvodi markup između početnih i završnih oznaka plug-ina samo ako je prikazani sadržaj u stupnju procesa rada pod nazivom Review.
[Plugin:Equals text1="Review" text2="[Property type='content' 
               context='current' field='currentstage']"] 
Dokument na pregledu
[/Plugin:Equals]

Plug-in prikaza nejednakosti

Koristite plug-in prikaza NotEquals za umetanje markupa unutar Web sadržaja samo ako se vrijednosti dva tekstualna atributa ne podudaraju. Plug-in sadrži dva atributa text1 i text2 . Sav markup između početne i krajnje oznake se prikazuje s vašim Web sadržajem samo ako se vrijednosti ta dva atributa ne podudaraju.

Sljedeći primjer prikazuje markup između početne i krajnje oznake samo ako element type u prikazanom sadržaju nema vrijednost Interno:
[Plugin:NotEquals text1="Internal" text2="[Element type='content' 
                  context='current' key='type']"] 
Javni dokument
[/Plugin:NotEquals]

Plug-in prikaza podudaranja

Koristite plug-in prikaza Matches da biste uvjetno umetnuli markup unutar Web sadržaja procjenom regularnog izraza nad proslijeđenom tekstualnom vrijednosti. Plug-in sadrži dva atributa: text i pattern . Sav markup između oznaka početka i završetka plug-ina se prikazuje samo ako se vrijednost atributa text podudara s redovnim izrazom u atributu pattern.

Možete imati i negativno podudaranje s uzorkom. U ovom slučaju, markup tijela plug-in oznake se prikazuje samo ako se tekst ne podudara s redovnim izrazom. Za korištenje negativnog podudaranja s uzorkom, postavite atribut negativno podudaranje na točno.

Bilješka: Dijalekt redovnog izraza kojeg koristi plug-in definiran je klasom Java jezika java.util.regex.Pattern.
Primjeri:
  • Sljedeći primjer prikazuje markup između početnih i završnih oznaka samo ako se prikazani sadržaj nalazi u stupnju procesa rada čiji naziv sadrži riječ Review.
    [Plugin:Matches text="[Property type='content' context='current' 
                    field='currentstage']" pattern=".*Review.*"] 
    Dokument na pregledu
    [/Plugin:Matches]
    Da biste zanemarili je li znak uspoređivanja veliko ili malo slovo, dodajte kontrolni niz (?i) kao prefiks redovnom izrazu. Sljedeći primjer također uspoređuje imena faze procesa rada poput pregleda :
    [Plugin:Matches text="[Property type='content' context='current' 
                    field='currentstage']" pattern="(?i).*review.*"] 
    Dokument na pregledu
    [/Plugin:Matches]
  • Sljedeći primjer prikazuje markup između oznaka početka i završetka samo ako se prikazani sadržaj nalazi u stupnju procesa rada čiji naziv ne sadrži riječ Review:
    [Plugin:Matches text="[Property type='content' context='current' 
         field='currentstage']" negative-match="true" pattern=".*Review.*"] 
    Dokument nije na pregledu
    [/Plugin:Matches]
  • Možete koristiti i grupe hvatanja za redovne izraze. Za pristup vrijednosti grupe, koristite MatchedGroup plug-in. Ovaj plug-in možete koristiti samo između oznaka početka i završetka plug-ina prikaza Matches. On sadrži atribut group za dohvat grupe hvatanja po njenom indeksu. Na primjer, za pristup prvoj riječi na listi riječi odvojenih zarezom, koristite plug-in kako slijedi:
    [Plugin:Matches pattern="(.*)(,)(.*)" text="key1,key2"] 
    First key is: [Plugin:MatchedGroup group="1"]
    [/Plugin:Matches]

Plug-in prikaza Inače

Koristite plug-in prikaza Otherwise da biste uvjetno umetnuli markup unutar Web sadržaja ako se bilo koji od sljedećih plug-inova prikaza vrednuje kao false prije vrednovanja plug-ina Otherwise:
  • Equals plug-in prikaza
  • NotEquals plug-in prikaza
  • Matches plug-in prikaza
Primjeri:
  • Sljedeći primjer prikazuje markup između oznaka početka i završetka plug-ina prikaza Otherwise (Dokument nije na pregledu) samo ako prikazani sadržaj nije u stupnju procesa rada pod nazivom Review.
    [Plugin:Equals text1="Review" text2="[Property type='content'
                   context='current' field='currentstage']"] 
      Dokument na pregledu.
    [/Plugin:Equals]
    [Plugin:Otherwise]
      Dokument nije na pregledu.
    [/Plugin:Otherwise]
  • Sljedeći primjer prikazuje markup između oznaka početka i završetka plug-ina prikaza Otherwise (Interni dokument) samo ako element type prikazanog sadržaja ima vrijednost Internal.
    [Plugin:NotEquals text1="Internal" text2="[Element type='content'
                      context='current' key='type']"]
      Javni dokument
    [/Plugin:NotEquals]
    [Plugin:Otherwise]
      Interni dokument
    [/Plugin:Otherwise]
  • Sljedeći primjer prikazuje markup između oznaka početka i završetka plug-ina prikaza Otherwise (Dokument nije ne pregledu) samo ako je prikazani sadržaj u stupnju procesa rada čiji naziv ne sadrži riječ Review.
    [Plugin:Matches text="[Property type='content' context='current'
                    field='currentstage']" pattern=".*Review.*"]
      Dokument na pregledu
    [/Plugin:Matches]
    [Plugin:Otherwise]
      Dokument nije na pregledu
    [/Plugin:Otherwise]

Možete i ugnijezditi Equals, NotEquals te Matches plug-inove prikaza kod uvjetnog dodavanja markupa. Kada koristite te plug-inove zajedno na ovakav način, možda ćete htjeti imati različite Otherwise plug-inove koji su pridruženi svakom uvjetnom plug-inu prikaza. Da biste pridružili plug-in s određenim Otherwise plug-inom, dodajte atribut scope s istom vrijednosti uvjetnom plug-inu prikaza i plug-inu Otherwise. Ako nije naveden atribut scope za plug-in Otherwise, primjenjuje se uvjetnom plug-inu koji je posljednji vrednovan.

Primjeri:
  • Sljedeći primjer koristi višestruke ugniježđene plug-ine prikaza za uvjetni prikaz markupa. Plug-in Otherwise s atributom scope postavljenim na 1 odnosi se na plug-in Equals. Plug-in Otherwise s atributom scope postavljenim na 2 odnosi se na plug-in prikaza Matches.
    [Plugin:Equals text1="Review" text2="[Property type='content'
                   context='current' field='currentstage']" scope="1"]
      Dokument na pregledu.
      [Plugin:Matches text="[Property type='content' context='current'
         field='authors']" pattern="(.*)(,)(.*)" scope="2"]
        Više autora
      [/Plugin:Matches]
      [Plugin:Otherwise scope="2"]
        Samo jedan autor
      [/Plugin:Otherwise]
    [/Plugin:Equals]
    [Plugin:Otherwise scope="1"]
      Dokument nije na pregledu.
    [/Plugin:Otherwise]