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

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

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Añadimos un item de menu , seleccionamos tipo de menu en usuario:

Opcion Menu Registro Usuario

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Cuando creamos nuestras plantillas lo que pretendemos es poder cambiar de plantilla sin tocar nada más. por eso necesitamos hacer plantillas para Joomla 3.X con unas posiciones estándares, basándonos en las plantillas que trae por defecto Joomla 3.X  y sus posiciones.

Explicación basica de lo que son plantillas (temas) de Joomla

Las posiciones de las plantillas en Joomla son donde van los módulos y el contenido de nuestra web, donde se definen estas posiciones son la propia plantilla, hasta el momento, JOOMLA no tiene un estándar para nombra esas posiciones, por lo que cada creador de plantillas puede nombrar está posiciones como quiere.

Lo que pretendemos con esté articulo es crear un estándar de posiciones para nosotros, para todas las plantillas que creemos para Joomla 3.*, basándonos en las posiciones que utiliza alguna de  las plantillas que trae por defecto Joomla.

Con esto conseguimos que si en algún momento queremos probar el funcionamiento de esta plantillas estándares podemos hacerlo sin cambiar las posiciones en cada modulo.

Ver cuales son las posiciones que tienes creado en tu plantilla.

La opción de ver forma interactiva las posiciones de una plantilla , una previsualización. Joomla por defecto lo trae desactivado, se comenta los foros oficiales que es por seguridad. Si quieres activar la previsualización en el "Gestor Plantilla" en opciones puedes activarlo. Recuerda desactivarlo después de utilizarlo.

previsualizar posiciones plantilla

Un poco mas afondo sobre plantillas.

Las plantillas son realmente los que manda a la hora mostrar  y visualizar nuestra web, las posiciones de tu plantilla principalmente se utilizan en los módulos, ya que en estos es donde se les indica en que posición se va mostrar cada uno ellos.

Hay unas posición que son fijas para todas las plantilla que son component y message.

El código que se utiliza en index.php de tu plantilla para mostrarlas son:

<jdoc:include type="message" />
<jdoc:include type="component" />

Esta posiciones son fijas, ya que no se pueden definir por el usuario.

 Estilos de posiciones de módulos

Los estilos de posiciones de módulos se define normalmente index.php, pero se puede cambiar por el usuario, estos estilos son los que puede hacer que vista de un modulo en una misma posición con un estilo distinto , se vea distinto.

Si existe un estándar predeterminado por Joomla, los cuales es interesante conocer y saber su utilidad.

No encuentro información detallada de estos estilos por lo que poco a poco iré ampliando.

Las plantillas que trae joomla por defecto la beez5 y la protostar tiene varios tipos estilos de posiciones, unas son ya estándar de Joomla y otras no.

TIPOS DE POSICIONES ESTANDAR DE JOOMLA
  • none ( Que no pone titulo modulo)
  • xhtml (En la opción de modulos tenemos marcado mostrar titulo, pues lo muestra)
  • table ( Crea una tabla html con el contenido del modulo)

En las plantillas que trae joomla hay varios tipos más, que ya son particulares de ellas. TIPOS DE POSICIONES DE LAS PLANTILLAS POR DEFECTO DE JOOMLA

BEEZ5

  • style beezDivision
  • sytle beezTabs

PROTOSTAR

  • well

Estos estilos y algunos más de sistema podremos seleccionarlos en el "Gestor de Módulos", pero no es necesario, ya que la plantilla tendrá uno por defecto para esa posición que se define en el fichero index.php de la plantilla.

A los creadores de plantillas, normalmente definen los suyos en la plantilla en el fichero /template/nombretemplate/html/modules.php , donde crean una función para cada estilo llamada modCrome_NOMBRESTYLE

En este link de la web documentación oficial de joomla puedes ver más información sobre esto.

 

 

 

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Recordar que si queréis que la  maquetación html de vuestra plantilla del mod_virtuemart_product (modulo de productos de virtuemart) funciones debéis seleccionar en el modulo en "Diseño" la vista default o single, porque la anular toma la vista del componente.

Mod virtuemart productos

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

El permitir realizar comentarios de los productos que vendemos en una tienda on-line , es algo fundamentarl y no iba ser menos virtuemart, el componente más famosos de joomla para convertir tu web (joomla) en una tienda on-line.

Virtuamart ya trae por defecto el permitir a nuestro usuarios que opinen sobre los productos que tenemos en nuestra tienda on-line.

Ahora nos surge la gestión de estos comentarios, ya que en la configuración de virtuemart nos deja activar y desactivar el permitir comentarios o no.

La cuestión es donde, como y que podemos hacer con esos comentarios, en esto virtuemart se queda corto y realmente no facilita mucho la gestion de esos comentarios, por ello nos encontramos con el problema que no podemos ver que productos son los que tiene comentarios.

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

ERROR:Cannot open file for writing log

Si estás intentando actualizar Joomla y te sale este error, lo primero que debe hacer es revisar la configuración de tu Joomla.

Ya que lo que te indica ese error es que no puede escribir en fichero log , que le indica la ruta de Configuración del Sistema:

Fijate que sea correcta la ruta carpetas logs

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

<CAPA SISTEMA>

Os recomiendo que veaís este otro articulo por si os ahora tiempo. http://ayuda.svigo.es/index.php/programacion-2/cms/joomla/componentes/virtuemart/139-anadir-distritos-o-estados-de-paises-a-virtuemart

</CAPA SISTEMA>

Añadir provincias o estados de forma manual en virtuemart

Antes de ponernos manos a la obra, os recomiento que tengáis claro las provincias o estados que váis añadir, teniendo por lo menos enumerado de alguna forma esos estados.

Una forma sencilla, sería consultando en la wikipedia los estados del país en cuestión y poniendo por orden de "Código INSEE".

Ejemplo :

Estados de Francia

Ordenar por código INSEE pinchando en fecha que hay a lado de "Código INSEE"

EstadoFrancia

Una vez tenemos claro las provincias que vamos añadir, ya que hay algunas que no nos interesa meter, ya que puede que no tengamos definido la forma de envío para esa provincia o estado, vamos a la parte administrativa de nuestra web.

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

 Protostar es una de las plantillas que trae por defecto Joomla 3.x , por ello vamos tratar en este post todo lo necesario para poder cambiarla y modificarla.

Empezamos a modificar nuestra plantilla protostar

Lo ideal inicialmente antes de empezar a cambiar nuestra plantilla protostar es realizar copia, creando asi vuestra plantilla para poder realizar todos los cambios sin miedo y evitando problemas, como que actualices y te cambie esos cambios que hiciste, dale un vistazo este otro post donde explico como copiar plantillas de Joomla.

Una vez copiada nuestra plantilla podemos entra a modificar sin miendo.

Menu horizontal

Para poner un menu horizontal en la plantilla protostar tenemos que poner el modulo del menu en la posicion 1 y ademas :

En el Módulo Menú debemos ir a la pestaña avanzado y modificar los valores de las cajas

Sufijo de clase CSS : nav-pills

Sufijo de clase CSS del Modulo: _menu

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

El archivador de multimedia de virtuemart

La opción de virtuemart para gestionar las imagenes de la tienda online le llama : "Archivo de medios"

ArchivoDeMediosVirtuemart

En está seccion del administrador de virtuemart podrás encontrar todas las imagenes que hayamos subido a la tienda on line (productos, fabricantes, ...)