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

El objetivo de esta entrada, es anotar un poco los cambios de css que ponemos para centrar la images de la galeria phocagallery en nuestras plantillas.

Conseguir que si mostramos varias fotos por columnas, que estas cuando no llenen la plantilla que se centren en ella.

centrarImagenPhocagallery

A veces , cuando las imagenes metemos , son demasiado grandes, nos deja un espacio a la derecha o incluso centrar las imagenes de la ultima fila, como se enseña en la imagen.

Lo podemos hacer es sobreescribir el css que genera el componente.

1.- Localiza la capa contendora de las imagenes, en la version actual es:

pg-msnr-container

y añadimos al css de nuestra plantilla:

  #pg-msnr-container {
margin: 0 auto;
text-align: center;
}

Luego buscamos el contenedor ( capa ) de cada imagen

.pg-cv-box{
float: none; /* Para eliminar el que traer left */
display: inline-block;
}

Bueno, lo siento por no explicar más , espero que valga de ayuda, a nosotros no sirve recordatorio...

Cualquier duda , podéis informanos en contactar.

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Requisitos:  (en Front-end, site --> views o models)

1. En el .xml de la vista en el tmpl, podemos cambiar el titulo de la vista del item menu , donde 

<layout title="COM_MYRSSREADER_VIEW_TITLE"> sería:

<layout title="nuevaVistaDeItemMenu">

2. Nombre de la carpeta de la vista se usa en las clases creadas en :

vista creada: nuevorss

la vista  : view.html.php --> class LectorViewNuevorss extends JView

el models :  --> class LectorModelNuevorss extends JModel

 3. Palabra PROHIBIDA: Usar MODELO! Si lo usas como nombre de la carpeta de la vista te dara un error y no te funcionará el componente.

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

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.

¿ Si alguien me puede confirmar si Joomla 3.x permite desintalar componentes y luego intalar versiones anterires?

Recordar que el compartir experiencias es fundamental...

 

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Para que el cliente suba las imagenes a una categoría creada desde administrador

cuando se crea una categoria en phocagallery para que el cliente suba las fotos... debo en dicha categoria DAR PERMISOS (una vez logueado pueda subir fotos) en opc. Derechos de acceso y subir derechos → todos los usuarios.

 

Config. general

 config-vista-categorias-phoca-galleryconfig-vista-categorias-phoca-gallery2

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Akeeba es una de los componentes (extensiones) de Joomla más utilizado en todo el mundo, pero en su web encontrar donde están los paquetes de lenguajes puede ser todo reto.

En el siguiente link( Paquete de language de Akkeba) podrá descargarte el paquete idioma de Akeeba para tu CSM JOOMLA.

Su instalación es con el mismo gestor de extensiones de Joomla.

 

 

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.

 

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

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.

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

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>