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 parte publica de la WEB, al añadir un evento, me generaba el siguiente error:

error-stmp-jevent

El problema es que en esa web el administrador de la categoria de los eventos , tenía un correo que no correspondia con el dominio de la web.

Ejemplo:

La web en cuestión era evigo.es

Pero el administrador tenia el email info @ solucionesvigo.es y por consecuencia el componente generaba ese error.

 

Ratio: 5 / 5

Inicio activadoInicio activadoInicio activadoInicio activadoInicio activado

El no saber la diferencia entre duplicar y copiar plantilla puede provocar si vas modificar código de una plantilla de joomla no puedas volver a la plantilla original.

Índice de "Copia o duplicado de una plantilla de Joomla"

¿ Cual es la diferencia entre copiar una plantilla o duplicar ?

La gran diferencia entre duplicar y copiar una plantilla en Joomla, al duplicar no crea una nueva plantilla lo que hace es un nuevo registro en la tabla_extensiones y permite utilizar la misma plantilla con distintos parámetros.

Duplicar es una opción que nos facilita el gestor plantillas en:

duplicarPlantillasJoomla

Es muy útil, cuando queremos utilizar la misma plantilla pero con parámetros distintos en varias secciones de la web.

Ratio: 5 / 5

Inicio activadoInicio activadoInicio activadoInicio activadoInicio activado

El template xsl de VCARD es el que se utiliza para mostrar las entradas de SOBI PRO de una categoria.

Publico este fichero por el problema que me surgió al crear una plantilla.

También lo podeís descargar en Google Drive

