CMS

csm

CSM es sistema de gestión de contenidos no es un lenguaje de programación, es un programa (una aplicación) que permite crear una estructura de soporte (framework) para la creación y administración de contenidos, principalmente en páginas web, por parte de los administradores, editores, participantes y demás usuarios.

Consiste en una interfaz que controla una o varias bases de datos donde se aloja el contenido del sitio web. El sistema permite manejar de manera independiente el contenido y el diseño. Así, es posible manejar el contenido y darle en cualquier momento un diseño distinto al sitio web sin tener que darle formato al contenido de nuevo, además de permitir la fácil y controlada publicación en el sitio a varios editores. Un ejemplo clásico es el de editores que cargan el contenido al sistema y otro de nivel superior (moderador o administrador) que permite que estos contenidos sean visibles a todo el público (los aprueba).

Subcategorías

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Está pregunta se la hace tanto amaters como gente profesional que lleva ya muchos proyectos creandos a la hora crear un Web, aunque estos ultimos estoy seguro que ya lo tiene bastante definido.

Aquí no voy decir cual es mejor o peor, porque es algo bastante subjetivo y ademas pienso que realmente cada uno de los CMS que conozco tienen sus virtudes y sus deficiencias.

Lo que pretendo con está entrada es mostrar las virtudes y deficiencias de cada CMS que utilizo, con la premisa de que tiene que open source.

¿ Como saber si una web utiliza un CMS ?

Cuando queremos crear una WEB , los que hacemos habitualmente es buscar internet posibles paginas web que nos guste, y nos preguntamos como la hizo, que utilizo.

Por ellos ya hay varias aplicación en Online que simplemente con URL nos informa de una forma organizada que utiliza, indicando lenguaje de programación, CMS, libreria y mucha más información.

Aplicaciones que nos da información de una WEB:

- http://w3techs.com/sites

- http://builtwith.com/

¿ Que CMS open source hay ?

La verdad que hay muchísimos, en la web Opensourcecms.com , puede encontra muchísimos y cada días se añaden más.

Aquí simplemente vamos a nombrar los que conocemos y hemos trabajado con ellos alguna vez.

  • Joomla
  • Wordpress
  • Drupal
  • Pretashop

 

 

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Imaginaros queréis añadir un modulo a una extensión o componente de Joomla , pero no queréis y no debéis cambiar el código de ese componente, pues podéis hacerlo en vuestro override de la plantilla de ese componente/ extensión.

Por ejemplo nosotros queremos poner en un modulo en el formulario que trae componente contactos antes del botón de enviar ( añadir una clausula de privacidad, por ejemplo ). Pues hacemos los siguiente:

  1. Creamos un modulo tipo personalizado con el texto y le ponemos una posición única (nombre nuestra posición por ejemplo "clausula_contacto"), es decir que no se utilice en ninguna de la plantillas que tenemos instaladas.
  2. Añadimos el código en el override de ese componente en la plantilla que utilizas.

El ejemplo del código php para insertar en plantilla, sería:

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Muchas veces cuando intentamos actualizar Joomla desde la parte administracion de Joomla , pulsamos actualizar y se nos queda en blanco, sin llegar mostranos la barra de proceso de actualizacion,  sin indicarnos que sucedió, cual fue el error.

Lo primero es borrar el cache de la pagina desde la parte administrativa. Si aun así sigue fallando, recomiendo ver los parametros de subida de nuestra configuracion de php, ya que la mayoria de las veces es porque tenemos la variables php.ini muy bajas.

upload_max_filesize = 2M
post_max_size = 8M

En la parte administrativa en el menu Sistemas>Informacion Sistema > Informacion php .ini , podéis verlo, pero no podreis cambiarlo.

Os recomiendo poner 10m en las dos variables, asi no tendréis problemas , solo que el paquete que instentas actualizar pesará mas.

En algunas instalaciones que tiene Akeeba y tiene el sistema ( nose como se llama) de realizar una copia de seguridad antes actualizar, recomiendo desactivarlo ya que muchas veces es el causante del problema.

Eso sí, siempre antes de hacer una actualización nosotros recomendamos realizar una copia de la web, porque nunca se sabe si saldrá todo bien.

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Fuentes sobre como trabajar con la session de Joomla

En la documentación de Joomla encuentro el siguiente post:

¿ Cómo acceder a variables de session asignadas en Joomla desde un script externo ?¿ Cómo acceder a variables de session asignadas en Joomla desde un script externo ?

CMS 3.9 API -> SESSION

 

Marco JFactory::getSession() los envios que hace un usuario de enviar un formulario

La idea es guardar una variable en la sessión los envios de un formulario de una session. ( usuario)

En el metodo submit de nuestro modulo o componente, podemos poner:

