Navigation

PmWikiPtBr

pmwiki.org (en)  Home Page
 twitter Twitter Feed
 ko-fi Support me on Kofi
 Series Index: A to Z|By Country|By Platform
 News Feed & Site Updates: 2019 Nov|Dec
2020 Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec
2021 Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec
2022 Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec
2023 Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec
2024 Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec
2025 Jan


BL Calendar (click image to open in new tab)
January 2025
Archive 2020|2021|2022|2023|2024|2025

Jump To
CurrentUpcomingCompleted
ShortsCancelledNot Made


 Currently Airing  (A-Z order)

Click here to expand or collapse...
Thailand Every You, Every Me (Youtube release)

 Upcoming BL Series  (Start date)

Click here to expand or collapse...
Thailand Top Form (Thu 20 Mar 2025)

 Completed Series 

Click here to expand or collapse...
Philippines Art Of Love (OFFLINE)
Philippines Beautiful Scars (Episode 4 finale OFFLINE)
Thailand Boyband (No International release)
Myanmar Healing Thingyan (OFFLINE)
Hong Kong Hehe & He (Season 3 - on hiatus)
Thailand If I Love A Boy (OFFLINE)
Philippines Indigo (OFFLINE)
Philippines Jack And Jill (OFFLINE)
Philippines Lakan (OFFLINE)
Thailand Make A Wish [Thailand] (No International release)
Thailand Missing Piece (OFFLINE)
Myanmar My
Thailand My Secret Love (OFFLINE)
Philippines Quaranthings (OFFLINE)
Thailand Roommate (Season 1 OFFLINE)
Japan Sugar Dog Life (No International release)
Thailand Venus In The Sky (Youtube release)

 One-Off BL shorts 

Click here to expand or collapse...

 Cancelled BLs (Uncompleted) 

Click here to expand or collapse...
Philippines Destined/Fated (OFFLINE)
Philippines Infinity (OFFLINE)
Philippines Kiss The Night (OFFLINE)
Philippines Overlooked Love (OFFLINE)
Thailand The Whisperer (EP10 Finale never released)
Philippines Unexpected (OFFLINE)

 Abandoned - Not Made 

Click here to expand or collapse...

Cambodia= Cambodia China= China Hong Kong= Hong Kong India= India
Japan= Japan Laos= Laos Myanmar= Myanmar The Philippines= Philippines
South Korea= South Korea Taiwan= Taiwan Thailand= Thailand Vietnam= Vietnam


edit SideBar

edite o SideBar

Marcação Condicional


Usando a diretiva (:if:)

A diretiva (:if:) A diretiva if permite que partes de uma página sejam incluidas ou excluidas da renderização. As formas genéricas da diretiva (:if:) são:

(:if cond param:) texto (:ifend:)
(:if cond param:) texto (:else:) texto (:ifend:)
(:if cond param:) texto (:elseif cond param:) texto (:ifend:)

Onde "cond" é uma condição à ser testada, e "param" é um parâmetro ou outro argumento da condição.

Note que (:if:) sem parâmetros e (:ifend:) sõ identicos. Note também que (:if cond:) fecha automaticamente uma condição prévia. Para aninhamento em múltiplos níveis, veja Condições aninhadas.

Condições embutidas

As condições embutidas incluem:

(:if name PAGENAME:)  -  Página atual tem o nome "PAGENAME"
(:if group GROUPNAME:)  -  Grupo atual tem nome "GROUPNAME"
(:if auth LEVEL PAGENAME:)  -  usuário está autorizado - significa "o que é permitido que o usuário faça" - corresponde a "LEVEL" onde LEVEL pode ser: read, edit, upload, attr ou admin; PAGENAME é opcional.
(:if authid:)  -  Usuário atual esta autenticado - significa que eles provaram quem são ataravés do login - para usar essa capacidade é necessário o uso da receita AuthUser? ou outras que usem a variável $AuthId .
(:if enabled InvalidLogin:)  -  usuário e senha não foram atenticados. É necessário o uso da receita AuthUser.
(:if true:)  -  sempre irá incluir o texto
(:if false:)  -  sempre irá excluir o texto (mesmo que comentário)
(:if attachments:)  -  A Página tual tem um ou mais arquivos anexados

Se usado na barra lateral, cabeçalho, ou rodapé a condição será aplicada somente a página principal.

(:if date DATA VALOR:)  -  DATE pode ser ano-mês. ano-mês-dia é opcional.

Avaliado com verdadeiro se VALOR está dentro da DATA ("now" ou "today" é assumido se VALOR for omitido, como nos exemplos a seguir.) (Note que VALOR pode ser uma data reconhecida via strtotime() considerando que DATA [ou DATA1 and DATA2 abaixo] tem um formato mais fixo que explicitamente excluem espaços. Qualquer espaço em DATA1 or DATA2 podem causar resultados imprevisíveis.)

(:if date DATA.. VALOR:)  -  verdadeiro se VALOR (ou data atual se omitida) é DATA or later (unlimited)
(:if date ..DATA VALOR:)  -  verdadeiro se VALOR (ou data atual se omitida) é DATA or earlier (unlimited)
(:if date DATA1..DATA2 VALOR:)  -  verdadeiro se VALOR (ou data atual, se omitida) está no intervalo DATA1 até DATA2 (inclusivamente)

datas estão em standard formato yyyy-mm-dd ou yyyymmdd ou yyyymmddThhmm (note o "T" entre a data e a hora, e também veja o comentário acima sobre a formatação de VALOR).
Note os ".." não podem ter espaços no início ou no final.

(:if enabled VAR:)  -  verdadeiro se variável do PHP (VAR) for verdadeiro
(:if enabled AuthPw:)  -  verdadeiro se o usuário enviu sua senha durante a sessão atual.

