Joomla

logo-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.

Si estás buscando un PLANTILLA PARA JOOMLA, nosotros te informamos sin compromiso. CONTACTAR con SOLUCIONES VIGO

Visión : 

img-articulo-joomla-plantillas-parte1

El objetivo es conseguir mostrar el funcionamiento de las plantillas en Joomla. Este manual usuario es para versiones de Joomla 1.6 hasta 3.0, aunque esta ultima cambia la estetica bastante en comparación con las anterires.

La versiones de Joomla 1.5 no tienen todas las fucionalidades de que mostramos.

Hay varios MANUALES DE USUARIO de Joomla:

Hay muchas webs con manuales de uso de Joomla donde explican y muy bien todo el funcionamiento de las plantillas de Joomla, como instalarlas y que funcionalidad tienen, también desde la parte administrativa podras encontrar un icono de ayuda donde nos lleva a a siguiente link, lo explica en ingles , bastante bien. 

Pero el principal objetivo de esta entrada es apuntar y aclarar algunas punto que pensamos que son importantes entender.

Duplicar plantilla en el nuevo gestor de plantillas de Joomla.

img-articulo-joomla-plantillas-gestorplantillas25-1

Como indica en la imagen , el icono que tenemos de duplicar, lo que hace realmente es darnos la opción a tener la misma plantilla pero con selecciones distintas de sus parametros, para poder utilizarlos en alguna de nuestras secciones de la web.

Es algo interesante , y sobre todo muy util sin nuestra plantilla tienes parametros que pueden gustarnos varias opciones para distintas secciones de nuestra plantilla.

Claro esta que la plantilla tiene que tener parametros creandos, sino no tiene sentido está opción de duplicar esa plantilla.

La opción de duplicar plantalla no duplica codigo de plantilla.

Realmente para aquellos usuarios que ya se atreven a cambiar algo de código en las plantillas, pueden llegar a pensar que así tendrían una copia de su plantilla , le recordamos y advertir  que está opción no duplica la plantilla realmente, solo duplica el registro en la tabla de la base de datos.

Vea la entrada que tenemos "Crear una version de una plantilla" donde explicamos como duplicar una plantilla en código.

Fuentes y Referencias sobre Joomla 2.5:

Post de Captus: En este post un poco novedades de Joomla 2.5

Otras Referencias de lugares donde puedes descargar plantillas gratis de 2.5

Joomla24.com: Puedes encontrar plantillas para varias versiones joomla.

Joomlaos.com: Donde tanto puedes encontrar plantillas, como extensiones para varias versiones de Joomla

Taringa: Un post donde lista plantillas para joomla 2.5 gratis.

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.

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.

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 "

 

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.

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.

 

 

 

Los componente de Phoca.cz son siempre una excelente opción.

Hoy toca integrar phoca-email aun web, después de hora probando otros me decidí por este componente ya que hace lo que buscabamos y de momento no necesitamos más.

El phoca.cz es que creo que algunos patrones que utiliza Joomla se lo pasa a la bartola, pero no puedo hablar mucho ya que hasta ahora no hemos tocado mucho este componente, para ponernos a críticarlo.

CODIGOS A PONER EN EL NEWSLETTER.

 

  • {name} - será reemplazado por nombre de usuario
  • {email} - será reemplazado por correo electrónico del usuario
  • {sitename} - será reemplazado por el nombre del sitio web - se puede configurar en las opciones
  • {subscriptionname} - será reemplazado por el nombre de la suscripción - se puede configurar en las opciones,, no se realmente para que se pone.
  • {activationlink} - Es el enlace para la activación - Si queremos indicar texto debemos ponerlo dentro href="/{activationlink}
  • {unsubscribelink} - Es el enlace cancelacion subcripción, al igual que anterior
  • {articlelink} - será reemplazado por el enlace a un artículo específico fijado en opciones del boletín
  • {readonlinelink} - Enlace a ver lo on-line, ejemplo:
    <a href="{readonlinelink}">haga clicl para verlo onlinea</a>

