Je débute avec Yii et j’essaye de développer quelque chose de propre. Actuellement, j’ai utilisé le gii pour créer le CRUD d’une table, mais je voudrais transformer les données affichées au sein du CGridView (je me base sur l’action “admin”).
Par exemple, une colonne fsize contient le poids (en octets) d’un fichier, je voudrais l’afficher de manière lisible.
Donc, quelques questions se posent à moi :
Si j’ai bien compris, je dois créer un nouveau dataprovider qui étendra le principal et permettra de faire les modifications sur les lignes, où doit-il se placer ?
Quelles sont les méthodes obligatoires dans cette classe et quels paramètres recevront-elles ?
Et dans le fichier controllers/FileController.php:
protected function humanReadable($data, $row)
{
// ma moulinette
return $humanValue;
}
Ca me semble fonctionner plutôt bien, mais je pense que je devrais mettre cette fonction à un endroit plus global (elle sera utilisée par d’autres modules), donc je cherche où la placer et comment l’appeler. A moins de faire des accesseurs depuis les controleurs qui en ont besoin ?
ou quelque chose comme ça (merci de pas répondre juste ‘ça marche pas’). L’array contient la fonction de callback (‘class’,‘fonction’) (donc pas $this)