Le développement d'extensions sous TYPO3 (suite)
TCA signifie Table Configuration Array. Vous ne serez donc pas surpris de retrouver une configuration sous forme de tableau ! Modifiez size et max à votre convenance, sachant que logiquement, la valeur de « size » est inférieure à la valeur de « max ».
Vous trouvez d'autres informations sur le TCA sur cette page : Plus d'informations sur le TCA
Ecraser ensuite le fichier sur le serveur avec cette nouvelle version.
Le fichier ext_tables.php est complémentaire de tca.php. On retrouve dans ce dernier, la définition de tous les champs tandis que ext_tables.php contient leur représentation.
Nous avons ici la configuration qui gère l'affichage des données dans le backend. La valeur 'label' indique le champ utilisé en priorité ; il s'agit ici de 'uid'. Nous devons afficher le prénom et le nom afin que ce soit plus explicite pour l'utilisateur. Nous allons donc modifier 'label' et remplacer 'uid' par 'firstname' pour le prénom et ajouter 'label_alt' pour les champs alternatifs, à savoir 'lastname'. Normalement, 'label_alt' contient des valeurs qui seront affichées si 'label', ici firstname, n'est pas renseigné. Nous allons donc forcer l'affichage avec 'label_alt_force' => '1'
Voici le code :
$TCA["user_contactlist_members"] = array (
"ctrl" => array (
'title' => 'LLL:EXT:user_contactlist/locallang_db.xml:user_contactlist_members',
'label' => 'firstname',
'label_alt' => 'lastname',
'label_alt_force' => '1',
'tstamp' => 'tstamp',
'crdate' => 'crdate',
'cruser_id' => 'cruser_id',
'sortby' => 'sorting',
'delete' => 'deleted',
'enablecolumns' => array (
'disabled' => 'hidden',
'fe_group' => 'fe_group',
),
'dynamicConfigFile' => t3lib_extMgm::extPath($_EXTKEY).'tca.php',
'iconfile' => t3lib_extMgm::extRelPath($_EXTKEY).'icon_user_contactlist_members.gif',
),
"feInterface" => array (
"fe_admin_fieldList" => "hidden, fe_group, firstname, lastname, street, postcode, city, image",
)
);
TYPO3 garde la configuration en cache. Je vous recommande donc de vider le cache après chaque modification. Vous pouvez également désactiver le cache de TYPO3 lorsque vous développez des extensions. Modifiez la valeur dans l'outil d'installation de TYPO3 :
[EXT][extCache] = 0
Voici néanmoins ce que vous devriez retrouver après ces deux modifications :
Insérez ensuite un plugin sur la page Contacts. Votre plugin en place, il restera encore un peu de travail.
L'affichage des données dans le frontend est geré par une classe. Celle-ci porte le nom de votre extension et elle se situe dans le dossier pi1/. Dans notre exemple, il s'agit du fichier class.user_contactlist_pi1.php. Ouvrez le fichier avec votre éditeur favori. On remarque que user_contactlist_pi1 est une extension de la classe tslib_pibase. Cette dernière contient une multitude de fonctions ! Cependant, le fonctionnement de notre extension est plutôt simple donc n'ayez aucune crainte.
La méthode main() n'est qu'un exemple. Vous pouvez donc la commenter ou supprimer son contenu.
Les derniers articles à consulter :
Afficher une page 404
Comment créér une page non trouvée (404) sous TYPO3
TYPO3 et le e-Commerce (1ère partie)
Quelle extension utiliser pour faire du e-Commerce avec TYPO3 ?
Felogin, la newloginbox intégrée (TYPO3 v 4.2)
Felogin remplace l'extension newloginbox et offre la possibilité d'offrir une boite de connexion pour protéger l'accès à certaines pages.

