Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5

Ajouter des définitions de champs aux modules ?
#1

Bonjour à tous,

Je cherche une manière d'ajouter simplement des définitions de champs à mon module EventsManager (gestion d'évènements en tous genres). Comme pour le module News ou encore les différents modules de Calguy.

Après avoir étudié le code de ces modules, il semble que ce soit fait "à la main" à chaque fois avec une table "fielddefs" et une table "fieldvals".

Aussi, je me demandais si l'un d'entre vous avait connaissance d'un module qui permettrait d'étendre les possibilités d'autres modules avec l'ajout de définitions de champs ? J'ai bien testé ModuleXtender mais rien qui ressemble à cela...

Sinon, et à mon avis après les recherches c'est ce que je vais devoir faire, que pensez-vous d'un module qui permettrait justement aux développeurs de gérer facilement leurs définitions de champs ?

L'idée serait de proposer des classes qui pourraient être intégrées ou étendues (extends) dans d'autres modules. Ceci offrirait des fonctions en plus pour chaque module afin de gérer ces définitions de champs ainsi que leurs contenus.

L'avantage d'une telle méthode serait qu'en un seul et même lieu on peut ajouter des types de champs, voire même des modes de fonctionnement - Par exemple, créer un ensemble de champs "Localisation" qui pourrait regrouper Lat/Long et adresse pour CGGoogleMaps - Et avec un affichage en conséquence sur la page d'édition de l'item du module concerné.

Vous en pensez quoi ? Peut-être que cela existe déjà, mais dans ce cas je ne l'ai pas trouvé...

Merci pour vos avis de développeurs Wink
Répondre
#2

Perso je n'ai pas connaissance d'un tel module, par contre il y'a Listit2 qui fonctionne comme cela (si j'ai bien compris ton besoin), il permet de définir des champs et les types, peut être pourrais tu t'en inspirer.

Personellement, je définis cela dans mes class, une variable public reprennant les noms des colonnes et les propriétés type, html et cie, comme sous Zend. Ensuite j'ai une class _core qui interprète tout ça.

EricFreelance - Design, intégration et développement de sites internet.
Répondre
#3

Merci Eric11 - Je vais regarder Listit pour voir ce que c'est !
Répondre
#4

Listit est pas mal foutu (soucis juste pour les langues mais facilement corrigeable) il permet de se développer rapidement un petit module personnel, on l'a utilisé avec Romain et on l'a trouvé bien pratique. Moi j'ai regardé le code (et oui, comme celui de ton module Event), j'ai trouvé des trucs interessant.

EricFreelance - Design, intégration et développement de sites internet.
Répondre
#5

Merci Wink
Répondre
#6

Citation :Sinon, et à mon avis après les recherches c'est ce que je vais devoir faire, que pensez-vous d'un module qui permettrait justement aux développeurs de gérer facilement leurs définitions de champs ?

L'idée serait de proposer des classes qui pourraient être intégrées ou étendues (extends) dans d'autres modules. Ceci offrirait des fonctions en plus pour chaque module afin de gérer ces définitions de champs ainsi que leurs contenus.

mon framework se base justement sur ce genre de déclaratif. Autant dire que le travail est déjà pré-maché

On peut étudier le fait de faire un module dédié à cela mais par expérience (avec mon recul sur le sujet) ce sera pas simple de prévoir le champs des possibles :/
Répondre
#7

Merci Bess pour ta réponse - De quel framework parles-tu ? C'est un framework maison ?

Je dois encore regarder ListIt, mais si je suis amené à me lancer dans le développement d'un module de ce genre, c'est sûr que y'a du taff. L'idée serait de proposer un "Core" avec quelques champs, qui serait ensuite extensible avec de nouvelles classes (1 classe = 1 type de champ). Ainsi, on pourrait imaginer que n'importe quel développeur de module puis ajouter une classe de champ dans un dossier spécifique de son module, qui serait alors repris dans ce même module.

Y'a du boulot, mais si ca fonctionne, ca serait un gros gain de temps pour tous les autres modules, et une souplesse intéressante pour la gestion des contenus de ces modules.
Répondre
#8

Code :
De quel framework parles-tu ? C'est un framework maison ?

Mmmfs, : http://mmmfs.furie.be

et je fonctionne avec du déclaratif,

Une table = X champs

à chaque champs je lui déclare un "HTMLField" correspondant

et j'utilise les fonctions de cette classe pour tout générer : le backoffice, le front-office et tout le reste.

Je présence justement ce framework durant le prochain GeekMoot Smile il n'est pas en open-source pour le moment.
Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 3 visiteur(s)