rameau si l'une est vraie et l'autre est fausse
En ce qui concerne ce question.
Que faites-vous lorsque a == true and b == false? Ce doit être
Avant d'en bas à droit de vote de croire ou pas, mais il n'y a rien à trouver sur ce.
Donc:
{% if a == true and b == false %}
do stuff
{% endif %}
Vous devez vous dire que cela devrait fonctionner mais ce n'est pas:
{% if (a == true) and (b == false) %}
do stuff
{% endif %}
UPDATE2
Cela fonctionne parce que l'un est vrai et deux est faux
{% if variant.stock.track == true %}
{% if variant.stock.on_stock == false %}
({{ 'Out of stock' | t }}){% else %} ({{ 'In stock' | t }})
{% endif %}
{% endif %}
if a and b == false
ou if a and b is sameas(false)
Le premier fonctionne pour moi.
Un besoin d'être vrai et b doit être faux. Afin de ne pas les deux. L'un est vrai les autres est faux
C'est exactement ce que mon commentaire a dit @JaapVermoolen, veuillez noter que le "ou" ne fait pas partie du code. (Tenant une glace, tandis que d'écrire le premier commentaire :P)
Miam 😉 Mais votre essai dès maintenant si les deux sont fausses. Un besoin d'être vrai et b doit être faux. Si oui, alors faire des trucs...
OriginalL'auteur Meules | 2014-07-29
Vous devez vous connecter pour publier un commentaire.
Normalement lors de la vérification pour les faux-je utiliser
sameas
. Dans votre cas:Cependant documentation implique vous pouvez également utiliser d'abréviation si est comme ça:
Veuillez noter que ce contrôle dépend de la variable à définir. Si aucune variable est définie, la vérification de vrai ou faux échoue parce que la variable a la valeur
null
.Donc, si vous voulez vérifier par vrai ou faux et vous voulez être sûr que si aucune valeur n'est définie, vous obtenez false; vous pouvez utiliser
default
:ou si vous préférez le php-style:
Cela devrait fonctionner ainsi:
ou
+1 pour l'aider de toute façon
"Vous avez toujours aucune ou deux faux/vrai..." je pense que vous avez besoin de clarifier votre question, vous n'êtes pas de sens.
Je voulais dire avec votre code d'en avoir toujours un faux et un vrai. Voir ma mise à jour de question. Si l'un doit être vrai et b doivent être fausse, alors faire des trucs. Avec votre code, vous pouvez avoir un vrai/faux et b vrai/faux. De sorte qu'il peut aller dans les deux sens.
Peut-être que votre configuration
strict_variables
est définie sur false dans un environnement?OriginalL'auteur Luceos