BCard - Documentation technique

PhysicalCardOrderType extends AbstractType
in package

Formulaire de commande d'une carte physique associée à une carte de visite virtuelle.

Alimente l'entité PhysicalCard : la carte virtuelle associée (EntityType sur BusinessCardAize, choix restreints à virtual_cards), le produit du catalogue commandé (EntityType sur Card, choix restreints à card_products) et l'adresse de livraison (obligatoire). Les champs customizationMode (« standard » ou « custom »), designChoice (« model » ou « custom »), customFrontImageFile, customBackImageFile et logoFile ne sont pas mappés ('mapped' => false) : ce sont des données de pilotage d'interface ou des fichiers dont le traitement est laissé au contrôleur appelant. Le champ cardModel (EntityType sur CardModel, choix restreints à card_models) reste facultatif tant que l'utilisateur n'a pas choisi le mode « personnaliser » avec un design de type modèle.

Les champs printOption et colorOption (EntityType sur CardPrintOption et CardColorOption) ne sont pas ajoutés statiquement : un listener PRE_SET_DATA (édition) et un listener PRE_SUBMIT (soumission) les ajoutent dynamiquement une fois le produit choisi connu, avec un query_builder restreignant les choix aux options actives de ce produit (IDENTITY(o.card) = :cardId) ; sans produit connu, la requête ne retourne aucun résultat (1 = 0). Le listener PRE_SUBMIT rend en outre logoFile, frontText et backText obligatoires si customizationMode vaut « custom », et rend customFrontImageFile / customBackImageFile obligatoires si designChoice vaut également « custom », ou cardModel obligatoire si designChoice vaut « model ».

Options personnalisées attendues par configureOptions() : virtual_cards, card_models et card_products (tableaux de choix, vides par défaut), is_first_pro_order (booléen, active un mode « première carte pro offerte » qui ajoute le choix « Standard » et présélectionne default_pro_card) et default_pro_card (instance de Card ou null).

Table of Contents

Methods

buildForm()  : void
configureOptions()  : void

Methods

buildForm()

public buildForm(FormBuilderInterface $builder, array<string|int, mixed> $options) : void
Parameters
$builder : FormBuilderInterface
$options : array<string|int, mixed>

configureOptions()

public configureOptions(OptionsResolver $resolver) : void
Parameters
$resolver : OptionsResolver

        
On this page

Search results