Or
The or
condition tests whether at least one of multiple sub-conditions are true. This joins the sub-conditions together in a logical OR.
JSON Schema
{
"title": "Or",
"properties": {
"conditions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"config": {
"type": "object"
}
}
}
}
}
}
Example #1
Suppose you wanted a condition to evaluate if:
- a node has
published
set totrue
OR - a node's type is
my:article
The condition could be written like this:
{
"type": "or",
"config": {
"conditions": [{
"type": "propertyEquals",
"config": {
"property": "published",
"value": true
}
}, {
"type": "typeEquals",
"config": {
"type": "my:article"
}
}]
}
}
Example #2
You can also nest or
and and
to form composite checks.
Suppose you wanted a condition to evaluate if:
- a node has
published
set totrue
AND the node's type ismy:article
OR - a node has
published
set tofalse
AND the node's type ismy:press-release
The condition could be written like this:
{
"type": "or",
"config": {
"conditions": [{
"type": "and",
"config": {
"conditions": [{
"type": "propertyEquals",
"config": {
"property": "published",
"value": true
}
}, {
"type": "typeEquals",
"config": {
"type": "my:article"
}
}]
}
}, {
"type": "and",
"config": {
"conditions": [{
"type": "propertyEquals",
"config": {
"property": "published",
"value": false
}
}, {
"type": "typeEquals",
"config": {
"type": "my:press-release"
}
}]
}
}]
}
}
Example #3
Here is another nesting example.
Suppose you wanted a condition to evaluate if:
- a node is published
- a node's type is either
my:article
ormy:press-release
The condition could be written like this:
{
"type": "and",
"config": {
"conditions": [
"type": "propertyEquals",
"config": {
"property": "published",
"value": true
}
}, {
"type": "or",
"config": {
"conditions": [{
"type": "propertyEquals",
"config": {
"property": "published",
"value": false
}
}, {
"type": "typeEquals",
"config": {
"type": "my:press-release"
}
}]
}
}]
}
}