J'ai créé quelques plugins pour Joomla 3.2 et j'ai récemment commencé sur un composant pour gérer les locations d'appartements. Je me demandais s'il y avait un framework qui avait la structure de base de fichiers / dossiers déjà créée avec les fichiers nécessaires pour démarrer rapidement un composant.
Je ne veux pas avoir à recréer la roue à chaque démarrage, et les fichiers et les classes nécessaires au démarrage d'un composant ont une structure de base nécessaire. Y en a-t-il déjà un là-bas?
S'il n'y en a pas, à partir de quel composant Joomla stock serait un bon exemple pour travailler?
EDIT: En voyant les réponses, je pense que peut-être «cadre» était un mauvais choix de termes. Je ne cherche rien qui ait sa propre base de code. Je cherchais quelque chose qui a la structure de fichiers / dossiers qui est commune à tous les composants Joomla et requis pour fonctionner, comme le contrôleur, le dossier vues, le dossier modèles, etc.
Ce que je recherche ne devrait pas avoir de dépendances qui ne font pas déjà partie du code de base de Joomla.
J'en ai trouvé un pour joomla 1.5 qui avait tous les fichiers nécessaires et tout ce que vous aviez à faire était de renommer les classes et les fichiers pour qu'ils correspondent au nom de votre composant et d'installer et vous auriez une vue d'administration de base, une vue de menu frontal, etc. ... J'espère que quelqu'un en créera un pour
la source
Réponses:
Un outil que j'ai utilisé dans le passé est Component Creator: http://www.component-creator.com/en/ .
Cet outil vous permet de définir un tableau gratuitement (plus si vous vous inscrivez pour un package payant) ainsi que d'autres informations générales sur le composant lui-même. Vous pouvez ensuite télécharger un fichier zip installable pour démarrer le composant.
Pour ceux qui sont heureux de sauter dans le code de toute façon, cela peut être une excellente méthode simple pour démarrer le développement des composants.
Il existe également des extensions que vous pouvez installer dans Joomla pour vous aider à développer d'autres composants Joomla. Un exemple de ce style d'aide est cette extension gratuite Easy Creator: http://extensions.joomla.org/extensions/miscivers/development/5908
Cela peut être un excellent complément pour un environnement de test mélangé avec un outil de construction dans un joli package.
Il existe un autre outil appelé le générateur de composants Joomla pour la génération de composants simple et rapide. Il vous permet de créer gratuitement un nombre illimité de tables. Il existe des forfaits payants, mais il n'est pas nécessaire d'acheter, sauf si vous avez besoin de plusieurs vues. Il génère également un fichier zip installable à télécharger. Un test révèle les avantages de ce générateur. Jetez un œil au code généré et à l'indentation.
http://www.componentgenerator.com/
la source
Après avoir écrit de nombreuses extensions pour les clients, je me suis retrouvé à suivre les mêmes schémas encore et encore. Pour garder les choses au SEC, j'ai créé un «cadre de composants» qui résume la plupart des tâches courantes que je fais, mais jusqu'à présent, il n'a été utilisé qu'en interne dans mon entreprise. Il manque beaucoup de fonctionnalités, mais il fait le travail pour ce dont j'ai besoin.
J'ai dit cela pour dire ceci - développez votre propre cadre de composants de la même manière. Prenez les points communs du code que vous produisez actuellement et déplacez-le d'un niveau dans la hiérarchie OO dans sa propre couche qui se trouve entre votre composant et Joomla. Avec cette approche, vous évitez le problème "si le cadre fait faillite" que le Tchad a mentionné, et vous le comprenez beaucoup mieux. Cela a bien fonctionné pour moi jusqu'à présent.
la source
Je n'aime pas recommander une sorte de «cadre» pour ce genre de chose pour plusieurs raisons:
1) Le CMS a un «framework», et je souhaite que s'il était nécessaire de rendre «plus facile» l'écriture d'extensions, nous nous concentrerions sur le code du framework de base au lieu d'écrire des éléments tiers.
2) Si vous écrivez votre extension sur un framework qui disparaît, vous êtes plutôt foutu.
3) L'utilisation du noyau va idéalement améliorer les mises à jour. Cela n'a pas toujours été le cas, c'est pourquoi il existe des cadres tiers pour cela, mais plus nous insistons pour que ce soit le cas et nous nous attendons à ce que ce soit le cas, plus il le sera réellement. Si nous ne nous concentrons pas sur cela, cela ne s'améliorera jamais.
-
Cela dit, il existe un "RAD Framework" dans Joomla appelé FoF (framework on framework). Je ne l'ai pas utilisé mais c'est un outil qui fait gagner du temps. Il y a de la documentation ici:
https://www.akeebabackup.com/documentation/fof/getting-started-with-fof.html
Remarque - FoF est INCLUS dans la distribution de Joomla 3.2, vous n'avez donc pas besoin de l'installer si votre extension est pour Joomla 3.2+.
Enfin - si vous souhaitez rester dans le noyau et utiliser les classes MVC de base, il est actuellement encouragé d'utiliser les classes MVC héritées (changera dès que le nouveau MVC sera soigneusement analysé). Une bonne extension de base à regarder est vraiment le composant com_contact ou com_banners. Ils sont assez simples et vous pouvez reprendre des choses comme JForm et des modèles personnalisés de cette façon.
la source
Je recommanderais vivement Cook Self Service . Je pense qu'il y a une petite charge, mais cela a généré environ 85% de notre composant éducatif majeur, économisant 1000 $ pour commencer, et le code qu'il a généré était agréable et propre pour notre modification.
la source
Avez-vous jeté un œil au composant Joomla Hello World ? Je ne l'ai pas encore regardé, mais il semble qu'il ait le minimum de fichiers nécessaires pour construire un composant. De plus, puisque Joomla 3.2 inclut Framework on Framework (FOF), avez-vous examiné le composant exemple To-Do FOF ? Je sais que j'ai écrit un composant Joomla 3.x personnalisé sur ma liste de choses à faire et ce sont les deux exemples que j'avais l'intention d'utiliser pour commencer le projet. J'espère qu'ils fonctionneront aussi pour vous.
la source
Nous avons développé RB Framework, en plus de Joomla. Nous l'utilisons pour le développement de nos composants (PayPlans, PayInvoice, etc.) ( https://github.com/readybytes/rbframework )
Nous avons un constructeur de composants pour le même ( https://github.com/readybytes/component-builder )
Le cadre ci-dessus réduit beaucoup de stress de faire les mêmes choses encore et encore.
Imp:
la source