Joomla

Joomla es un Sistema de gestión de contenidos (en inglés Content Management System, o CMS) que permite desarrollar sitios web dinámicos e interactivos. Permite crear, modificar o eliminar contenido de un sitio web de manera sencilla a través de un Panel de Administración. Es un software de código abierto, desarrollado en PHP y liberado bajo licencia GPL. Este administrador de contenidos puede utilizarse en una PC local (en Localhost), en una Intranet o a través de Internet y requiere para su funcionamiento una base de datos creada con un gestor de bases de datos (MySQL es lo más habitual), así como de un servidor HTTP Apache.

Su nombre es una pronunciación fonética para anglófonos de la palabra swahili jumla, que significa "todos juntos" o "como un todo". Se escogió como una reflexión del compromiso del grupo de desarrolladores y la comunidad del proyecto.

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

En Joomla 2.5 y 3+ tiene una funcionalidad para ocultar los email.

Esto es recomendable, por eso debe ser que ahora las ultimas instalaciones que realice de Joomla 3.4.1 me está surgiendo algunos problemas cuando el contenido tiene un email, ya que este genera un javascript para poder ocultar los email, pero me está dando problemas con otro componentes o modulos que tiene javascript.

Por ello , yo desactivo el plugin : Contenido - Enmascarar correo ( emailcloak ) que trae joomla activa por defecto mientras no encuentre otra solución.

De todos modos si quieres utilizar la funcion de joomla en tus modulos o componentes en este link puedes encontrar más información.

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

El objetivo de está entrada es iniciarnos para crear nuestros plugins para Joomla, ver el potencial que tienen e incluso poder modificar el funcionamiento de alguno.

Para ello os pongo el ultimo de una serie vídeos que organizo Desarrollo Web en sus Hangouts, con titulo: "Programación con Joomla"

En estos participarón muy buenos programadores aportando su experiencias, tengo que nombrar a dos de ellos, los conocemos y tenemos muy buenas referencias de ellos:

  • Roberto Segura
  • Isidro Baquero

Video de ultimo de serie de programación en joomla.

Algunas anotaciones iniciales y genereales

- Potencia que tiene los plugins

- No es más pesado, ni influye negativamente en el rendimiento el utilizar plugins.

- Utilizar plugin hace que podamos re-utilizar con más faclidad nuestro código.

- "Los plugins se insertan despues de eventos "

 

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Nuevo módulo de Búsqueda corrigiendo error y mejorando el módulo nativo (mod_search)

Partiendo del módulo mod_search creamos uno nuevo solucionando el problema de que encontramos en módulo nativo, que al hacer una busqueda el resultado lo muestra pero no asociado a ningún tipo de item, es decir no busca en los menus un item de menu donde tengamos la lista de los resuldados de búsqueda, que es lo creo que debería hacer.

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Objetivo del Plugin: Include Component

El objetivo principal de este plugin es poder incluir un componente en cualquier sitio de Joomla.

Con esto quiero decir, que los creadores de esté plugin, nos proporcionan funcionalidad a joomla que es impresionante, ya que así podremos de una forma muy sencilla aprovechar todas las extensiones y funciones Joomla en cualquier momento y en cualquier lugar de la WEB.

Aquellos como nosotros  que creamos proyectos WEBS con Joomla, seguro que este plugin nos es muy util en un montón de ocasiones para solucionar muchísimos problemas que nos vamos encontrado.

DESCARGA Y INSTALACIÓN DE INCLUDE COMPONENT.

El plugin se encuentra en la web extensiones de Joomla, donde podemos ver la demo, descargarlo y ver las críticas o elogios de la comunidad.

Al descargarlo nos lleva a la plataforma de control de versiones de joomlacode. En principio debemos fijarnos en que versión vamos a descargar para que sea compatible con nuestro Joomla.

El plugin no está preparado para traducciones por lo que solo tendremos en ingles.

En este link de WEB EMPRESA podemos encontrar como instalarlo y activarlos.

Como utilizar INCLUDE COMPONENT:

