Comment combiner plusieurs services dans mon modèle de devis ?

Apprenez à afficher des textes en fonction de plusieurs services à la fois. If-statements avancés avec AND, OR et NOT pour des modèles de devis intelligents.

🎯 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

and

A oui, B non

and not

A ou B (au moins un)

or

A, B et C tous les trois

and and


⚠️ 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 %}

Cela a-t-il répondu à votre question ?