<?xml version="1.0" encoding="UTF-8"?>
<!--
 @version: $Id: vcard.xsl 3924 2013-12-17 08:01:19Z Radek Suski $
 @package: SobiPro Component for Joomla!  @author
 Name: Sigrid Suski & Radek Suski, Sigsiu.NET GmbH
 Email: sobi[at]sigsiu.net
 Url: http://www.Sigsiu.NET
 @copyright Copyright (C) 2006 - 2013 Sigsiu.NET GmbH (http://www.sigsiu.net). All rights reserved.
 @license GNU/GPL Version 3
 This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License version 3
 as published by the Free Software Foundation, and under the additional terms according section 7 of GPL v3.
 See http://www.gnu.org/licenses/gpl.html and http://sobipro.sigsiu.net/licenses.
 This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
 $Date: 2013-12-17 09:01:19 +0100 (Tue, 17 Dec 2013) $
 $Revision: 3924 $
 $Author: Radek Suski $
 File location: components/com_sobipro/usr/templates/default2/common/vcard.xsl $
 
 Esta es la vista de una categoria...
 
 Tengo que hacer la carga e los campos 3 veces  
 
-->
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" encoding="UTF-8"/>
    <xsl:template name="vcard">
        
        <xsl:variable name="Clase">
        <xsl:text>sobi-vcard</xsl:text>
        </xsl:variable>
        
        <!-- No podemos definir una variable dentro de un bucle o if por eso lo pongo al principio -->
        <xsl:variable name="OpcDestacado">
        <xsl:for-each select="fields/*">
            <xsl:if test="(@id) = 38">
                    <xsl:if test="string-length(options/option/@selected)">
                    <xsl:text> Destacado</xsl:text>
                    </xsl:if>    
            </xsl:if>    
        </xsl:for-each>
        </xsl:variable>
        
                
    
        
        
        <!-- Generamos la clase sobi-vcard Destacado -->
        <div>
            <xsl:attribute name="class">
                <xsl:value-of select='concat($Clase,$OpcDestacado)'/>
            </xsl:attribute>
            
        
                        
            
    
        
        <div class="sobi-columna1">
            <xsl:for-each select="fields/*">
            <!-- Aqui filtramos solo id 23 que es imagen logo -->
            <xsl:if test="(@id) = 23">
                <xsl:if test="string-length(data/@thumbnail)">
                <img>
                <xsl:attribute name="src">
                <xsl:value-of select="data/@thumbnail"/>;
                </xsl:attribute>
                </img>
                </xsl:if>
                <xsl:if test="string-length(data/@thumbnail) = 0">
                <img>
                <xsl:attribute name="src">
                <xsl:text>/images/imagenes/iconos/no_photo-thumb.gif</xsl:text>
                </xsl:attribute>
                </img>
                </xsl:if>
            </xsl:if>
            </xsl:for-each>
        </div>
        <div class="sobi-columna2">
            <div class="Sobi-Categoria-Titulo">
            <h2>
                <a href="/{url}">
                    <xsl:value-of select="name" />
                    <xsl:call-template name="status">
                        <xsl:with-param name="entry" select="." />
                    </xsl:call-template>
                </a>
            </h2>
            </div>
            
            
                <xsl:for-each select="fields/*">
                    <xsl:if test="(@id) != 23 and string-length(@itemprop) = 0">
                    <div class="{@css_class}">;
                        
                        <xsl:if test="string-length(@itemprop)">
                            <xsl:attribute name="itemprop"><xsl:value-of select="@itemprop"/></xsl:attribute>
                        </xsl:if>
                        <xsl:if test="count(data/*) or string-length(data)">
                            <xsl:if test="label/@show = 1">
                                <strong><xsl:value-of select="label" />: </strong>
                            </xsl:if>
                        </xsl:if>
                        <xsl:choose>
                            <xsl:when test="count(data/*)">
                                <xsl:if test="(@id) != 38">
                                <xsl:copy-of select="data/*"/>
                                </xsl:if>
                            </xsl:when>
                            <xsl:otherwise>
                                <xsl:if test="string-length(data)">
                                    <xsl:value-of select="data" disable-output-escaping="yes" />
                                </xsl:if>
                            </xsl:otherwise>
                        </xsl:choose>
                        <xsl:if test="count(data/*) or string-length(data)">
                            <xsl:if test="string-length(@suffix)">
                                <xsl:text> </xsl:text>
                                <xsl:value-of select="@suffix"/>
                            </xsl:if>
                        </xsl:if>
                    </div>
                    </xsl:if>
                    <!-- Aqui meto los campos que tenga propiedad con span -->
                    <xsl:if test="(@id) != 23 and string-length(@itemprop) != 0">
                    
                        <span>
                            <xsl:attribute name="itemprop"><xsl:value-of select="@itemprop"/></xsl:attribute>
                            <xsl:attribute name="class"><xsl:value-of select="@itemprop"/></xsl:attribute>
                            <xsl:value-of select="data"/>
                        </span>
                    
                    </xsl:if>
                    
                    
                    
                    
                </xsl:for-each>
                <div class="SPBottones">
                    <!-- La url del link de tiene que se decoficada ya que sino da un error -->
                    <div class="link-button SPPresupuestos">
                    <a>
                        <xsl:attribute name="href">
                            <xsl:text>index.php?option=com_contact&amp;view=contact&amp;id=1&amp;Itemid=116</xsl:text>
                        </xsl:attribute>
                        <xsl:text>Solicita Presupuesto</xsl:text>
                    </a>
                    </div>
                    <div class="link-button SPLeerMas">
                    <a href="/{url}">
                            <xsl:text>Leer Más</xsl:text>
                    </a>
                    </div>
            </div>
            </div>
            <!-- Cierra columna 2 -->
            <div class="separador"></div>
            
            
        </div>
    </xsl:template>
</xsl:stylesheet>

 

Ratio: 5 / 5

Inicio activadoInicio activadoInicio activadoInicio activadoInicio activado

En todas las web que montamos con Joomla ( ya hace años) siempre utilizamos AKEEBA para que nuestros cliente puedan tener una copia en local de su web, pero hasta hoy no habíamos tenido problema con este componente.

En este caso erá una version Joomla 3.X y la version de Akeeba es 3.10.2 , según caracteristica, son versiones compatibles, per el caso es que nos GENERA UN ERROR 403, un error generado por AJAX.

Esta version AKEEBA es relativamente nueva pero Stable, según los creadores, el problema surge cuando intentamos desinstalar esa versión Akkeba, ya que no nos permite desintalar y nos genera un error, creemos que es el propio Joomla el que no permite instalar versiones anteriores a las que ya instalamos.

-Bueno no lo tenemos comprobodado, por falta de tiempo...

Lo resolvimos , instalando la nueva versión de Akeeba que sacarón enseguida sus creadores.

¿ Alguien me puede confirmar si en Joomla 3.x permite desinstalar componentes y luego instalar versiones anteriores?

Recordar que el compartir experiencias es fundamental...

 

Ratio: 5 / 5

Inicio activadoInicio activadoInicio activadoInicio activadoInicio activado

PROBLEMA QUE NOS SURGE A LA HORA DE MONTAR ESTÁ WEB.

Datos a tener en cuenta:

Versión de JOOMLA:3.2+

Versión de SOBI PRO: 1.1.6

Plantilla SOBI PRO : Creación Propia

Template xsl: Fichero Vcard.xls ( modificado )

¿ Explicación del PROBLEMA con SOBIPRO ?

Tenemos como página principal una categoria que llamamos DESTACADOS, que son la entradas en SOBI PRO que seleccionamos y queremos mostrar de INICIO.

Ratio: 5 / 5

Inicio activadoInicio activadoInicio activadoInicio activadoInicio activado

Akeeba es una de los componentes (extensiones) de Joomla más utilizo. El problema que creo que el creador del componente solo lo suministra en ingles, antes existia un sitio en donde podías descargar lo paquetes que había creado en su propia web. Link roto: http://cdn.akeebabackup.com/language/akeebabackup/index.html

Encuentro una entrada en el foro de akeeba de fecha 18 Mayo 2020, donde indica que hay terceros que lo mantienen, pero que el no.

En este link Joomla Translate puedes encontrarte bastantes paquetes de idiomas de Akeeba Backup, y te los puedes descargar e incluso se puedes contribuir, estolo haces la plataforma Opentranslator., en la que tienes que registrart y solicitar participar.

Los lenguajes que te puedes encontrar y descargar:

  • French (France)
  • Dutch (Netherlands)
  • German (Germany)
  • Japanese (Japan)
  • Spanish (Spain)
  • Portuguese (Brazil)
  • Portuguese (Portugal)
  • y muchos mas ...

En la plataforma Opentranslater también podemos encontrar las traducciones de otros componentes. aquí pongo en la que quiero participar:

 

 

 

Ratio: 5 / 5

Inicio activadoInicio activadoInicio activadoInicio activadoInicio activado

SOBI PRO nos permite crear campos en cualquier momento para nuestro DIRECTORIO y nos permite ordenarlos para que aparezcan el las vistas en el orden que le indiquemos.

En SOBI PRO hay varias versiones que utilizamos ,en las ultimas 1.1.8 que utilizamos para Joomla 3+ no encontrabamos donde ordenar estos campos.

Para ayudar aquellos que les pueda pasar lo mismo os ponemos recorte pantallazos donde podeís observar que se hace en listado campos realizando un filtrado por posiciones, donde nos permite cambiarlo.

Sobi-Pro-Joomla3-Ordenar 

Si lo cambiamos a posiciones nos crea una columna más para poder realizar el cambio de orden.

Sobi-Pro-Joomla3-Ordenar2

Ratio: 5 / 5

Inicio activadoInicio activadoInicio activadoInicio activadoInicio activado

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.

 

 

 

Ratio: 5 / 5

Inicio activadoInicio activadoInicio activadoInicio activadoInicio activado

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.