¿Dónde puedo almacenar funciones PHP personalizadas en Joomla y cómo las llamaría?

Depende de lo que intente lograr, pero hay algunos métodos que puede usar, es imprescindible que comprenda cómo funciona el CMS Joomla para que cualquier código se adhiera a la API de Joomla.

Bibliotecas

Según lo que ha descrito, esto probablemente sea lo que busca, puede crear sus propias bibliotecas, crear un paquete instalable e instalarlas desde el administrador. Las bibliotecas se pueden importar y usar dentro de su aplicación, pero, por supuesto, si usa las bibliotecas, es posible que necesite crear código en otra parte de su aplicación.

Usando una biblioteca propia en tus extensiones

Componentes

Usaría un componente como si fuera una aplicación independiente que se ejecuta dentro del CMS de Joomla, como una aplicación de comercio electrónico, foros, extensiones de formulario y cualquier cosa que pueda ejecutarse dentro de Joomla.

Componente – Joomla! Documentación

Módulos

Los módulos generalmente admiten componentes al mostrar información almacenada por un componente, considere el módulo Últimos artículos, por ejemplo, que muestra los últimos artículos del componente de contenido.

Sin embargo, los módulos pueden ser extensiones independientes que funcionan por sí mismas entregando información o funcionalidad. Puede integrar un mapa de Google, por ejemplo, como una extensión independiente que se instala desde el administrador y se carga en una posición de módulo.

Módulo – Joomla! Documentación

Complementos

Los complementos son aplicaciones que se activan en puntos de activación en Joomla CMS. Por ejemplo, cuando alguien carga contenido, puede agregar funcionalidad adicional al contenido en sí mismo, manipular o cambiar el contenido de alguna manera o hacer algo justo antes o después de que se cargue el contenido y mucho más.

Tomemos, por ejemplo, a alguien que desee instalar Disqus en su sitio de Joomla, pueden hacerlo implementando un complemento de contenido Disqus que se activa en BeforeDisplay, hay otros desencadenantes que se pueden usar y puede usar un complemento del sistema en su lugar.

Plugin – Joomla! Documentación

Plantillas

Las plantillas son las que componen la apariencia en el front-end, aunque también hay plantillas administrativas de backend.

Plantilla – Joomla! Documentación

Por lo tanto, hay muchas formas de extender el CMS de Joomla y, dependiendo de lo que intente lograr, dependerá de lo que debe escribir y dónde debe almacenarse.

Bueno, creo que probablemente eres un nuevo usuario de Joomla y realmente frustrado porque Joomla ahorra tu valioso tiempo, pero ahora necesitas algo que no esté preprogramado en Joomla o la extensión que estás utilizando. Si está de acuerdo, lea a continuación.

  • La mayoría de las extensiones de Joomla siguen el patrón MVC al incluir las clases de mvc que se encuentran en la biblioteca de Joomla.
  • Además, si desea que su función se incluya en todas las extensiones de Joomla, puede agregar su definición de función en la clase de controlador de biblioteca de Joomla. Hay principalmente 3 clases de controlador
  • Si desea que su función sea accesible solo desde su componente deseado, entonces puede agregar su definición de función en el archivo de clase de controlador de ese componente. Es muy fácil
  • Entonces, en general, lo que necesita es agregar su función en la clase de controlador

Si es nuevo en Joomla, encontrará dificultades para agregar nuevos campos al perfil de usuario, agregar funciones personalizadas, etc. Pero puede preguntarlos en quora. Definitivamente te ayudaré

Una forma de hacerlo sería agregar las funciones al archivo index.php de su plantilla. No está claro dónde desea llamarlos, pero puede hacerlo desde cualquier archivo php. Entonces, por ejemplo, podría llamar a su función en una anulación de plantilla (Cómo anular la salida del núcleo de Joomla!), Ya que la función ya ha sido declarada en su archivo index.php. La desventaja de modificar su archivo de plantilla de esta manera es que, si alguna vez cambia su plantilla (o si es una plantilla de un tercero que no es la suya y recibe actualizaciones), deberá recordar agregar sus funciones nuevamente.

Un lugar más Joomla-esque para colocarlos sería almacenarlos en un archivo php en la carpeta de bibliotecas, luego usar un include para traerlos desde un complemento personalizado. Puede colocar las funciones directamente en el complemento personalizado, pero si, por alguna razón, desea hacer varios complementos utilizando las mismas funciones, una biblioteca reduce el código y hace que las actualizaciones sean independientes.

Un complemento realmente útil para Joomla es Sourcerer. Joomla no permite el script de código por defecto en ninguno de sus campos de texto o editor de administrador. Sourcerer agrega la capacidad de agregar secuencias de comandos de código en cualquier lugar donde pueda colocar texto. Esa sería otra forma de llamar a sus funciones.