---
title: "La beauté et la puissance des Custom Fields "
format: html
theme: darkly
number-sections: true
include-in-header:
- text: |
- text:
---
by [Marc Dechèvre](https://www.woluweb.be/)
Christian Bardin & Marc Dechèvre
JoomlaDay Paris 2018 | **#jd18fr**
Retrouvez tous les slides sur https://slides.woluweb.be
Champs Personnalisés = Custom Fields
## Joomla avant la version 3.7
Proche de la perfection... | Pour faire une analogie musicale :
## Et puis Joomla 3.7 est arrivé
P* ! 3.7 a embarqué les **Custom Fields**. Joomla rocks !!!
## Et ça a donné ce sentiment

## Quelques exemples
Les Champs Personnalisés peuvent être utiles dans plein de contextes.
### Version détaillée
Sur le nouveau portail www.joomla.fr, une série d'articles dédiés aux Custom Fields.
Déjà 2 épisodes :
* https://www.joomla.fr/actualites/cp-episode-1-cas-utilisation-champs-personnalises
* https://www.joomla.fr/actualites/cp-episode-2-comment-gerer-ses-champs-personnalises
Probablement encore plus de 6 épisodes à venir !
### Illustrations

#### URLs des exemples
1. https://www.bbpo-fbpo.be/nl/organizer-zoeken
2. https://www.moisdudoc.be/demandez-le-programme
3. https://www.lejourlepluscourt.be
4. http://www.greendog.fr/experimentations
5. https://clear-my-cache.com
6. https://www.joomladay.fr
#### Captures d'écran des exemples
... avec les captures d'écran correspondantes






## Comment on fait ça ?
### Exemple concret - le site joomladay.fr
En live coding, voyons comment on peut ajouter un Custom Field sur les articles de la Catégorie *Conférences*
Mais avant de commencer à créer tous les Custom Fields
* faire un inventaire : (i) quels Custom Fields et (ii) quels types
* assignés à quelles catégories
* si possible, essayer de simplifier en utilisant un même CF pour plusieurs catégories p.ex.

### Le PHP dans le layout override
Pour personnaliser le rendu de tous les articles de Catégorie *Conférences*, un Layout Override de la vue Article a été réalisé et un fichier **conf.php** a donc été créé dans le dossier
```php
/templates/shaper_helix3/html/com_content/article
```
où ```shaper_helix3``` est le nom du template utilisé dans le cas présent. NB : si on édite les fichiers directement depuis l'interface d'administration de Joomla, on trouve donc le fichier dans ```html > com_content > article```
Le champ 4 est un Champ Personnalisé (qui n'est pas natif) permettant de faire un lien vers un fichier (PDF) et qui a ses propres paramètres de styling directement dans ses paramètres.
Le champ 28 est un Champ Natif (simple champ lien).
A l'endroit voulu du Layout Override, on ajoute le code suivant pour afficher respectivement les champs "Télécharger" et "Ouvrir" :
```php