- Isso não significa que o usuário enviou a senha correta, mas sim que ele enviou uma senha qualquer.

(:if equal STRING1 STRING2:)  -  verdadeiro se STRING1 é igual a STRING2, use aspas se a string ou variavel contém espaços, e.g. "MINHA STRING"
(:if match REG_EXPRESSION:)  -  verdadeiro se o nome da página atual corresponde à expressão regular
(:if exists PAGENAME:)  -  verdadeiro se a página pagename existe
(:if ontrail WikiTrailPage ThisPage:)  -  verdadeiro se ThisPage está numa lista usada como trail em WikiTrailPage

Os condicionais nome e grupo funcionarão mesmo para uma página incluída, como o "nome" e "grupo" condicionais sempre verificar a página exibida atualmente, em oposição a página que a marcação aparece dentro.

Nota : Although there is no built-in conditional markup to test ?action=, you can use (:if equal {$Action} AÇÃO:) to test what the current action being requested is. Nota: não há marcação condicional embutida para testar qual é a "?action=" atual. Embora seja possível usar (:if equal {$Action} AÇÃO:) para testar qual a ação atual está sendo solicitada.

Condicionais negativadas

Condicionais negativadas também funcionam:

(:if !attachments:)  -  Esta página não possui anexos
 
(:if ! name PAGENAME:) Página atual não é "PAGENAME"
(:if name -PAGENAME :)

Aninhando condicionais

Note que (:if cond:) automaticamente fecha uma condional prévia. Assim, os dois exemplos a seguir tem o mesmo significado:

  • (:if cond1:) cond1 é verdadeira (:if cond2:) cond2 é verdadeira (:ifend:)
  • (:if cond1:) cond1 é verdadeira (:ifend:)(:if cond2:) cond2 é verdadeira (:ifend:)

Condicionais podem ser aninhadas desde a versão 2.2.beta 66. Para aninhar condionais você precisa numerar os IFs, and ELSE/IFEND correspondentes:

(:if cond1:)
  cond1 é verdadeira
  (:if2 cond2:)
     cond1 e cond2 são verdadeiras
  (:else2:)
     cond1  é verdadeira, cond2 não é
  (:if2end:)
(:else:)
  cond1 é falsa, cond2 teste foi ignorado
(:ifend:)

espaços foram adicionados para uma melhor leitura.

Usando coringas para cobrir espaços

O caractere * pode ser usado como um curinga para representar qualquer personagem, zero, um ou mais vezes. O caractere ? pode ser usado como um curinga para representar qualquer caractere exatamente uma vez. Os caracteres curinga ( * e ? ) podem ser usados com as condicionais de nome e grupo, assim:

(:if name PmCal.2005* :)  -  página atual está no grupo PmCal e inicie com 2005
(:if group PmWiki* :)  -  Página atual está no grupo PmWiki ou um começando com PmWiki
(:if name Profiles.*,-Profiles.Profiles :)  -  A página atual está no grupo Profiles mas não em Profiles.Profiles

Usando PageTextVariables?, PageVariables? e MarkupExpressions?

Variáveis de Texto da Página -> Page text variables (PTVs), variáveis de página -> page variables (PVs) e expressões de marcação-> markup expressions podem ser usadas em conditionais. Estes serão atribuidos/avaliados antes das condicionais.

Combinando condicionais

Condicionais (como previamente definido) podem ser combinadas para formar expressões condicionais mais complexas usando uma das três formas equivalentes:

(:if expr EXPRESSÃO :)
(:if [ EXPRESSÃO ] :)
(:if ( EXPRESSÃO ) :)

As condições são combinadas em expressões com operadores booleanos e parênteses.Na tabela ao lado, A e B são condições regulares ou sub-expressões entre colchetes de condições regulares:

ExpressionOperatorResult
A and BAndTRUE se ambos A e B são TRUE.
A or BOrTRUE se ambos A ou B são TRUE.
A xor BXorTRUE se ambos A ou B é TRUE, mas não ambos.
! ANotTRUE se A não é TRUE.
A && BAndTRUE se ambos A e B são TRUE.
A || BOrTRUE se ambos A ou B são TRUE.

Exemplo

(:if [ name SomePage and group SomeGroup ]:)    equivalent to (:if name SomeGroup.SomePage:)

Notas Importantes:

  • Espaços são necessários no início e fim de operadores e parênteses.
  • Nenhum aviso é dado para erros de sintaxe or unbalanced brackets.
  • Use parênteses para expressões aninhadas.

Assim, o que se segue é uma maneira válida de se construir uma expressão que mostra o seguinte conteúdo somente quando o usuário é o administrador, ou está conectado e o tempo é mais tarde que data indicada:

(:if [ auth admin || ( authid && date 2006-06-01.. ) ] :)

Aninhamento com colchetes falharão silenciosamente:

(:if [ auth admin || [ authid && date 2006-06-01 ] ] :)    NOTA: Não funciona!

Um uso comum destes testes complexos para expressões como:

(:if expr auth admin || auth attr || auth edit :)
[[Logout -> {$Name}?action=logout]]
(:ifend:)

que fornecem um link de logout(saida) só quando o usuário tem permissões parar admin, attr, ou edit.

administradores (avançado)

Criando novas condicionais

Veja +.

Veja também referências especiais para o uso de {*$Variáveis}.



Essa é possivelmente a tradução do original em : PmWiki.ConditionalMarkup - Backlinks
Essa tradução se encontra em : PmWikiPtBr.ConditionalMarkup - Backlinks
Últimas modificações da tradução feitas em : September 10, 2011, at 11:00 AM
Últimas modificações feitas no original em : April 28, 2024, at 02:20 AM