🎯 Le problème
Vous souhaitez afficher des textes qui n'apparaissent que si :
Plusieurs services sont cochés ensemble
Un service est coché mais pas un autre
Une combinaison spécifique de services a été choisie
Par exemple : afficher « Pack complet démontage & montage » uniquement si les deux services ont été choisis.
À qui s'adresse cet article ?
Cet article s'adresse aux administrateurs qui possèdent déjà des connaissances de base des if-statements. Lisez d'abord l'article « Comment définir quelles descriptions de services apparaissent dans mon devis ? »
⚙️ Ce dont vous avez besoin
Des connaissances de base des if-statements (voir l'article précédent)
Des droits d'administrateur dans Bas Software
Un accès à l'éditeur de modèles
✅ Voici comment résoudre le problème
Type 1 : plusieurs services ENSEMBLE (AND)
Quand l'utiliser ? Vous souhaitez afficher un texte uniquement si le service A ET le service B sont tous les deux cochés.
Exemple : démontage ET montage
{% if project.usesService('disassemble') and project.usesService('assemble') %}PACK MOBILIER COMPLETNous démontons sur place, déménageons en toute sécurité et remontons tout professionnellement à destination !{% endif %}Ce texte n'apparaît que si les deux services sont cochés.
Type 2 : un service OUI mais pas l'autre (AND NOT)
Quand l'utiliser ? Vous souhaitez afficher un texte si le service A est coché mais pas le service B.
Exemple : emballage mais pas de déballage
{% if project.usesService('packing') and not project.usesService('unpack') %}⚠️ ATTENTION : DÉBALLAGE PAR VOS SOINSNous emballons vos affaires, mais vous vous chargez vous-même du déballage dans votre nouveau logement.{% endif %}Type 3 : trois services ou plus ensemble
Exemple : pack deluxe
{% if project.usesService('disassemble') and project.usesService('assemble') and project.usesService('storage') %}🌟 PACK DÉMÉNAGEMENT DELUXENous démontons tout, le déménageons, le stockons en toute sécurité si nécessaire, et remontons tout.{% endif %}📖 Exemples pratiques
Exemple 1 : avertissement en cas de service manquant
{% if project.usesService('disassemble') and not project.usesService('assemble') %}⚠️ IMPORTANTVous avez choisi le démontage mais pas le montage. Veillez à disposer vous-même d'outils.{% endif %}Exemple 2 : informations supplémentaires pour une combinaison de services
{% if project.usesService('packing') and project.usesService('provide_boxes') %}💡 BON À SAVOIRNous livrons les cartons 3 jours ouvrables avant la date du déménagement. Nos emballeurs viennent tout emballer le jour du déménagement.{% endif %}Exemple 3 : garde-meuble avec assurance
{% if project.usesService('storage') and project.usesService('insurance') %}⚡ GARDE-MEUBLE AVEC COUVERTURE COMPLÈTEVos affaires sont stockées en toute sécurité avec une couverture d'assurance complète. Une tranquillité d'esprit totale !{% endif %}🔍 Aperçu de la syntaxe
Ce que vous voulez | Syntaxe |
A et B tous les deux |
|
A oui, B non |
|
A ou B (au moins un) |
|
A, B et C tous les trois |
|
⚠️ Erreurs fréquentes
Erreur 1 : oublier les espaces autour de 'and'
❌ INCORRECT : project.usesService('packing')andproject.usesService('unpack')
✅ CORRECT : project.usesService('packing') and project.usesService('unpack')
Erreur 2 : 'NOT' au mauvais endroit
❌ INCORRECT : project.usesService('packing') not and project.usesService('unpack')
✅ CORRECT : project.usesService('packing') and not project.usesService('unpack')
Le not se place juste avant le service que vous voulez exclure.
💡 Conseils de pro
Conseil 1 : testez toutes les combinaisons
Créez des devis de test avec ces combinaisons :
Uniquement le service A
Uniquement le service B
A et B ensemble
Tous les services
Aucun service
Conseil 2 : restez clair
Au-delà de 3 instructions and, demandez-vous si vous ne rendez pas les choses trop complexes. Est-ce possible plus simplement ?
Conseil 3 : ajoutez des commentaires
{# Ceci s'affiche uniquement pour emballage + garde-meuble #}{% if project.usesService('packing') and project.usesService('storage') %}Texte ici{% endif %}Les commentaires entre {# ... #} sont invisibles pour les clients.
❓ Questions fréquentes
Puis-je utiliser OR au lieu de AND ?
Oui ! or signifie : le texte apparaît si au moins un service est coché.
{% if project.usesService('packing') or project.usesService('unpack') %}Vous avez choisi le service d'emballage et/ou de déballage.{% endif %}Combien de AND puis-je enchaîner ?
Techniquement, il n'y a pas de limite, mais restez clair. Plus de 4 and devient déroutant.
Cela fonctionne-t-il aussi avec d'autres champs de modèle ?
Oui ! Vous pouvez également vérifier d'autres données du projet, mais cela dépasse le cadre de cet article.
🔗 Articles connexes
Comment définir quelles descriptions de services apparaissent dans mon devis ?
Aperçu de tous les noms de service pour les modèles de devis
🆘 Vous n'y arrivez pas ?
Votre combinaison ne se teste pas comme prévu ? Envoyez-nous :
Le code de votre if-statement
Les services que vous cochez
Ce qui se passe vs ce que vous attendez
Nous vous aidons volontiers par chat ou par e-mail ! 💬
📋 Checklist avant la mise en ligne
☐ Testé avec uniquement le service A coché
☐ Testé avec uniquement le service B coché
☐ Testé avec A et B cochés ensemble
☐ La logique est correcte : les textes apparaissent quand vous vous y attendez
☐ Chaque {% if %} a un {% endif %}