Creé un par de complementos para Joomla 3.2 y recientemente comencé un componente para administrar alquileres de apartamentos. Me preguntaba si existe un marco que tenga la estructura básica de archivos / carpetas ya creada con los archivos necesarios para que un componente funcione rápidamente.
No quiero tener que volver a crear la rueda cada vez que empiezo, y los archivos y clases necesarios para que un componente funcione tienen una estructura básica necesaria. ¿Ya hay uno por ahí?
Si no lo hay, ¿desde qué componente de Joomla sería un buen ejemplo para trabajar?
EDITAR: Al ver las respuestas, creo que tal vez "marco" fue una mala elección de términos. No estoy buscando nada que tenga una base de código propia. Estaba buscando algo que tenga la estructura de archivo / carpeta que es común a todos los componentes de Joomla y que se requiere para ejecutar, como el controlador, la carpeta de vistas, la carpeta de modelos, etc.
Lo que estoy buscando no debería tener dependencias que no sean parte del código central de Joomla.
Encontré uno para Joomla 1.5 que tenía todos los archivos necesarios y todo lo que tenía que hacer era cambiar el nombre de las clases y los archivos para que coincidieran con el nombre de su componente e instalar, y tendría una vista de administrador básica, una vista de menú frontal, etc. ... espero que alguien haya creado uno para
fuente
Respuestas:
Una herramienta que he usado en el pasado es Component Creator: http://www.component-creator.com/en/ .
Esta herramienta le permite delinear una tabla de forma gratuita (más si se registra para un paquete pago), así como otra información general sobre el componente en sí. Luego puede descargar un archivo zip instalable para iniciar el componente.
Para aquellos que están contentos de saltar al código de todos modos, este puede ser un gran método simple para impulsar el desarrollo del componente.
También hay algunas extensiones que puede instalar en Joomla para ayudarlo a desarrollar otros componentes de Joomla. Un ejemplo de ese estilo de ayuda es esta extensión gratuita Easy Creator: http://extensions.joomla.org/extensions/miscellaneous/development/5908
Este puede ser un gran complemento para un entorno de prueba combinado con una herramienta de compilación en un paquete agradable.
Hay otra herramienta llamada Joomla Component Generator para la generación de componentes simple y rápida. Le permite crear tablas ilimitadas de forma gratuita. Hay paquetes pagos, pero no es necesario comprarlos a menos que necesite múltiples vistas. También genera un archivo zip instalable para descargar. Una prueba revela los beneficios de este generador. Eche un vistazo al código generado y al sangrado.
http://www.componentgenerator.com/
fuente
Después de escribir numerosas extensiones para clientes, me encontré siguiendo muchos de los mismos patrones una y otra vez. Para mantener las cosas SECAS, creé un "marco de componentes" que abstrae la mayoría de las tareas comunes que hago, pero hasta ahora solo se ha utilizado internamente en mi empresa. Carece de muchas características, pero hace el trabajo para lo que necesito.
Dije eso para decir esto: desarrolle su propio marco de componentes de la misma manera. Tome los puntos en común del código que está produciendo actualmente y muévalo a un nivel superior en la jerarquía OO a su propia capa que se encuentra entre su componente y Joomla. Con este enfoque, evita el problema "si el marco se rompe" que mencionó Chad, y lo comprende mucho mejor. Me ha funcionado bien hasta ahora.
fuente
No me gusta recomendar ningún tipo de 'marco' para este tipo de cosas por varias razones:
1) El CMS tiene un 'marco', y desearía que si fuera necesario facilitar la escritura de extensiones, nos concentraríamos en el código del marco central en lugar de escribir elementos de terceros.
2) Si escribes tu extensión en un marco que desaparece, estás bastante jodido.
3) Usar el núcleo idealmente va a mejorar las actualizaciones. Este NO SIEMPRE ha sido el caso, razón por la cual existen marcos de terceros para esto, pero cuanto más insistamos en que sea así y esperemos que sea, más será. Si no nos centramos en ello, nunca mejorará.
-
Dicho esto, hay un "RAD Framework" en Joomla llamado FoF (framework on framework). No lo he usado, pero se dice que es una herramienta que ahorra tiempo. Hay algo de documentación aquí:
https://www.akeebabackup.com/documentation/fof/getting-started-with-fof.html
Nota: FoF está INCLUIDO en la distribución de Joomla 3.2, por lo que no necesita instalarlo si su extensión es para Joomla 3.2+.
Finalmente, si desea permanecer en el núcleo y usar las clases principales de MVC, actualmente todavía se recomienda usar las clases MVC heredadas (cambiará tan pronto como el nuevo MVC sea completamente analizado). Una buena extensión base para mirar es realmente el componente com_contact o com_banners. Son bastante simples y puedes aprender cosas como JForm y modelos personalizados de esa manera.
fuente
Recomiendo encarecidamente Cook Self Service . Creo que hay un pequeño cargo, pero generó aproximadamente el 85% de nuestro componente educativo principal, ahorrando $ 1000 para comenzar, y el código que generó fue agradable y limpio para nuestra modificación.
fuente
¿Has echado un vistazo al componente Joomla Hello World ? Todavía no lo he mirado, pero parece que tiene los archivos mínimos necesarios para construir un componente. Además, dado que Joomla 3.2 incluye Framework on Framework (FOF), ¿ha mirado el componente de ejemplo To-Do FOF ? Sé que escribí un componente personalizado de Joomla 3.x en mi lista de cosas que hacer y estos fueron los dos ejemplos que estaba planeando usar al comenzar el proyecto. Con suerte, trabajarán para usted también.
fuente
Hemos desarrollado RB Framework, además de Joomla. Lo usamos para el desarrollo de nuestros componentes (PayPlans, PayInvoice, etc.) ( https://github.com/readybytes/rbframework )
Tenemos un generador de componentes para el mismo ( https://github.com/readybytes/component-builder )
El marco anterior reduce mucho el estrés de hacer las mismas cosas una y otra vez.
Imp:
fuente