CMS

csm

CSM es el acrónimo de Content Management System, Sistema de manejo de contenido en Español.

Se considera un CMS todo software que gestiona el contenido de una pagina web dinámica, existen muchísimos y muy distintos. La mayoría son vía web, pero los hay de escritorio. Lo que hace es permitir a los administradores y creadores de la web, poder crear, editar y gestionar el contenido de su web de forma intuitiva , sin necesidad tener muchos conocimientos técnicos.

El contenido de la web normalmente se aloja en una bases de datos que es precisamente la controla el CMS, teniendo un control de roles usuarios: administradores, creadores, editores e incluso usuarios.

Aquí inicialmente vamos solo a tratar los que están programados en PHP con html, css ,javascript y alguna otra librería. Estos son los más populares: Joomla, Wordpress, Drupal y Prestashop.

Subcategorías

Ratio: 5 / 5

Inicio activadoInicio activadoInicio activadoInicio activadoInicio activado

Encontre este componente de Joomla de CodingMail que permite realizar búsquedas en tu Joomla con Virtuemart con la cámara. Sin necesidad de buscar escribiendo ningún texto como el nombre del producto u otros detalles.

 

Supongamos que una persona encuentra una linda gorra en alguna parte. Le gusta. Ahora quiere verificar si un producto similar está disponible en su sitio web de comercio electrónico. ¿Qué él ha hecho? Solo toma su teléfono. Cargue la página 'Buscar por imagen' en su sitio web. Haga clic en el botón 'Escanear'. El video en vivo comienza a mostrarse en la pantalla. Apunta la cámara a la gorra y su sitio web intenta reconocer el artículo. Si reconoce, muestra una lista de elementos coincidentes.

 

Estoy deseando que me salga algun cliente quiera ponerlo en practica, la verdad impresionante!!

Ratio: 5 / 5

Inicio activadoInicio activadoInicio activadoInicio activadoInicio activado

Revisando en la web de Jhon Marreros Guzman - DCODECMDS  , lo recuerdo hace años con otra web monitoJoomla, que era todo un referente en Joomla. hacekado :-)

Como hacer modificaciones en un tema de wordpress.

La idea es hacer modificaciones en un tema de wordpres  sin que no afecte al tema y así no tendremos problemas al actualizar el tema. Es la web anterior puede encontras una entrada como crear un plantilla hija y como siempre Jhon Marreros lo explica suber bien.

Como añadir analytics de forma manual en thema child

En la web Enrique J.ROS- Desarrollo en wordpress otra entrada puede ver como hacerlo de forma manual y sencillo.

Lo único que tenemos que hacer es copiar el fichero header.php del thema en el directorio del child y añadir el codigo justo antes del cierre del </ head>

 

Como cambiar el style.ccs por nuestro fichero css

En es misma entrada Jhon nos explica como utiliza style.css para poner el nuestro.

Tambien nos explica como utilizar el fichero style.css para poner nuestro css.

No habla del fichero functions.php, para cargar el css del tema padre

Precisamente este fichero es el tocamos en una web en la que estamos trabajando que NO nos carga el fichero style.css

Modificaciones que realizamos

function theme_enqueue_styles() {
    wp_enqueue_style( 'child-style', get_stylesheet_directory_uri() . '/style.css' );
}
add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' );

function avada_lang_setup() {
	$lang = get_stylesheet_directory() . '/languages';
	load_child_theme_textdomain( 'Avada', $lang );
}
add_action( 'after_setup_theme', 'avada_lang_setup' );

Ratio: 5 / 5

Inicio activadoInicio activadoInicio activadoInicio activadoInicio activado

Akkeba Backup para wordpress, pienso que es la mejor opción por lo que he probado hasta ahora.

Hace tiempo provee este otro plugin  muy conocido en la comunidad wordpress que es All in One migration , un cliente me paso una copia de su web (815MB) para hacer unos cambios, la copia la realizo el cliente con ese plugin.

Entonces yo tuve que instalar un wordpress con ese plugin para poder importar el fichero que me paso, la información la encontré en esta web que lo tiene muy bien explicado.

En el momento de realizarlo me surgieron una serie dudas y problemas.

1.- Si la version que me pasa el cliente es mucho inferior a la que instale, que sucede ...

2.- Al ser una web tan pesada tuve cambiar php.ini de mi servidor.

