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.

Subcategorías

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Hoy me solicitarón añadir el plugin Google Tag Manager a un Joomla 4, como podemos ver es un plugin que solo es compatible para Joomla 3 y su ultima version es de 24 Junio 2020.

Pues nos ponemos manos a la obra , instalamos y va perfectamente la instalación.

Ahora activamos el plugin , tachan !!!

back end error plugin tag manager google

Peto en la parte administrativa. :-(

Compruebo la parte front-end

error front end plugin tag manager google

Tambien peto :-(

Creo proyecto Github asi comitear lo cambios.

El proyecto lo puedes encontrar en este repositorio GitHub.

En principio como esta es funciona, pero me surge la duda de que hacían estas lineas que comente:

if(strpos($_SERVER["PHP_SELF"], "index.php") === false || JRequest::getVar('format','html') != 'html'){
return;
}

Segun el comentario anterior del autor:

"// don't run if we are in the index.php or we are not in an HTML view"
Mi traduccion ( bueno de google traductor) :

// no se ejecuta si estamos en index.php o no estamos en una vista HTML

Pero no tiene sentido que no se ejecuta si esta index.php , aunque el hecho de que no este en la vista html, si tiene sentido...

No , lo preguntaré a ver si me lo explica alguien, de momento la comento.

 

Ratio: 5 / 5

Inicio activadoInicio activadoInicio activadoInicio activadoInicio activado

La intención con este post es ir anotando las errores que vamos encontrando para ello vamos diferencias cuando lo tenemos instalado en joomla 3.10.11 o en joomla 4.2.3, ya que hay errores diferentes en ambos.

Virtuemart 4.0.6.10690

- No encuentra en productos con la Ñ, en las versiones anteriores si lo hacía.

 

Ratio: 5 / 5

Inicio activadoInicio activadoInicio activadoInicio activadoInicio activado

Virtuemart genera json para metadatos en fichero sublayout/snippets.php

Nosotros nos encontramos con el dilema que nosotros redondeamos el precio a dos decimales, aunque en el metadatos ponemos todos los digitos, esto hace que google mechants nos rechace la ficha, ya que la web pone un precio y el metadato otro.

Para solicionarlo modificamos ese fichero en nuestra plantilla, redondeando el campo de precio : product->prices['salesPrice']

El codigo lo dejamos asi:

$description = str_replace('"','\"',htmlspecialchars(strip_tags($description)));
$PrecioFinal = number_format($product->prices['salesPrice'], 2, '.', ' '); // Precio ya con descuento..
?>.....

Ratio: 5 / 5

Inicio activadoInicio activadoInicio activadoInicio activadoInicio activado

Cambiar el favicon de la plantilla cassiopeia debería ser un parametro, esto lo comento para el proyecto de Pablo Arias que quiere montar una plantilla básica con cassiopeia pero con mas opciones. :-)

Al tajo, busco informacion y como siempre voy a las webs conocidad:

 "Como cambiar el favicon en la plantilla de cassiopeia de Joomla 4" de Sergio Iglesias

En esta entrada lo explica super bien , donde poner el favicon , para las versiones anteriores 4.1.1 y para las superiores.

Lo unico que yo añadiría a esa entrada es explicar como carga el favicon , me explico:

$this->addHeadLink(HTMLHelper::_('image', 'joomla-favicon.svg', '', [], true, 1), 'icon', 'rel', ['type' => 'image/svg+xml']);
$this->addHeadLink(HTMLHelper::_('image', 'favicon.ico', '', [], true, 1), 'alternate icon', 'rel', ['type' => 'image/vnd.microsoft.icon']);
$this->addHeadLink(HTMLHelper::_('image', 'joomla-favicon-pinned.svg', '', [], true, 1), 'mask-icon', 'rel', ['color' => '#000']);

Como bien dice en la entrada Sergio, esas son la lineas que cargan el favicon y se pone las tres por los distintos navegadores.

La cuestion es que si tu en la ruta que indica que pongas tu favicon.

media/templates/site/cassiopeia/images/tufavicon.ico

Si haces como yo que solo pongo un favicon ( ico), como mi navegador admite los favicon svg, la primera linea carga el svg, pues entonces muestra ese favicon y no el que acabo de poner.

Mi solucion rápida es comentar la primera linea, aunque lo mejor sería conseguir el favico en ese formato. :-)

Me imagino que lo navegadores que solo admitan los mask-icon, cargaran la segunda linea no la primera.

 

Ratio: 5 / 5

Inicio activadoInicio activadoInicio activadoInicio activadoInicio activado

Solemos utilizar un modulo personalizado para poner encima del menu una alerta, así momento determinado podemos advertir o indicar alguna cosa queramos

alerta modulo

 Estos avisos utilizamos ya el color y código que nos proporcione la propia plantilla, en este caso los tiene por defecto bootstrap 3.8, la intención con este post es indicar donde esta ese modulo y como activarlo y desactivarlo.

¿Donde puedo encontrar el modulo de aviso ?

En menu extensiones , selecionamos Modulo

Modulo personalizado aviso

Luego buscamos el modulo personalizado que tiene titulo aviso.

modulos aviso

Ahi podemos pinchar en Titulo y editarlo, o seleccionarlo y pulsar en menu editar.

Tambien podemos despublicarlo y publicar directamente , pinchando check de publicar.

despublicar publicar aviso

Ojo al editar

Si lo editamos

Editar cambiar texto plano

