Programación

programacion

La programación es el proceso de diseñar, codificar, depurar y mantener el código fuente de programas computacionales. El código fuente es escrito en un lenguaje de programación. El propósito de la programación es crear programas que exhiban un comportamiento deseado.

Subcategorías

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Bueno como dice el titulo NO voy escribir (otro más) sobre como migrar (hay quien le llama actualizar) joomla 2.5 a 3, ya que hay internet mucho que lo han hecho y muy bien.

Lo único quiero aclarar  es dos cosas:

1.- El php 5.6 es valido hasta un versión de 3.5.1 (creo recordar) a partir ahí tiene que cambiar de versión de PHP

2.- Cuando habla de limpiar cache no se refiere cual de los dos sitios que hay  en Joomla, nosotros tuvimos que limpiar cache en las dos opciones posibles  para actualiza a versiones superiores 3.5.1

Uno en sistema

Cache sistema

Y el otro en "Gestor de extensiones" que  hay purgar cache de extensiones.

Cache gestor extensiones

 

Este ultimo me trajo por el camino de la amargura en varias migraciones que no funcionaba correctamente.

 

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Jugando arrays

Jugando con funciones que nos facilita Php para interactuar con arrays: mezclar, sumar , diferencias y buscar datos en varios array.

Principal 
Array ( [nombre] => Ricardo [apellido] => Carpintero [apellido2] => Carpintero [anhos] => 51 [ciudad] => Vigo [estado] => Casado )
Secundario 
Array ( [nombre] => Ricardo [apellido] => Dominguez [apellido2] => Gil [anhos] => 49 [ciudad] => Vigo [hijos] => 4 )

La idea es jugar con estos arrays para obtener combinaciones, diferencias y iguales

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

A veces la cosas mas sencillas parecen muy compleja

El cambiar un precio a virtuemart es muy sencillo, pero virtuemart no hace que sea de forma intuitivo.

Ejemplo de cambio de precio:

1.- Tenemos un producto con un precio determinado , en este caso un ZZ que cuesta 2.19€, precio con iva incluido.

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Xdebug es una extensión de PHP que proporciona capacidades de depuración y creación de perfiles. Utiliza el protocolo de depuración DBGp. La información de depuración que Xdebug nos proporciona puede ser:

  • La pila de memoria que utiliza y los mensajes de error con:
    • Visualización completa de parametros para funciones definidas por el usuario.
    • Nombre de función , nombre archivo e indicaciones de linea.
    • Soporte para funciones miembro.
  • Asignación de memoria.
  • Protección para recursiones infinitas.
  • Información de perfil del script PHP
  • Análisis de cobertura del código.
  • Capacidad de depurar sus scripts interactivamente con un front-end de depurador.

Una vez instalado y activado recuerda que debes reiniciar el servidor, puede ser con:

systemctl restart apache2

¿ Activar Xdebug ?

Muy similar como activar en versiones distinta de php.

phpenmod xdebug

¿Desactivar Xdebug?

phpdismod xdebug
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

Yo no soy muy amante de utilizar framework para todo y menos para algo trivial ( no soy diseñador ). CSS en principio para mi siempre fue algo trivial hasta que empecé a trabajar para diseñadores y dejas de pensarlo. Entoces ya te planteas usar un framework para cubrir esas exigencias delo diseñadores para los que te contratan, exigencias como:  usabilidad, el uso distintos dispositivos, distintos navegadores y sobretodo presentación milimitrada, por ello sin framework se haría casi imposible.

Principalmente bootstarp 3 es el mas utilizado y el que me exigen utilizar, con el uso te vas dando cuenta que a veces no es le mejor a utilizar, ya que hace una carga completa, css y js que realmente no es necesario para todos los proyectos, por este motivo me pongo de vez encuenta a buscar informacion de FRAMEWORK DE CSS y esta vez caigo en la siguiente entrada   " 6 Framework de CSS mas populares del 2019" en ingles que aquí resumo.

  1. Bulma
  2. Tailwind CSS
  3. Bootstrap 4
  4. Semantic UI
  5. Foundation
  6. Materialize CSS
Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