$session = JFactory::getSession();
// Comprobamos si la session ya envio el formulario.
if (empty ($session->get('intentos'))
{
// Quiere decir que ya se mando el formulario .
$intentos = $session->get('intentos') + 1;
$session->set('intentos',$intentos);
} else {
$session->set('intentos',1);
}

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

En un cliente que gestionamos, al pinchar en el instalador, ponemos imagen de como nos debería aparecer:

instaladorJoomlaCorrecto

Pero lo que nos  aparece es:

InstaladorJoomlaIncorrecto

Como se puede ver en la imagen, solo tenemos la pestaña "Instalar desde la Web", nos dice que tenemos que habilitar algún plugin de instalación.

PluginDeInstalacion

Pero realmente estan activos.

¿ Posible causa ?

Para saber cual es la causa nos tenemos retomar a copias anteriores para poder saber cuando se produce el error.

Llegamos a la copia en la que actualizamos hacer ya muchos meses:

Hay una actualización disponible para Joomla.

Está en el canal de actualización "Predeterminado" - Mediante este canal va a recibir notificaciones para todas las actualizaciones de la liberación actual de Joomla (3.x)

Versión de Joomla instalada 3.5.1
Última versión de Joomla. 3.6.5
URL del paquete de actualización https://downloads.joomla.org/cms/joomla3/3-6-5/Joomla_3.6.5-Stable-Update_Package.zip
Información adicional Joomla!

Ahí el instalador estaba correcto...

Actualizamos a la version que nos indica, pero nos damos cuenta que no pide que confirmemos el usuario y la contraseña, efectivamente ahí fue el problema, en ese momento no disponiamos de la contraseña de ese usuario o no lo tomo correctamente.

No sabemos muy bien porque, pero recordamos que hicimos un reseteo de la contraseña desde la bases datos y pusimos la funcion MD5 en la contraseña y nos dejo entrar en el administrador.

Pero realmente no identificaba la contraseña... ¡¡ Algo extraño !!

¿Como lo solucionamos ?

Obteniendo una copia anterior en la que no estaba el error, como esa web, con suerte no tiene cambios, podemos restaurar copia y hacer actualizaciones correctas..

Y volver a ponerlas en produccion.

 

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Hago este post para saber si merece la pena o si hay algo hecho para resolver este problema en el componente multimedia de Joomla.

Explicación problema que veo en componente multimedia.

En la parte administrativa cuando una web quiere organizar las imagenes en varias carpetas esta muy bien, lo que no esta bien es que el componente en el menu izquierdo, el que lista carpetas, que las  muestre desplegable todas, ver imagen:

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

A veces nos puede saber como obtener los datos de configuración de nuestro Joomla. Con el fabricador de objetos de JFactory podemos hacer con mucha facilidad.

En este post de " Un apasionado de la informatica " no explica un poco mas de lo que se puede llegar hacer con esta clases.

Algunas formas:

$NewCfg =  JFactory::getConfig();

Ahora con el objecto $NewCfg con un simple get podemos pedir el parametro de configuración que queramos.

$NewCfg->get('db')

Si queréis tambien podéis ver los usos JFactory en Joomla Documentos

Espero que valiera para algo este mini post, a mi si me vale... :-)

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

JHtml::tooltip es el metodos que utiliza Clase HTML  que nos proporcina Joomla para los "tooltip" , es decir: los elementos visuales que aparece en la pantalla para dar ayuda a la hora de utilizar algún elemento de la página.

En la api de joomla podemos ver la siguiente definicion del método:

Crea un boton con una imagen y con informacion de ayuda.

tooltip(string $tooltip, mixed $title = '', string $image = 'tooltip.png', string $text = '', string $href = '', string $alt = 'Tooltip', string $class = 'hasTooltip') : string
static
desde

1.5

Arguments

$tooltip

(string) Lo queremos que muestre en la ventana emergente

$title

Mixto (string) o (array) Donde podemos poner el titulo de la ventana emergente. Si recibe un array asociativo, pues ya entiende como los otros paramentros, {'title','image','text','href','alt'} , nunca probe con array, tendré que hacerlo :-)

$image

(string) La imagen que hace boton, si no se proporciona ningún texto, entiendo que si proporcionamos texto no muestra la imagen.

Algo a tener en cuenta es que no ponemos la ruta completa la imagen, solo el nombre, joomla por defecto la obtiene de /media/system/images , pero podemos realizar overwrite en nuestra plantilla como indica aquí, aunque tengo que deciros que a mi no me funciono correctemente, según parace tenemos que poner el /nombreplantilla/nombreimagen , aunque esta imagen estes en nombreplantilla/images/system/nombreimagen.

A mi me funciono solo poniendo la imagen en el template/system que trae por defecto joomla.

$text

(string) El texto queremos para tooltip.

$href

(string) La URL queremos linke en caso pulsar en ella.

$alt

(string) El atributo alt de la imagen.

$class

(string) Clase para todo contenedor del tooltip.

Response

string

 Con este articulo (post) también sabemos como cambiar los tooltip (images) , por ejemplo cambiar los iconos que trae com_contact (contacto) en los campos telefono, web...

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Al actualizar a Joomla 3.7.2 se nos desaparecen los componentes que tengamos instalados del menu.

El error es una mal actualizacion, creo entender en:

https://github.com/joomla/joomla-cms/issues/15719

Antes de actualizacion:

AntesActualizarJoomla372

Ahora despues de actualizacion:

DespuesActualizarJoomla372

Como veís desaparecio el menu virtuemart.

En github de errores de Joomla nos indica cual fue la causa.

UPDATE `#__menu` SET `menutype` = 'main', `client_id` = 1 WHERE `menutype` = 'main' OR `menutype` = 'menu';

Entonces , nosotros lo solucionamos yendo a phpmyadmin y en nuestra base datos, en la tabla menu cambiamos:

Los campos ( menutype  y client_id) de el registro que tiene "Menu_Item_Root" y ademas de los items de virtuemart que pertenece al menu.