BootstrapExtension
extends TICTwigExtension
in package
Filtres et fonctions twig pour générer des éléments avec Bootstrap 5.
https://symfony.com/doc/current/templating/twig_extension.html
Table of Contents
Properties
- $strings : mixed
- $translator : mixed
- $urlHelper : mixed
Methods
- __construct() : mixed
- bsActionFilter() : string
- Génération d'un bouton affichant uniquement un icone (avec libellé en title) avec les styles Bootstrap.
- bsAlertFilter() : string
- Affichage d'un texte dans une boite d'alerte Bootstrap.
- bsBadgeFilter() : string
- Affichage de la valeur dans un badge Bootstrap (traduction activable).
- bsBooleanFilter() : string
- Affichage d'une valeur booléenne (vrai/faux) dans un label Bootstrap (avec traduction et état automatique).
- bsButtonFilter() : string
- Génération d'un bouton (icone et/ou texte) avec les styles Bootstrap.
- bsCountFilter() : string
- Affichage d'un nombre dans un badge Bootstrap (conversion numérique automatique).
- bsEnabledFilter() : string
- Affichage d'une valeur booléenne (actif/inactif) dans un label Bootstrap (avec traduction et état automatique).
- bsLabelFilter() : string
- Affichage de la valeur dans un label Bootstrap (traduction activable) avec état automatique si non spécifié.
- bsStateFilter() : string
- Détermine un contexte d'état Bootstrap d'après la valeur donnée.
- bsToggleFilter() : string
- Affichage d'une valeur booléenne (actif/inactif) dans un label Bootstrap cliquable (pour changer l'état).
- cardTabsHeadFunction() : string
- Formattage d'une liste de liens en barre de navigation Bootstrap (pour header de card).
- getFilters() : array<string|int, mixed>
- getFunctions() : array<string|int, mixed>
- getBool() : mixed
- Retourne l'équivalent booléen (ou null) d'une variable quelconque.
- getIcon() : string
- Génération d'un tag HTML pour afficher un icone FontAwesome ou Bootstrap (avec quelques alias utiles).
- getStateIcon() : string|null
- Retourne le nom d'un icone correspondant à un état bootstrap (par exemple pour bsAlert).
- getText() : string
- Retourne une chaine texte à partir d'une variable (avec traduction et échappements HTML possibles).
- htmlAttr() : string
- Conversion d'un hachage en une chaine d'attributs insérable dans un tag HTML.
- trans() : string
- Recherche la traduction d'un texte (si le service $translator est disponible).
Properties
$strings
protected
static mixed
$strings
= ['true' => 'ext.boolean.true', 'false' => 'ext.boolean.false', 'null' => null]
$translator
protected
mixed
$translator
$urlHelper
protected
mixed
$urlHelper
Methods
__construct()
public
__construct([TranslatorInterface $translator = null ]) : mixed
Parameters
- $translator : TranslatorInterface = null
bsActionFilter()
Génération d'un bouton affichant uniquement un icone (avec libellé en title) avec les styles Bootstrap.
public
bsActionFilter([string $target = null ][, string $icon = null ][, string $title = null ][, string $context = null ][, string $size = null ][, array<string|int, mixed> $attrs = [] ][, bool $trans = true ]) : string
Parameters
- $target : string = null
-
URL (pour tag A) ou TYPE (pour tag BUTTON avec 'submit'|'reset'|'button') ou #ID ou .CLASS (tag button)
- $icon : string = null
-
Nom d'un icone (FontAwesome), par ex: 'ok', 'download', 'envelope', 'ban-circle', 'remove', 'edit', 'list'
- $title : string = null
-
Texte à afficher uniquement au survol du bouton (utilisation de $href si true)
- $context : string = null
-
Classe Bootstrap pour le style du bouton : 'default', 'primary' (défaut), 'info', 'success', 'warning', 'danger', 'link'
- $size : string = null
-
Classe Bootstrap pour indiquer la taille du bouton : 'lg', 'md', 'sm' (défaut), 'xs'
- $attrs : array<string|int, mixed> = []
-
Liste d'attributs HTML supplémentaires (ex 'class', 'title', 'confirm', 'disabled')
- $trans : bool = true
-
Si faux, désactivation de la traduction du libellé du bouton (et éventuel message de confirmation)
Return values
string —Code HTML représentant un bouton Bootstrap
bsAlertFilter()
Affichage d'un texte dans une boite d'alerte Bootstrap.
public
bsAlertFilter(string $text[, string $state = null ][, mixed $icon = null ][, bool $html = false ][, bool $close = false ][, bool $trans = false ]) : string
Parameters
- $text : string
-
Texte à afficher dans la boite d'alerte
- $state : string = null
-
Classe Bootstrap : primary, secondary, info (défaut), success, warning, danger, dark, light
- $icon : mixed = null
-
Nom d'un icone (ou true/null par défaut pour automatique à partir du $state)
- $html : bool = false
-
Désactivation de l'échappement du texte s'il doit déjà contenir du HTML
- $close : bool = false
-
Ajout d'un bouton permettant de fermer la boite d'alerte
- $trans : bool = false
-
Recherche d'une traduction pour le token $text (si c'est une chaine)
Return values
string —Code HTML représentant un message d'alerte Bootstrap
bsBadgeFilter()
Affichage de la valeur dans un badge Bootstrap (traduction activable).
public
bsBadgeFilter(mixed $value[, mixed $state = null ][, bool $trans = false ][, string $default = '' ]) : string
Parameters
- $value : mixed
-
Valeur à afficher dans le bloc badge (calcul du nombre d'éléments pour un objet|array)
- $state : mixed = null
-
Classe Bootstrap ('primary', 'info', 'success', 'warning', 'danger'...) ou boolean true pour détermination automatique à partir du texte (bsStateFilter) ou sinon (empty) utilisation de la classe par défaut ('dark')
- $trans : bool = false
-
Recherche d'une traduction pour le token $value (si c'est une chaine)
- $default : string = ''
-
Valeur par défaut à traiter si $value est null (aucun badge si $default est aussi null)
Return values
string —Code HTML représentant un badge Bootstrap (petit badge arrondi)
bsBooleanFilter()
Affichage d'une valeur booléenne (vrai/faux) dans un label Bootstrap (avec traduction et état automatique).
public
bsBooleanFilter(mixed $value[, string $default = '-' ]) : string
Parameters
- $value : mixed
-
Variable à interpréter pour déterminer le booléen correspondant
- $default : string = '-'
-
Libellé par défaut à afficher si aucune correspondance booléenne trouvée
Return values
string —Code HTML représentant un label Bootstrap (gros badge carré)
bsButtonFilter()
Génération d'un bouton (icone et/ou texte) avec les styles Bootstrap.
public
bsButtonFilter([string $target = null ][, string $icon = null ][, mixed $label = null ][, string $context = null ][, string $size = null ][, array<string|int, mixed> $attrs = [] ][, bool $trans = true ]) : string
Parameters
- $target : string = null
-
URL (pour tag A) ou TYPE (pour tag BUTTON avec 'submit'|'reset'|'button') ou #ID ou .CLASS (tag button)
- $icon : string = null
-
Nom d'un icone (FontAwesome), par ex: 'ok', 'download', 'envelope', 'ban-circle', 'remove', 'edit', 'list'
- $label : mixed = null
-
Texte à afficher dans le bouton à côté de l'icone (utilisation de $href si true)
- $context : string = null
-
Classe Bootstrap pour le style du bouton : 'primary', 'secondary', 'info', 'success', 'warning', 'danger', 'link' (par défaut 'primary' pour un bouton de type 'submit', sinon 'default')
- $size : string = null
-
Classe Bootstrap pour indiquer la taille du bouton : 'lg', 'md' (défaut), 'sm', 'xs'
- $attrs : array<string|int, mixed> = []
-
Liste d'attributs HTML supplémentaires (ex 'class', 'title', 'confirm', 'disabled')
- $trans : bool = true
-
Si faux, désactivation de la traduction du libellé du bouton (et éventuel message de confirmation)
Return values
string —Code HTML représentant un bouton Bootstrap
Exemples : {{ 'submit'|bsButton('save', 'btn.save') }} {{ path('app_item_show', {'id':item.id})|bsButton('show', 'btn.show') }} {{ path('app_item_delete', {'id':item.id})|bsButton('remove', 'btn.delete', 'danger', '', {'confirm':true}) }}
bsCountFilter()
Affichage d'un nombre dans un badge Bootstrap (conversion numérique automatique).
public
bsCountFilter(mixed $value[, mixed $state = null ][, string $title = null ][, string $default = null ]) : string
Parameters
- $value : mixed
-
Valeur à traiter pour obtenir une quantité (calcul du nombre d'éléments pour un objet|array)
- $state : mixed = null
-
Classe Bootstrap ('primary', 'info', 'success', 'warning', 'danger'...) ou boolean true pour détermination automatique à partir du nombre (bsStateFilter) ou sinon (empty) utilisation de la classe par défaut ('dark')
- $title : string = null
-
Texte facultatif pour ajouter un attribut HTML title (affichage au survol)
- $default : string = null
-
Code HTML par défaut à retourner si le nombre est 0 (en place du badge)
Return values
string —Code HTML représentant un badge Bootstrap (petit badge arrondi)
bsEnabledFilter()
Affichage d'une valeur booléenne (actif/inactif) dans un label Bootstrap (avec traduction et état automatique).
public
bsEnabledFilter(mixed $value[, string $tok_true = 'ext.state.enabled' ][, string $tok_false = 'ext.state.disabled' ]) : string
Parameters
- $value : mixed
-
Variable à interpréter pour déterminer le booléen correspondant
- $tok_true : string = 'ext.state.enabled'
-
Libellé (token de traduction) à afficher si la variable vaut true
- $tok_false : string = 'ext.state.disabled'
-
Libellé (token de traduction) à afficher si la variable vaut false
Return values
string —Code HTML représentant un label Bootstrap (gros badge carré)
bsLabelFilter()
Affichage de la valeur dans un label Bootstrap (traduction activable) avec état automatique si non spécifié.
public
bsLabelFilter(string $value[, mixed $state = null ][, bool $trans = false ][, array<string|int, mixed> $attrs = [] ]) : string
Parameters
- $value : string
-
Texte à afficher dans le bloc label
- $state : mixed = null
-
Classe Bootstrap ('primary', 'info', 'success', 'warning', 'danger'...) ou boolean true pour détermination automatique à partir du texte (bsStateFilter) ou sinon (empty) utilisation de la classe par défaut ('dark')
- $trans : bool = false
-
Recherche d'une traduction pour le token $text (si c'est une chaine)
- $attrs : array<string|int, mixed> = []
-
Liste d'attributs HTML (en clé/valeur) à ajouter
Return values
string —Code HTML représentant un label Bootstrap (gros badge carré)
bsStateFilter()
Détermine un contexte d'état Bootstrap d'après la valeur donnée.
public
bsStateFilter(mixed $value) : string
Parameters
- $value : mixed
-
Variable à analyser (null, bool, string, numeric, DateTime)
Return values
string —Classe Bootstrap (primary, secondary, info, success, warning, danger, light, dark)
bsToggleFilter()
Affichage d'une valeur booléenne (actif/inactif) dans un label Bootstrap cliquable (pour changer l'état).
public
bsToggleFilter(mixed $value, string $route_on[, string $route_off = null ]) : string
Parameters
- $value : mixed
-
Variable à interpréter pour déterminer le booléen correspondant
- $route_on : string
-
Route de l'action du lien si la variable vaut faux (pour activer)
- $route_off : string = null
-
Route de l'action du lien si la variable vaut vrai (pour désactiver)
Return values
string —Code HTML représentant un label Bootstrap (gros badge carré)
cardTabsHeadFunction()
Formattage d'une liste de liens en barre de navigation Bootstrap (pour header de card).
public
cardTabsHeadFunction(array<string|int, mixed> $navs[, string $type = 'tabs' ][, string $label = 'tabs.group.' ][, array<string|int, mixed> $extra = [] ]) : string
Parameters
- $navs : array<string|int, mixed>
-
Liste de références pour les différents onglets/boutons de la barre
- $type : string = 'tabs'
-
Style des liens : 'tabs' (onglets), 'pills' (boutons) ou 'vtabs' (boutons verticaux)
- $label : string = 'tabs.group.'
-
Préfixe des tokens de traductions pour les libellés des références (défaut 'tabs.group.')
- $extra : array<string|int, mixed> = []
-
Liste de contenus HTML (indexés par les références) à ajouter après le libellé
Return values
string —Code HTML d'une liste de liens de navigation Bootstrap (onglets)
getFilters()
public
getFilters() : array<string|int, mixed>
Return values
array<string|int, mixed>getFunctions()
public
getFunctions() : array<string|int, mixed>
Return values
array<string|int, mixed>getBool()
Retourne l'équivalent booléen (ou null) d'une variable quelconque.
protected
getBool(mixed $value[, mixed $default = null ]) : mixed
Parameters
- $value : mixed
-
Variable à convertir en booléen
- $default : mixed = null
-
Valeur à retourner si la conversion échoue
getIcon()
Génération d'un tag HTML pour afficher un icone FontAwesome ou Bootstrap (avec quelques alias utiles).
protected
getIcon(string $name[, string $state = '' ]) : string
Parameters
- $name : string
-
Classe Bootstrap ou FontAwesome (ex 'fas-user', 'fab-user', 'envelope', 'ban-circle'...)
- $state : string = ''
-
Ajout d'une classe de type 'text-
' (ex: primary, info, success, warning, danger)
Return values
stringgetStateIcon()
Retourne le nom d'un icone correspondant à un état bootstrap (par exemple pour bsAlert).
protected
getStateIcon(string $state) : string|null
Parameters
- $state : string
Return values
string|nullgetText()
Retourne une chaine texte à partir d'une variable (avec traduction et échappements HTML possibles).
protected
getText(mixed $value[, bool $trans = false ][, bool $escape = false ]) : string
Parameters
- $value : mixed
-
Variable à convertir en texte
- $trans : bool = false
-
Recherche d'une traduction (si c'est une chaine valide)
- $escape : bool = false
-
Appliquer les échappements HTML
Return values
string —Chaine de texte correspondante
htmlAttr()
Conversion d'un hachage en une chaine d'attributs insérable dans un tag HTML.
protected
htmlAttr([array<string|int, mixed> $attr = array() ]) : string
Parameters
- $attr : array<string|int, mixed> = array()
-
Liste d'attributs HTML en clé/valeur
Return values
string —Code HTML contenant les attributs d'un tag
trans()
Recherche la traduction d'un texte (si le service $translator est disponible).
protected
trans(string $token) : string
Parameters
- $token : string
-
Chaine de texte à traduire
Return values
string —Chaine de texte traduite