Una vez terminada, el usuario que haya creado en la instalación del wordpress pelado  creo que dejará funcionar una vez hagas importacion y tendrás que utilizar el usuario de la copia que importaste.

Problemas con la url en servidor local.

Wordpress tiene un sistema de reescribir url  que ne local siempre me da muchos problemas.

Lo que hice fue activar el mod_rewrite de apache en mi Debian, tal como dice en esta pagina de digitalocean

Me surge una duda en la "Paso 2: configuración de .htaccess" a la hora modificar el fichero de configuracion, ya mi servidor apache local está multisite y tengo varios ficheros de configuracion y entonces el que creo que debo utilizar me aparece lo siguiente:

 < VirtualHost _default_:80 >
	# The ServerName directive sets the request scheme, hostname and port that
	# the server uses to identify itself. This is used when creating
	# redirection URLs. In the context of virtual hosts, the ServerName
	# specifies what hostname must appear in the request's Host: header to
	# match this virtual host. For the default virtual host (this file) this
	# value is not decisive as it is used as a last resort host regardless.
	# However, you must set it for any further virtual host explicitly.
	#ServerName www.example.com

	ServerAdmin webmaster@localhost
	DocumentRoot /home/miusuario/www
	ServerName miusuario.midominio.es
	ServerAlias 192.168.4.3 localhost homer

	< Directory / >
		Options FollowSymLinks
		AllowOverride None
	< /Directory >
	< Directory /home/miusuario/www/ >
		Options Indexes FollowSymLinks MultiViews
		AllowOverride None
		Require all granted
	< /Directory >
	<  Directory /home/miusuario/www/Clientes/Micliente/worpress/ >
		Options Indexes FollowSymLinks
		AllowOverride None
		Require all granted
	< / Directory >

	# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
	# error, crit, alert, emerg.
	# It is also possible to configure the loglevel for particular
	# modules, e.g.
	#LogLevel info ssl:warn

	ErrorLog ${APACHE_LOG_DIR}/miusuario_error.log
	CustomLog ${APACHE_LOG_DIR}/miusuario_access.log combined

	# For most configuration files from conf-available/, which are
	# enabled or disabled at a global level, it is possible to
	# include a line for only one particular virtual host. For example the
	# following line enables the CGI configuration for this host only
	# after it has been globally disabled with "a2disconf".
	#Include conf-available/serve-cgi-bin.conf
< / VirtualHost >

La cuestion es que puse jugar un poco y me dio un error el wordpress con una pagina en blanco, lo explica muy bien en siguiente link. En ella nos dice que puede ser del ficheto htaccess y muchas mas opciones.

Me parece interesante lo que habla configuracion para dectetar errores.

 

 

 

 

 

Bueno, la cuestion es que encontre esta web donde lo explica un poco bien,

 

Ratio: 5 / 5

Inicio activadoInicio activadoInicio activadoInicio activadoInicio activado

Versión de seguridad VirtueMart 3.8.6 Cierre de una vulnerabilidad XSS

Publicado: 06 noviembre 2020

4N_CURZE (https://www.openbugbounty.org/researchers/4N_CURZE/) encontró un nuevo XSS. Tomó un tiempo reproducirlo, porque fue causado por el menú desplegable del fabricante, que no siempre está activado. El problema en sí fue fácil de solucionar, aunque el valor se incluyó en la lista blanca en todas partes, faltaba en la lista desplegable del fabricante.

Desde la versión anterior, se agregaron algunas características. Se implementó el deseado sistema multicart. Multicart significa para una tienda de múltiples proveedores, que hay un carrito adicional para cada proveedor. Entonces, cuando un cliente compra productos de diferentes proveedores, necesita realizar un pago para cada proveedor. Este sistema es muy interesante para mercados reales, que ofrecen productos de diferentes proveedores.

Otra buena característica nueva son las restricciones de pago / envío mediante cupones. Esto se puede utilizar para ofrecer a los clientes otros métodos de pago por teléfono, como transferencia bancaria, por ejemplo. O puede usarse para campañas de marketing como "use este cupón para obtener envío gratis".

El complemento textinput ahora se puede usar para texto obligatorio, ya que hemos introducido una verificación de caracteres requerida. iStraxx aportó el toggleCartButton.js con licencia MIT para la verificación de caracteres requerida.

StAn of RuposTel ha proporcionado una revisión útil del sistema de recaptcha VirtueMart. Ahora funciona de acuerdo con los nuevos estándares de Joomla y funciona con cualquier complemento joomla captcha. Lea más sobre esto en docs.virtuemart.net

Ratio: 5 / 5

Inicio activadoInicio activadoInicio activadoInicio activadoInicio activado

La idea es crear un repositorio espejo en GitHub del repositorio OFICIAL DE VIRTUEMART que esta Subversion.Esto surge despues de ver y preguntar en este hilo del foro de Virtuemart. Nunca trabaje con SVN, soy de GIT. :-)

