web-dev-qa-db-fra.com

Joomla Component Tool ou Scaffold?

J'ai créé quelques plugins pour Joomla 3.2 et j'ai récemment démarré un composant permettant de gérer la location d'appartements. Je me demandais s’il existait un système doté de la structure de base de fichiers/dossiers déjà créée avec les fichiers nécessaires à la mise en route rapide d’un composant.

Je ne veux pas avoir à recréer la roue à chaque démarrage, et les fichiers et les classes nécessaires à la mise en route d'un composant ont une structure de base nécessaire. Y en a-t-il déjà un?

Si tel n’est pas le cas, quel composant de stock Joomla serait un bon exemple à partir duquel travailler?

EDIT: En voyant les réponses, je pense que peut-être que "framework" était un mauvais choix de termes. Je ne cherche rien qui ait sa propre base de code. Je cherchais quelque chose qui possède la structure de fichiers/dossiers commune à tous les composants Joomla et devant être exécutée, telle que le contrôleur, le dossier des vues, le dossier des modèles, etc.

Ce que je recherche ne devrait pas avoir de dépendances qui ne font pas déjà partie du code principal de Joomla.

J'en ai trouvé un pour joomla 1.5 qui contenait tous les fichiers nécessaires. Tout ce que vous deviez faire était de renommer les classes et les fichiers pour qu'ils correspondent au nom de votre composant et de son installation. ... J'espère que quelqu'un a créé un pour

12
pathfinder

Un outil que j'ai utilisé par le passé est Component Creator: http://www.component-creator.com/en/ .

Cet outil vous permet de définir une table 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 contents de se lancer dans le code de toute façon, cela peut être une méthode simple et géniale pour relancer le développement du composant.


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'assistance est l'extension gratuite Easy Creator: http://extensions.joomla.org/extensions/misc Miscellaneous/development/5908

Cela peut être un excellent complément pour un environnement de test mélangé à un outil de construction dans un package Nice.


Il existe un autre outil appelé Joomla Component Generator pour la génération simple et rapide de composants. Il vous permet de créer des tables illimitées gratuitement. 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. Regardez le code généré et l'indentation.

http://www.componentgenerator.com/

15
David Fritsch

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 "framework de composants" qui supprime 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 framework 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 supérieur dans la hiérarchie OO dans son propre calque situé entre votre composant et Joomla. Avec cette approche, vous évitez les " Si le cadre disparaît, le problème mentionné par Chad, et vous le comprenez mieux. Cela a bien fonctionné pour moi jusqu’à présent.

8
Don Gilbert

Je n'aime pas recommander de "framework" pour ce genre de choses 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 principal 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 la raison pour laquelle il existe des cadres tiers, mais plus nous insistons pour qu’il en soit ainsi et nous nous attendons à ce qu’il le soit, plus ce sera réellement le cas. Si nous ne nous concentrons pas là-dessus, cela ne s'améliorera jamais.

-

Cela dit, il existe un "framework RAD" dans Joomla appelé FoF (framework on framework). Je ne l'ai pas utilisé mais on dit que c'est un outil qui fait gagner du temps. Il y a de la documentation à ce sujet 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 de base du MVC, il est toujours conseillé d'utiliser les anciennes classes de MVC (elles changeront dès que le nouveau MVC aura été complètement analysé). Une bonne extension de base à regarder est vraiment le composant com_contact ou com_banners. Ils sont assez simples et vous pouvez vous en servir, entre autres, comme JForm et les modèles personnalisés.

5
Chad Windnagle

Je recommande vivement Cook Self Service . Je crois que les frais sont minimes, mais ils ont généré environ 85% de notre composante majeure en matière d’éducation, ce qui a permis d’économiser 1 000 dollars, et le code généré était Nice et propre pour notre modification.

4
GDP

Avez-vous jeté un coup d'œil au composant Joomla Hello World ? Je ne l'ai pas encore regardé, mais il semble qu'il possède le nombre minimum de fichiers nécessaires à la construction d'un composant. De plus, depuis que Joomla 3.2 inclut Framework for Framework (FOF), avez-vous examiné le composant exemple de ToFo FOF ? Je sais que j'ai écrit un composant personnalisé Joomla 3.x sur ma liste de tâches à effectuer et ce sont les deux exemples que je prévoyais d'utiliser pour démarrer le projet. J'espère qu'ils travailleront pour vous aussi.

3
RRYontz
  1. 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 )

  2. Nous avons un constructeur de composants pour le même ( https://github.com/readybytes/component-builder )

Le cadre ci-dessus réduit beaucoup le stress de faire les mêmes choses encore et encore.

Imp:

  1. La documentation n'est pas disponible. Vous devez apprendre par les composants existants.
  2. Il est si puissant que notre site Web propose des composants personnalisés pour la création de blogs et la documentation (développés en une journée).
1
Shyam