Pues una vez activado y configurado a nuestro gusto, normalmente ya viene correctamente para su funcionamiento la configuración, podemos utilizar el plugin donde queramos , en un modulo, en un articulo... 

Utilizando el siguiente código:

{ component url='index.php?option=com_component&Itemid=73&parameters....'  }

Para meter link podemos utilizar el mismo generado por nuestros item de menus.

Donde los utilizamos INCLUDE COMPONENT nosotros:

Como ya dije, este plugin es muy util y por ello vamos a poner alguno link a webs donde lo utilizamos y indicando para que.

evigo.es

Para añadir de una forma organizada y con más información los agregadores de RSS que nos facilita Joomla.

Es decir poder crear un categoria en contenido de medios prensa, poder añadir el medio en un articulo y poder añadir el agregador noticias externas en ese articulo.

 

 

 

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Hace mas 8 años que empecé a utilizar Joomla y lo primero que pensé fue en crear mis propios componentes.

Hoy en día hago mis pinitos como desarrollador de componentes de joomla, no soy experto, pero me voy defendiendo (ver mi github). Mis inicios fueron frustrantes, la cantidad de ficheros que hay crear para un componente se hacía una faceta compleja y desesperante. Esté es el motivo de esté articulo, conseguir una guía de lugares y métodos para crear un componente y no morir en el intento.

Anibal Sanchez
"En honor a la verdad, un componente mínimo solo necesita tener un solo archivo com_foo.php y opcionalmente un router. El resto es para seguir las prácticas del JFramework."

Realmente es muy cierto, solo haría falta un fichero. :-)

Mis primeras busquedas para desarrollar una extension en Joomla.

Empecé buscando aplicaciones que me ayudarán a crear componente de forma sencilla y las hay, me imagino que con la practica se puede hacer útiles para componentes sencillos.Algunas de esas aplicaciones y extensiones:

Hoy en día no las utilizo, porque soy un poco de los que piensa que es bueno crea la rueda varias veces antes de simplemente utilizarla :-)

 

Documentación de como crear una extensión de Joomla :

Listado sitios que me parecen interesantes y que algún momento me util para crear un componente en Joomla:

 

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

En nuestro repositorio de GitHub puedes descargarte el mod_login_virtuemart, donde tiene la opción de cargar un menu, el que asignemos en la configuracion, este menu se muestra una vez no identificamos.

Es muy util, para mostrar en el mismo modulo cuando este registrado un menu exclusivo para los usuarios, la tipica Area privada.
Aparte tiene tres presentaciones:

  •  Enlaces: En la que solo muestra enlace Registro y mi cuenta.
  • Vertical: Muestra formulario acceso vertical,un campo debajo del otro.
  • Horizontal: Muestra formulario acceso horizontal, un campo al lado de otro.
Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Akeeba es una de esas extensiones que utilizo en todas mis webs, por la sencillez y eficacia, no puede faltar en ninguno de mis proyectos.

Ahora en la version v6.4.0 me genera un error al restaurar una copia.

No se si es un error de mi copia o un error de la version del componente, aunque me temo lo ultimo.

Captura de pantalla de 2019 02 27 09 48 47

 

La solucion es sustituir la linea 12  del fichero instalation/sql/site.sql por :

