BusinessCardType
extends AbstractType
in package
Formulaire principal de création et d'édition d'une carte de visite numérique (`BusinessCardAize`, `data_class`).
Trois options pilotent son contenu : is_pro_user (débloque secteur d'activité, compétences,
partage réseau, numéros de téléphone multiples via BusinessCardPhoneNumberType en collection,
logo et couleurs personnalisés — ces trois derniers restent affichés mais désactivés
disabled pour un compte non Pro, avec un message d'incitation à la mise à niveau plutôt que
masqués), for_employee (retire company, jobTitle, email, website, activities,
primaryColor, secondaryColor, customLogo et cv, ces informations étant portées par
l'entreprise plutôt que par l'employé) et allow_activities (ajoute la collection imbriquée
activities, de type ActivityType).
Champs communs : identité (firstname, lastname, email, country), informations
professionnelles (jobTitle, company, website, address), réseaux sociaux (linkedin,
twitter, facebook, instagram), bio (200 caractères maximum), additionalInfo (100
caractères maximum, interdit < et >), fichiers non mappés cv et image (2 Mo pour un
compte standard, 20 Mo pour un compte Pro — la mention de 50 Mo dans les messages d'erreur
renvoie à l'offre Entreprise, non gérée par cette classe).
Pour les comptes non Pro, un utilisateur simple phoneNumberInput (non mappé) alimente le
champ caché phoneNumber via des écouteurs PRE_SET_DATA et PRE_SUBMIT qui parsent/
composent le numéro avec libphonenumber. Pour les comptes Pro/Entreprise et les employés, la
collection phoneNumbers (type BusinessCardPhoneNumberType, au moins un élément requis par
une contrainte Count) la remplace ; un écouteur POST_SUBMIT recopie le premier numéro de
la collection vers le champ historique phoneNumber pour compatibilité, et résout le champ
industry (options prédéfinies chargées depuis public/assets/json/industries.json, avec un
choix libre industryOther quand Autre est sélectionné).
Table of Contents
Properties
- $industryChoices : array<string|int, mixed>
- $skillsChoices : array<string|int, mixed>
Methods
- __construct() : mixed
- buildForm() : void
- configureOptions() : void
- normalizePhoneNumber() : string
- Normalize phone number format for libphonenumber parsing
Properties
$industryChoices
private
array<string|int, mixed>
$industryChoices
= []
$skillsChoices
private
array<string|int, mixed>
$skillsChoices
= []
Methods
__construct()
public
__construct() : mixed
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
normalizePhoneNumber()
Normalize phone number format for libphonenumber parsing
private
normalizePhoneNumber(string $phoneNumber) : string
Parameters
- $phoneNumber : string