02-ce-que-je-construis/specs/site-name.md

Site.name — nom d'application par site

Contexte

L'entité Site gère la résolution multisite (telaria.fr, mathieuadrien.fr, madrien.fr…). Le nom d'application affiché dans le header Twig est actuellement codé en dur — "Codexia" apparaît encore sur certains sites. Ce champ permet à chaque site d'afficher son propre nom sans modifier le code.

Champ name

Propriété Valeur
Entité Site (tlr-symfony)
Champ name
Type Doctrine string, nullable
Longueur max 80 caractères
Valeur par défaut null
#[ORM\Column(length: 80, nullable: true)]
private ?string $name = null;

Comportement Twig

Priorité : site.name > fallback site.domain.

{{ site.name ?? site.domain }}

À injecter dans le template de header via la variable site déjà disponible dans le contexte multisite.

Migration Doctrine

$this->addSql('ALTER TABLE site ADD name VARCHAR(80) DEFAULT NULL');

Nullable sans valeur par défaut — aucun site existant n'est impacté.

Formulaire BO

Ajouter le champ dans le formulaire SiteType existant :

->add('name', TextType::class, [
    'label'    => 'Nom affiché',
    'required' => false,
    'attr'     => ['maxlength' => 80, 'placeholder' => 'Laissez vide pour afficher le domaine'],
])

Validation :

  • Non requis
  • Max 80 caractères (contrainte Symfony Length)

Référence

Backlog : tlr-blueprint/backlog.md — TLR-001

Assistant documentaire

Posez une question sur la documentation. Les réponses citent leurs sources — un clic ouvre le document à gauche.

Loading…
Loading the web debug toolbar…
Attempt #