Lo primero que hacemos es bajarnos el repositorio SVN en local con:

git svn clone https://dev.virtuemart.net/svn/virtuemart

Esta ruta la sacamos de https://docs.virtuemart.net/tutorials/development/100-svn-download.html

OJO:
Tiene que tene instalado el paquete git-svn, si no tuvieras
sudo apt install git-svn

Entonces empieza descargar todo el repositorio y todo su historial, en este caso tarda bastante ya que es muy grande, lleva muchos años el repositorio.

Una vez terminado, una de la primeras preguntas que me hago es, donde tiene guarda la ruta del SVN que clono, ya que con "git remote" no aparece nada.

Buscando informacion en "git svn --help", encuentro:

▶ git svn info 
Path: .
URL: https://dev.virtuemart.net/svn/virtuemart/trunk/virtuemart
Repository Root: https://dev.virtuemart.net/svn/virtuemart
Repository UUID: 87cc427b-4a1e-0410-b729-b2260ec0f063
Revision: 10338
Node Kind: directory
Schedule: normal
Last Changed Author: Milbo
Last Changed Rev: 10338
Last Changed Date: 2020-07-06 11:18:18 +0200 (lun, 06 jul 2020)

Con esto es suficiente por ahora.

Creo una rama llamada svn, para tener todo igual en esa rama.

Para poder sincronizar con svn de forma manual, al tener añadir en config el svn-repo simplemente tiene que ejecutar:

git svn fetch

Ahora solo queda hacer un rebase para actualice. Yo lo hago en la rama svn que tengo creada.

git svn rebase

Luego solo te queda actualizar en git tus ramas... jejej

 

 

Ratio: 5 / 5

Inicio activadoInicio activadoInicio activadoInicio activadoInicio activado

Esto es una traduccion del post de virtuemart de Release VirtueMart 3.8.8

Publicado: 29 de enero de 2021

Aquí hay algunas palabras del líder de VirtueMart (Max Milbers):

"Estos son tiempos revueltos. Por un lado, la vida cambió por completo para la mayoría de los miembros, ofreciendo nuevas oportunidades. En mi caso, actualmente estoy muy ocupado con los problemas de bloqueo. Literalmente, conseguir una simple solucion de un gran problema que requiere mucho tiempo. La política divide a las personas y los negocios. Recibí preguntas indirectas, preguntando si VirtueMart va a tomar medidas con respecto a su 'uso político correcto'.

Cuando me uní a VirtueMart, mi objetivo era crear un sistema de tienda gratuita para la gente. VirtueMart es un sistema de código abierto gratuito para cualquier persona. Ningún miembro de la comunidad puede controlar lo que vendes con él. No es nuestra responsabilidad. Personalmente creo en la buena voluntad de las personas y que nadie debería juzgar a los demás sin andar con sus zapatos por un tiempo. Nosotros, la comunidad VirtueMart, tenemos miembros en todo el mundo. ¡Mantengámoslo de esa manera! "

Ahora volvamos a VirtueMart. Ya intentamos hace un año crear una nueva plantilla de administración. Esta vez, nuestra miembro del equipo, Valerie Isaksen de alatak.net, rompió los obstáculos y encendió un nuevo fuego para la nueva plantilla de administrador. La plantilla anterior se fusionará más tarde con la nueva plantilla y se proporcionará como estilo o tema (no será exactamente el mismo). La nueva plantilla de administración se proporciona actualmente como plantilla de backend. Los actualizadores deben usar nuestro paquete (use el gran botón azul de descarga) para obtener la nueva plantilla de administración. Puede instalar el paquete sobre su instalación actual. Garantiza que también obtenga los últimos tcpdf y vmbeez. Pero también puede extraerlo e instalar vmadmin.zip. De esta forma se asegura que los cambios en la plantilla de backend no interfieran con ninguna instalación productiva.
Diseño de plantilla de interfaz de administrador actualizado