Explicacion de los campos de la tabla prefijo_phocaemail_subscribers.

Campos:

  • `name`: El nombre que puso en el campo name.
  • `email`: El email con el se hizo subscriptor del boletin.
  • `token`: Token que genera cuando uno se subscribe, se utiliza para montar los links activacion y desactivacion.
  • `published`: Estado de publicado (1) o despublicado (0), esta opción no comprobe exactamente para que lo utiliza:
        -Si manda o no email
        -Si permite link a ver noticia directamente o no ..{readonlinelink}
        ...
  • `active`: Indica si está activo y puede estar en:
      1. valor 0 : Se subscribio pero aun no activo
      2. valor 1 : Activo
      3. valor 2 : Cancelo la subscripción.

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)...

 

 

 

 

1. crear archivo filter_xxx.xml (models/forms/filter_versions.xml)

  1.  campo buscar
    1. name="search"
    2. class="js-stools-search-string"
  2.  campo personalizado
    1. name="filtroMarcas"
    2. type="filtroMarcas"
    3. onchange="this.form.submit();"

De esta forma añado un buscador simple y bton herramientas busqueda donde puedo encontrar los campos personalizados, como campo de entrada vacia. (por el momento)

Si creamos otro archivo: ej. filtroMarcas.php (models/fields/filtroMarcas.php) es donde relacionamos el campo personalizado creado anteriormente.

2. Se crea archivo filtroMarcas.php (models/fields/filtroMarca.php)

Opcional: solo es necesario cuando hay Campos personalizados -----------------------------

Campo personalizado, si es buscador solo no es necesario hacer esto.

  1.  class JformFieldFiltroMarcas extends JFormFieldList
  2.  protected $type='filtroMarcas'
  3. funcion getOptions() --> hacer query, listar, y dejar seleccionada la opc.
    1. Con ... foreach {
    2. $tmp = Jhtml::_('select.option', $item->id, $item->nombre);
    3. $options[] = $tmp
    4. }
  4. funcion getOptionsExternally() : Metodo para obtener una lista de opc para una entrada de la lista de forma externa y no de XML.

--------------------------------------------------------------------------------------------------------------!

3. Añadir lineas en view.html.php views/nodelos/view.html.php

  1. en funcion display()
    1.  $this->filterForm = $this->get('FilterForm');
    2.  $this->activeFilters = $this->get('ActiveFilters');

4. Añadir herramientas de busqueda default.php views/nodelos/tmpl/default.php

  1. <?php
    1. echo JLayoutHelper::render('joomla.searchtools.default', array('view' => $this));
  2. ?>

5. Añadir 3 funciones en marcas.php (models/marcas.php)

query de lo que queremos que haga el filtro de busqueda...

  1.  __construct ($config=array()) establece campos de filtro
  2.  populateState ($ord=null, $dir=null) obtener y establecer los valores actuales de los filtro.
  3.  getListQuery() usar los valores de filtro actuales para modificar la consulta.

 

 

Vista Version

crear

  1.  models/forms/filter_versions.xml
  2.  models/fields/filtroVersions.php (campo personalizdo)

modificar:

  1.  views/versions/view.html.php
  2.  views/versions/tmpl/default.php
  3.  models/versions.php

 

Crear campo personalizado NUEVO

  1.  crear models/fields/filtroVersions.php (campo personalizdo)
  2.  crear campos en vista del filtro de la vista donde quiero mostrarlo . ej. Vista versiones, xml -> filter_versions.xml. models/forms/filter_versions.xml
  3.  modificar o añadir query para filtrar bien la busqueda models/versions.php

Para que aparezca buscador

  1.  crear                models/forms/filter_marcas.xml                en principio sin campos personalizados
  2.  añadir lineas     views/marcas/view.html.php
  3.  añadir lineas     views/marcas/tmpl/default.php
  4.  añadir query     models/marcas.php

**Me base en com_content/articles

Subcategorías