Tenemos que tener en cuenta que el contenido normalmente tiene html incrustado, que con el editor en estado normal no se ve de forma clara, por lo que si borramos el texto, tambien podemos borrar las etiquetas html, lo que luego cambiara el aspecto de esos avisos.

editor texto plano

Bueno, se si me explique lo suficiente... :-)

Ratio: 5 / 5

Inicio activadoInicio activadoInicio activadoInicio activadoInicio activado

En la version 4.1.0  sacan la opcion de duplicar plantilla  y la sustituyen por crear subplantilla de Joomla (plantillas hijas).

Duplicar plantilla, lo hacia es copiar los ficheros tal cual en el directorio de template, de esa plantilla.

La nueva opcion ( subplantilla) lo que hace copiar la estructura directorios en template y añaden el archivo templateDetails.xml.

En esa versión hay otro cambio bastante relevante, que es cambio la ubicacion de los ficheros css,sass y js de las plantillas pasandolos para el directorio media/templates/nombrePlantilla/, esto en principio para mi es un cambio bastante importante.

Creando una subplantilla de cassiopeia

Entró la plantilla cassiopeia y pulso crear subplantilla, no abre un popup que nos puede un nombre, yo pongo cassiopeia_minombre. A continuación reviso en el codigo que me creo y veo:

Cambios en directorio templates

 cambios templatePodemos ver crea un directorio en plantillas  con el nombre que le pusimos, dentro del directorio añade el fichero templateDetails.xml

Las diferencias en eso fichero con basicas.

pantalla 1 cambio template detalles xml

En ese primer recorte de diferencia podemos ver, crea la carpeta html en media , cuando en la original no lo crea.

Realmente pienso que es es un error.

Los demas cambios ovios, no realmente que son <inheritable> 0 </inheritable> ;

Lo otros lo se o me lo imagino.

 pantalla 2 cambio template detalles xml

 En el segundo recorte , vemos que no añade la carga del lenguaje, por lo que entiendo que carga el lenguaje de la plantilla padre.

Cambios directorio media

 

cambio en mediaCrea en la carpeta media/template/site la misma estructura que tiene cassiopeia.

Aunque en subplantilla crea el directorio html, algo que me parece estraño, pienso que es un error.

En este caso ( media/templates/site/cassiopeia_miplantilla) solo crea los directorios.

Ratio: 5 / 5

Inicio activadoInicio activadoInicio activadoInicio activadoInicio activado

Hoy actualizando una web que tenía Joomla 3.10.2 a 3.10.6 , que tengo virtuemart 3.8.8 10472 , pues me rompe en la parte administrativa con el siguiente error:

0 Missing format specifier at end of string

 Call stack
# Function Location
1 () JROOT/administrator/components/com_virtuemart/helpers/vmtext.php:154
2 sprintf() JROOT/administrator/components/com_virtuemart/helpers/vmtext.php:154
3 vmText::sprintf() JROOT/administrator/components/com_virtuemart/views/product/tmpl/product_edit_customer.php:72
4 include() JROOT/libraries/src/MVC/View/HtmlView.php:701
5 Joomla\CMS\MVC\View\HtmlView->loadTemplate() JROOT/administrator/components/com_virtuemart/views/product/tmpl/product_edit_status.php:126
6 include() JROOT/libraries/src/MVC/View/HtmlView.php:701
7 Joomla\CMS\MVC\View\HtmlView->loadTemplate() JROOT/administrator/components/com_virtuemart/helpers/adminui.php:248
8 AdminUIHelper::buildTabs() JROOT/administrator/components/com_virtuemart/views/product/tmpl/product_edit.php:47

Os pongo pantallazo:

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Joomla por defecto trae dos plugins de recaptcha que funciona perfectamente.

Hoy me surgio el problema que un cliente los desinstalo, que si permite deinstalar, pese que no pero si se puede.

Lo que hicimos para recuperarlo , fue subir de nuevo los fichero de esos plugins directamente a la instalacion del cliente, pero no los reconoce automaticamente, para ello tenemos que instalarlos como nos indica Sergio Iglesias en 5 forma de instalar una extension, lo explica muy bien este post.

Extensiones/Gestionar/Descubrir.

Una vez pulsamos descubrir nos aparece los dos plugin recaptcha que había eliminado el cliente, ahi ya nos deja instalarlo y ya nos lo reconoce el plugin.

Ratio: 5 / 5

Inicio activadoInicio activadoInicio activadoInicio activadoInicio activado

El objetivo de está entrada es explicar paso a paso como hacer una nueva presentación en una categoría y una nueva opción en item de menú del componente content. Como no podría ser de otra forma , va ser una web en Joomla 4. Inicialmente empezó con el vídeo que pondré continuación y está pregunta en el foro de Joomla

La intención es crear una presentación para utilizar una categoría que va ser un directorio de empresa para una web, lo voy hacer sin necesidad de utilizar ninguna extensión externa. Para poder realizar lo tendré que hacer override de mi plantilla actual, que es una copia de Cassiopedia, como explico en esta otra entrada.

En principio en ese override de la plantilla vamos utilizar del content la view de:

  • category
  • categories

 En ella copio los fichero:
- default.php y default_items.php en directorio categories poniendo los ficheros colaborador.php y colaborador_items.php
- default.php, default_articles.php y default_children.php en directorio category poniendo el nombre los ficheros colaborador.php , colaborador_articles.php y colaborador_children.php.