Hay una nueva plantilla de administrador disponible para pruebas que mejora la apariencia y usabilidad de dispositivos móviles y de escritorio para administradores de tiendas.

Los iconos modernos se utilizan para representar funciones clave y dar a la interfaz una apariencia más limpia.

Los comentarios nos dicen que las características principales y la flexibilidad de configuración siguen siendo un aspecto central de por qué VirtueMart es una excelente opción para el comercio electrónico de Joomla.

Por lo tanto, esta es una actualización de la interfaz de usuario de la plantilla y no un rediseño completo de las páginas de administración. Los propietarios de tiendas seguirán encontrando la información y las configuraciones de su negocio en el mismo lugar.

Se ha modificado ligeramente el aspecto de una pequeña cantidad de pantallas de configuración mediante el uso de iconos y proporcionan una alineación más consistente de características / nombres de campo con entrada / selección.

nueva plantilla virtuemart ordes administrador

 

Reflejos

  • Barra lateral
    • Funcionalidad de alternancia de apariencia más limpia.
    • Está completamente oculto y disponible mediante la alternancia de diapositivas o superposiciones en todas las vistas, lo que brinda más espacio para mostrar la información.
  • Móvil / Tableta:
    • Las pantallas de lista para la mayoría de las funciones de administración de VM ahora se ajustan de manera efectiva.
    • Las selecciones de funciones (filtro / búsqueda) se muestran correctamente.
    • La alineación del nombre del campo con la selección / entrada facilita la visualización en el escritorio y mejora significativamente la interfaz de usuario en dispositivos móviles / tabletas.
  • General
    • Uso general mejorado de iconos.
    • Selecciones de pestañas más limpias para configuraciones de varias páginas.
    • Los selectores simples de radio sí / no ahora se alinean con el aspecto de la interfaz de usuario de Joomla.
    • Visualización y carga de imágenes: pequeñas mejoras en el cambio de diseño de productos / categorías / fabricantes y medios.

nueva plantilla virtuemart orde administrador

 

Nuevas funciones, mejoras, correcciones

Mejorado o nuevo

  • Actualización de pago de Skrill
  • La tienda eliminada es una función fuera de línea. En su lugar, se agregó un enlace que muestra mejores posibilidades para hacer eso (usando joomla o modo catálogo).
  • Restricción de envío / pago mediante Cupón
  • Nota de pedido adicional. Solo una simple nota para pedidos para uso interno.
  • La lista de pedidos busca ahora también la nota_cliente y la nota_pedido
  • La lista de pedidos ahora también se puede filtrar por proveedor
  • Nuevas opciones de almacenamiento de carros (actualmente por configuración oculta)
    1. #CartsDontSave = 0 // no guarde los carritos para los compradores registrados
    2. # CartsDontSaveByshoppergroup = 50 // no almacene carritos para los compradores de este grupo de compradores
    3. # CartsDontSaveCartFields = 1 // no guarde los campos del carrito cuando almacene un carrito para un comprador
  • La función de modelo de pedido getOrder carga ahora todos los datos del estado de un pedido (interesante para los templaters)
  • Filtro de categoría múltiple para la lista de productos en el backend. Deshabilitado de forma predeterminada, actualmente puede habilitarlo mediante la configuración oculta AllowMultipleCatsFilter = 1

Nuevo para desarrolladores

  • nuevo patrón si se da una matriz, y necesitamos el primer elemento, entonces usamos ahora restablecer y no el elemento 0.
  • Nuevo activador en storeProductCustomfields, para campos personalizados eliminados.
  • Se agregó la función "andWhere" al parámetro de la función de carga VmTableXarray, se agregó la función loadOrderingCurrentItem
  • VmTable orden limpiado, función agregada loadOrderingCurrentItem
  • Compatibilidad con PHP 8, aún pueden ocurrir errores.

