CMS
Nos enfocaremos en los CMS más populares programados en PHP, como Joomla, Wordpress, Drupal y Prestashop, que utilizan HTML, CSS, JavaScript y PHP con alguna otras bibliotecas.
Si buscas un programador de cms te puedo ayudar esta entrada.
Un cliente nos indica que tiene unos problemas en varias instalaciones de Prestashop que tiene en su servidor. Lo primero que hacemos es una copia de seguridad y la movemos a nuestro servidor local.
Sabemos que hay módulos para hacer esto y seguro que luego tiene auto-instaladores para poder hacerlo más cómodo, aunque nosotros somos cabezones, optamos por la forma tradicional:
- Comprimir el código desde el administrador de archivos del servidor.
- Realizamos una copia de la base de datos con phpmyadmin del servidor.
No bajamos, esos ficheros hacemos los siguiente:
- Descomprimimos en la carpeta raíz de nuestro servidor local, en nuestro caso montamos un site en nuestro apache.
- Creamos la Base Datos e importamos los datos que nos bajamos.
- Cambiamos datos en tabla `ps_shop_url`
Luego, según los manuales y tutoriales, tenemos que ir al fichero que está app/config/parameters.php, donde cambiamos las variables de la base de datos por el nombre de la base de datos y usuario que hayamos generado en nuestro servidor de base de datos local.
Ahora debería funcionar, pero como soy precisamente una persona con fortuna, NO FUNCIONA.
Prestashop página en blanco en Front-end.
Pues no aparece una página en blanco en Front End, pero sin indicar error en log, pues revisa si existe el fichero index.php, este error me tuvo loco varias horas. :-)
Si lo eliminas, entonces cargar index.php (esto incluye como tengas configurado tu servidor local), ahora debería mostrar página o el error.
Error de conexion de nuestro prestashop en los log
Si vamos al back-end a la parte administrativa, que es el directorio que empieza adminxxxxx, pues ahí nos indica el siguiente error en log, que no es posible conectarse a una base datos, pero nos indica la nombre de base datos que tenía en el servidor.
Este error NO es que no pusieras bien los datos de conexión en el fichero de parameters.php, realmente es un error cache, ya que nosotros no eliminamos el caché, antes de hacer la copia de seguridad.
Borrar cache prestashop
Nosotros eliminamos directamente todo el contenido var/cache/prod
Es más fácil, eliminar el cache antes hacer la copia de seguridad del código, en la parte administrativa.
Nos redirecciona al dominio del prestashop.
Si en vez ejecutar nuestra instalación, lo que hace es redireccionarnos a dominio de donde sacamos la copia, eso que no hicimos correctamente, el punto 4, cambiar datos en la tabla ps_shop_url.
Weblinks es una extensión de Joomla que nos permite hacer un directorio de enlaces externos de una forma sencilla e intuitiva. Nosotros los utilizamos en esta web, aquí puede ver nuestro directorio de links que tenemos apuntados.
Este componente (extensión) de Joomla, hasta la versión 2.5 venía incluido, era una extensión Nativa de Joomla, pero en la versión 3.0 dejaron de incluirlo en el paquete de instalación. En la versión 4 de Joomla se rumoreaban que no se iba a continuar, aunque existe una versión para 4.0, sigue existiendo en JED de Joomla para poder descargarlo, aunque lleva un año sin actualizarse.
Nosotros aparte de utilizarla como un directorio, la utilizamos para insertar los enlaces a fuera de la web, el motivo de utilizarlo así es:
- Controlar los links rotos: Muchas veces cuando añadimos un link en un post, al cabo del tiempo lo cambia o lo quitan, esto es un problema y para detectarlo es muy sencillo si los tenemos registrados en una base de datos, que con una consulta podríamos comprobarlos todos.
- Estadísticas de pulsaciones: Saber qué links realmente hacen clic o no.
¿Cómo usamos Weblinks en nuestra web?
Una vez lo tengas instalado, pues vas a componentes y vas Enlaces Web, luego es muy sencillo añades enlaces y las categorías que quieres, es muy parecido al componente de contenido de artículos, con la diferencia que tienes un campo donde poner la URL.
Luego, si lo quieres mostrar en la web, simplemente añade el item de menu en donde quieres añadir. Al igual que un artículo o una categoría artículos.
Nosotros aparte utilizarlos como directorio de links, lo utilizamos para añadir los links en nuestros artículos por los motivos que ya indicamos antes.
Para añadir un link que tenemos en el componente Weblinks en un artículo, va a depender del editor que tengas, nosotros utilizamos JCE para la mayoría de los proyectos, por lo que simplemente pulsamos en icono de link, buscamos el componente enlace y ahí buscamos el link que deseamos añadir.
Donde lo puedo descargar Weblinks
En JED si buscas weblinks aparece, en la página oficial de Joomla puede descargar, te pongo aquí el link.
Existe un repositorio oficial, extensión weblink, donde puede ver si continúan o no el proyecto.
Si recibes un email de tu web que en el asunto "Error con su forma de pago paypal en su tienda online" y en el body del email pone:
"Hola,
Error con su forma de pago paypal en su tienda Online. Los detalles están logueados en el archivo paypal.2.log.php
El equipo de VirtueMart"
No te asustes, es un error que se produjo en Pay Pal, en el archivo que indica, podras ver que tipo error fue.
Ahora voy tratar el siguiente error os indico que le apareció a varios clientes que les llevamos el mantenimiento web.
"ERROR checkPaypalIps: Error with REMOTE IP ADDRESS "
The remote address of the script posting to this notify script does not match a valid PayPal IP address
Si a ti, te aparece otro error no dudes en ponerte en contacto con nosotros y te lo estudiamos.
Este plugin te permite hacer una copia de seguridad de tu sitio y además tiene un auto-instalador que te permite forma muy sencilla poder mover tu wordpress a otro servidor, cambiando las rutas que tanta lata dan en wordpress, por su forma de gestionarla.
Estoy muy familiarizado con Akeeba, ya que lo utilizo Joomla.
Realmente lo empleo para instalar en servidor local, para poder realizar cambio y modificaciones nuestro wordpress.
Akeeba en Wordpress por defecto no te permite descargar las copias de seguridad desde el navegador, si quieres activarlo tienes que ir Panel de Akeeba > System Management > System Configuracion. Ahí tiene buscar la opcion: " Allow backup archive downloads through the browser " y poner YES.
Aunque el creado, ya nos advierte que:
"¿Debo mostrar la opción de descargar los archivos de respaldo a través del navegador, aunque no es recomendable? Tenga en cuenta que esta opción NO estará disponible si ha habilitado WP_DEBUG, o si la visualización de errores de PHP está habilitada como precaución básica contra descargas corruptas (rotas o incompletas). ¡ADVERTENCIA! Al habilitar esta opción, acepta no recibir ningún soporte por problemas relacionados con la extracción de archivos de respaldo."
System Management
System Configuracion.
Y la opción:
Aunque a mi, de momento nunca me dio ningún problema.
Las plantillas , sobretodo en los CMS son una de las parte importantes a tener en cuenta a la hora crear tu pagina, ya que son las encargadas de mostrarnos el contenido de nuestra web.
En esta entrada pondre algunos sitios donde puede encontrar plantillas, para muchos CMS, plantilla Html, plantillas plataformas web de todo tipo. En resumen una repolizacion completa de plantillas de todos tipo, ideal para utilizarlas o para sacar ideas. :-)
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 ERROR en JREQUEST!!!
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.
Busque cual era el error y encontré que en la clase de producto /administrator/components/com_virtuemart/models/product.php en la linea 454 tenía un filtro de string con el siguiente código:
$keyword = vRequest::filter(html_entity_decode($keyword, ENT_QUOTES, "UTF-8"),FILTER_SANITIZE_FULL_SPECIAL_CHARS,FILTER_FLAG_ENCODE_LOW);
Si lo sustituimos por uno menos estricto, por este:
$keyword = vRequest::filter(html_entity_decode($keyword, ENT_QUOTES, "UTF-8"),FILTER_SANITIZE_SPECIAL_CHARS,FILTER_FLAG_ENCODE_LOW);
Pues funciona , perfectamente.
El caso es que cuando fui ver si le podía mandar un issue a los creadores, me doy cuenta que en las nuevas versiones ya lo resolvieron, y lo cambiaron muchos mas ficheros, no me diera cuenta que fallaban también.
Llegué tarde :-)
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.
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
Podemos ver crea un directorio en plantillas con el nombre que le pusimos, dentro del directorio añade el fichero templateDetails.xml