En nuestro repositorio de GitHub puedes descargarte el mod_login_virtuemart, donde tiene la opción de cargar un menu, el que asignemos en la configuracion, este menu se muestra una vez no identificamos.

Es muy util, para mostrar en el mismo modulo cuando este registrado un menu exclusivo para los usuarios, la tipica Area privada.
Aparte tiene tres presentaciones:

  •  Enlaces: En la que solo muestra enlace Registro y mi cuenta.
  • Vertical: Muestra formulario acceso vertical,un campo debajo del otro.
  • Horizontal: Muestra formulario acceso horizontal, un campo al lado de otro.
Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

El mundo de las plantillas en Joomla es bastante grande e incluso intenso, la plantilla es nos muestra algo de una forma u otra en nuestra web. En Joomla tiene muy bien definido la parte visual de la operativa, tanto en parte front-end  como en la administrativa, ya que podemos utilizar plantillas para la parte administrativa.

El tema de la importancia de la plantilla lleva grandes debates entre desarrolladores, ejemplo claro este debate abierto en Podcast de Mastermind Joomla:¿ Quién pinta en Joomla ? :-)buenisímo

Hay sinfín de sitios para descargar plantilla e incluso hay frameworks que son extensiones que nos confeccionan la plantilla de una más forma interactiva.

Algunos proveedores de plantillas y creadores frameworks:

  • Theme de ThemeForest
  • RocketTheme
  • Joomlart
  • Gantry framework
  • Helix Ultimate de Joomshaper
  • Wright v3 de Joomlashack
  • JA T3 de joomlart
  • Warp7 de Yootheme
  • Meet Gavern de Gavick

Yo personalmente los descarto, porque pienso que hacen que las plantillas que generan son muy pesadas y con código totalmente innecesario.

A todos nos paso que te pones a buscar plantillas o framework y encuentras alguna interensante y que te gusta, luego la instala, te pone hacer cambios y pruebas, pero al poco o mucho tiempo te das cuenta que no es exactamente lo que buscas o da mucho trabajo cambiar las cosas, la descartas y la historia se repite, vuelves a buscar.

Nosotros ya dejamos esa rueda, por ello optamos por modificar plantillas son sencillas y no complejas de añadir o quitar funcionalidades.

Modificar una plantilla Joomla suele ser una tarea bastante sencilla, lo primero conocer un poco a fondo todas las posibilidades que nos da esa plantilla, opciones y configuraciones, si estas no llegan y la plantilla no demasiado enrevesada con un conocimiento php, html y css, unas nociones básicas donde tocar y donde no, se puede poner a nuestro gusto.

Hay un sinfín de artículos que habla de como modificar plantillas, recomiendo principalmente la lectura de los documentos oficiales de Joomla:

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

El objetivo es tener claro que hace cada fichero de la vista user de virtuemart para  poder montar a nuestro en la plantilla que utilicemos en :
/templates/nuestraplantilla/html /virtuemart/user/

Overrides de views de Virtuemart

La vista user de virtuemart utiliza los siguiente ficheros:

  • user/edit
  • user/edit_shopper
  • user/edit_vmshopper
  • user/edit_address
  • user/edit_address_userfields
  • user/edit_address_addshipto

Fichero user/edit

Este fichero debería ser el que cargue primero siempre al editar cuando estamos tratando datos de usuario de virtuemart, pero no es así, ya que este fichero no se llega siempre, solo se llega:

  • Desde el Item de menu "Muestra el mantenimiento de la cuenta del cliente".
  • A la hora de hacer registros usuarios nuevos, si lo hace Virtuemart. (al instalar virtuemart en el plugin "VM Framework Loader" viene por defecto )
  • Desde botton o link que "nueva dirección" dentro de la fichero edit_address_addshipto

Hay que tener en cuenta que el registro de un usuario nuevo se puede realizar desde un item de menu (normalmente) o desde el propio carro, desde el boton "Añadir/Editar información de facturación", lógicamente cuando no esta identificado y no se permite la compra como invitado.