Toute l'actualité du CMS TYPO3, typoscripts, extensions, liens et téléchargements
Nous sommes le 10/02/2012
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.