Arreglos

  • Pedido de productos
  • Todas las advertencias desagradables como "Advertencia: Parámetro 1 para plgVmShipmentWeight_countries :: plgVmOnSelectCheckShipment () se espera que sea una referencia, valor dado en /var/www/vhosts/..../libraries/joomla/event/event.php en la línea 70"
  • el tiempo para los cupones es a partir de ahora no "AHORA" sino "timestamp_utc"
  • Arreglo para 1054 Columna desconocida 'Array' in 'donde cláusula después de la actualización a 3.8.6 http://forum.virtuemart.net/index.php?topic=145855.30 Arreglo para ordenar productos si se muestran productos de subcategorías
  • Los enlaces de detalles del pedido en el correo electrónico consideran el caso, que ni el enlace de invitado ni el registrado están establecidos
  • Característica que los usuarios registrados deben activar ellos mismos
  • getUserInfoInUserFields obteniendo los datos de usuario correctos de Joomla por ID dado
  • Mensaje de error de carrito faltante en js
  • Falta '' para VMPATH_ROOT constante en el script del instalador
  • Se eliminó \ n inútil en la descripción de la tienda de muestras
  • getVendorAddressFields cuando un administrador y un proveedor editan a otro proveedor.
  • El modelo de categoría llama a clearCategoryRelatedCaches
  • idioma del complemento de envío en la vista de pedidos
  • agregado elegidoDropDowns en el carrito de compras predeterminado
  • pequeña solución para cartlayout personalizado
  • Años de copyright actualizados, variables renombradas y otros menores
  • Se corrigieron muchas advertencias del tipo "Desaprobado: el parámetro obligatorio $ isSite sigue al parámetro opcional $ selectedCategories en /var/www/vhosts/.../administrator/components/com_virtuemart/helpers/shopfunctions.php en la línea 652". Entonces ya estamos preparados para PHP8.

 

 

 

Ratio: 5 / 5

Inicio activadoInicio activadoInicio activadoInicio activadoInicio activado

Con :

  • Php 7.2
  • Joomla 3.9.21
  • Virtuemar 3.8.4 10335

me da un error al intentar cambiar el estado de algunos pedidos.

[Sun Aug 30 20:08:50.604004 2020] [php7:warn] [pid 6369] [client ::1:43724] PHP Warning: strtoupper() expects parameter 1 to be string, object given in /www/Clientes/superoliva/web/libraries/src/Language/Language.php on line 314, referer: http://localhost/Clientes/superoliva/web/administrator/index.php?option=com_virtuemart&view=orders
[Sun Aug 30 20:08:50.604083 2020] [php7:warn] [pid 6369] [client ::1:43724] PHP Warning: strpos() expects parameter 1 to be string, object given in /www/Clientes/superoliva/web/libraries/src/Language/Language.php on line 361, referer: http://localhost/Clientes/superoliva/web/administrator/index.php?option=com_virtuemart&view=orders
[Sun Aug 30 20:08:50.604106 2020] [php7:error] [pid 6369] [client ::1:43724] PHP Recoverable fatal error: Object of class stdClass could not be converted to string in /www/Clientes/superoliva/web/libraries/src/Language/Language.php on line 364, referer: http://localhost/Clientes/superoliva/web/administrator/index.php?option=com_virtuemart&view=orders

 

El problema creo que solo surge en los pedido que tiene un estado creado por nosotros. ( lo texteare mas)

Buscamos cual puede ser la causa y es el fichero administrator/components/com_virtuemart/models/orderstatus.php

Donde veo con la ultima actualizacion de virtuemart cambiaron esto:

diferencias orderstatus

Si dejo la version en rojo (la anterior) , funciona perfectamente.

Bueno, creare un tema en foro de virtuemart, a ver que me comentas.

Ratio: 5 / 5

Inicio activadoInicio activadoInicio activadoInicio activadoInicio activado

Lo primero que es saber que no se tiene instalar absolutamente ningún plugin y componente, es simplemente un override de la plantilla de virtuemart de orders en los ficheros:

- html/com_virtuemart/orders/detail.php
- html/com_virtuemart/orders/details_item.php

En fichero de detail añadimos:

    
<input type="hidden" name="task" value="add"/>
    <input type="hidden" name="option" value="com_virtuemart">
    <input type="hidden" name="view" value="cart">
    <input type="hidden" name="Itemid" value="101">
</form>

 En fichero de details_items.php añadimos esta input ocultos:

<input type="hidden" name="virtuemart_product_id[]" value="<?php echo $item->virtuemart_product_id; ?>">
<input type="hidden" name="quantity[]" value="<?php echo $qtt; ?>">
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.