CREATE TABLE `#__akeeba_common` ( `key` varchar(192) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL, `value` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, PRIMARY KEY (`key`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

 

Solucion ofrecidad por Nicolas el creador componente:

Aunque a la hora reportar el error en siguiente link, recibo una respuesta automatica diciendo que no responden, que si quiero una respuesta le mandemos un ticket ( cosa para hacerlo hay que tener una subcripción ).

Al día siguiente de enviar el error recibo una respuesta de Nicolas diciendo:

Before database restoration set:

Allow UTF8MB4 auto-detection : No
Force UTF-8 collation on tables : Yes

Como mi ingles es muy malo , me ayudo de Google y :

Antes conjunto de restauración de base de datos:

Permitir UTF8MB4 detección automática: No
Fuerza UTF-8 de colación en las tablas: Sí

En la nueva restauración que hice probé a cambiar la configuración y fue correctamente.

configuracion error 640 akeeba

MUCHÍSIMAS GRACIAS NICOLAS POR CONTESTAR.

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Un modulo nativo de los más utilizados por nosotros, por la facilidad que nos permite añadir contenido.

Incluso podemos añadir instrucciones ejecucción de plugin, que nos hacer que este modulo sea mucho más vestatil.

Nosotros no somo partidarios de instalar muchos modulos de terceros, somos más partidarios de reutilizar modulos nativos, incluso copiarlos para añadirles más caracteristicas.

Normalmente es muy fácil poder duplicar un modulo, pero en este caso el mod_custom nos trajo alguna complicación.

Por ello analizamos a fondo el funcionamiento interno de este modulo, el uso a nivel de usuario hay ya mucha información en la red.

[PENDIENTE]CARGAR LINK DE AYUDA MODULOS PERSONALIZADOS.

CÓDIGO DEL MODULO COSTUM

Realmente este modulo no tiene mucho que explicar.

Tiene los siguiente fichero y carpetas:

- mod_custom.php

- mod_custom.xml

- DIRECTORIO: tmpl

El directorio tmpl, es donde podemos encontrar la vista por default, que podemos realizar overwrite para nuestra plantilla.

Lo más curioso y lo que nos hace que no podemos copiar el modulo y cambiarle el nombre y poder modificar el funcionamiento de este, es que este modulo en la parte administrativa carga una seccion llamada "Salida Personalizada" y no esta indicada en los fichero del código del modulo.

Esto es debido que la extension "Gestor de modulo" tal como conocemos en la parte administrativa , es un componente de la parte administrativa ( com_module), y es esté componente el que añade la sección del modulo custom ( "Salida Personalizada" ) por lo que si queremos que la añada en otro modulo tendriamos que cambiar el código del "Gestor de modulos" ,algo por lo que nosotros no estamos de acuerdo ,ya pertenece para nosotros al nucleo del Joomla.

Ficheros de com_module donde realiza la carga sección "Salida Personalizada"

com_module/views/module/edit.php


$hasContent = empty($this->item->module) || $this->item->module == 'custom' || $this->item->module == 'mod_custom';
/* Lineas adelante pone el siguiente código donde inserta la secciónd de "Salida Personaliza "*/
<?php if ($hasContent) : ?>
        <div class="col main-section">
        <fieldset class="adminform">
            <legend><?php echo JText::_('COM_MODULES_CUSTOM_OUTPUT'); ?></legend>
            <ul class="adminformlist">
                <li><?php echo $this->form->getLabel('content'); ?>
            <div class="clr"></div>
                <?php echo $this->form->getInput('content'); ?></li>
            </ul>
        </fieldset>
        </div>
<?php endif; ?>

Con esto nos obliga buscar otra solución para cuando queramos cambiar el funcionamiento o el uso del mod_custom

BUSQUEDA DE MODULOS EXTERNOS SIMILARES.

Antes ponernos a idear soluciones para lo que pretendemos hacer, nos ponemos a buscar otro modulos que sean similares.

Modulo Custom Advanzado: Este modulo simplemente utiliza la creación de campos texto, lo descarto ...

Ad Single Article: Este modulo es muy simple, lo que hace es añadir el contenido de un articulo dentro del modulo, por lo que podemos ponerlo en las posición que le indiquemos.( Muy util)...

 

 

 

 

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Con el cambio de ley de LOPD en españa el 25 mayo 2018, no pusimos a buscar soluciones para nuestros cliente que cubran todos los aspectos legales que pide esta ley.

Encontramos la extensión creada por Joomla! Extensions Store -> GDPR. Link a descarga extension .La instalamos para probar su potencial, de inicio me encuentro que solo tiene los idiomas de ingles y italiano, por lo que hago una traduccion language al español, un poco chafa... :-)

Link a github donde tengo los paquetes laguage en español de extension GDPR

 Mirar que pinta.