En esta ocasión os vamos a explicar qué hay que hacer cuando en la instalación de un Moodle 3.x con motor de base de datos MariaDB, llegamos al punto en el que chequea si el sistema coumple los requisitos mínimos y nos muestra estos errores:

Información Informe Plugin Estado
mysql_full_unicode_support#File_format

Su base de datos tiene tablas que están usando Antelope como sistema de ficheros. Para un soporte completo de UTF-8 en MySQL y MariaDB requiere Barracuda como sistema de ficheros. Por favor convierta las tablas al sistema de ficheros Barracuda. Mire la documentación Administración vía línea de comandos para ver los detalles de alguna herramienta para convertir las tablas de InnoDB a Barracuda.

Revisar
mysql_full_unicode_support#Large_prefix

Para el soporte completo de UTF-8 en MySQL y MariaDB se requiere cambiar la opción de MySQL ‘innodb_large_prefix’ a ‘ON’. Mira la documentación para más detalles.

En este caso, la solución es bien sencilla: necesitaremos conectarnos a la base de datos (vía SSH o por PHPMyAdmin pero con usuario con plenos permisos en nuestra base de datos) y ejecutar estas 3 instrucciones dentro de la base de datos con la que vamos a trabajar:

SET GLOBAL innodb_file_format=Barracuda;
SET GLOBAL innodb_file_per_table=ON;
set global innodb_large_prefix = ON;

Después de esto, refrescamos la ventana de instalación de Moodle y la instalación nos dará el ok para poder seguir el proceso.

Hace poco hemos tenido un error al actualizar un conocido plugin de WordPress. El error se mostraba en lugar del Slider que se había preparado:
Revolution Slider Error: You have some jquery.js library include that comes after the revolution files js include. This includes make eliminates the revolution slider libraries, and make it not work.

To fix it you can:
1. In the Slider Settings -> Troubleshooting set option: Put JS Includes To Body option to true.
2. Find the double jquery.js include and remove it.

Realmente el problema era otro, pero al dar este mensaje, comprobamos que se cargara todo correctamente. La solución que dan en foros a este problema, y la propia empresa recomienda, es la de actualizar WordPress, desactivar todos los plugins, todos los temas, asignar uno de los que vienen en WordPress por defecto y empezar a probar activando de uno en uno todos los plugins y el tema. Como esta solución no nos convencía mucho, ya que el plugin había funcionado bien hasta su actualización y por otra parte iba a llevarnos horas hacer la comprobación, exploramos otra vía, que resultó ser la solución correcta y que sólo nos llevó 20 minutos:
Abrimos la ventana de Inspeccionar de Chrome y nos fuimos a Console. Allí vimos que el problema real era que no podía cargar las librerías que traía el plugin en su carpeta de revslider/public/… por lo que le asignamos permisos 775 a esas carpetas. A continuación limpiamos todas las cachés, abrimos la web con una sesión de incógnito para cerciorarnos de que el error no se iba a reproducir por un problema de nuestro navegador y todo solucionado.

Esperamos que os ayude!!!

Para actualizar una plataforma Magento 1.X en producción, seguiremos los siguientes pasos:

  1. Descargaremos el archivo desde la página de Magento mediante wget, o nos los descargamos en local y subimos el archivo por FTP o SCP.
  2. Descomprimimos el archivo
    tar -zxvf magento-1.9.X.tar.gz
    o
    unzip magento-1.9.X.zip,
    donde X es la versión que nos hemos descargado
  3. Como se habrá descomprimido en un directorio llamado magento, entramos en él:
    cd magento
  4. Y copiamos todos los archivos descomprimidos sobre los actuales, machacando los anteriores:
    cp -rf * ../
  5. Salimos del directorio magento y lo borramos:
    cd ..
    rm -rf magento
  6. Y nos cercioramos que los permisos y propietarios de directorios y archivos son los correctos:
    find -type f -name ‘*.*’ -exec chmod 644 {} \;
    find -type d -exec chmod 755 {} \;
    chown -R username:groupname *, donde username será www-data o el usuario propietario en cada caso, y lo mismo para groupname

Al crear una regla o promoción de carrito en el que queráis hacer un descuento a un grupo de clientes, podéis encontraros con el problema de que el cliente se loga, pero el carrito sigue mostrando los precios sin el descuento por ser de un grupo determinado con promoción y descuento. Esto es debido a que habéis marcado a Sí la opción “Habilitar asignación automática al grupo de clientes”. Debéis marcarla a No si vais a tener varios grupos de clientes con descuentos y promociones según su grupo, o en la página de checkout se asignará al cliente al grupo General, aunque esté logado correctamente.

La opción “Habilitar asignación automática al grupo de clientes” está en Sistema->Configuración->Clientes->Configuración de cliente.

Moodle 3.3 ha traido un nuevo elemento de vista general de curso, muy aplaudido por la comunidad, pero con un pequeño contratiempo, y es que los cursos por páginas están definidos por una constante y no es algo que pueda configurarse.

Si necesitamos modificarlo, tendremos que entrar en el código y modificar la constante COURSES_PER_PAGE de la clase courses_view que está en el archivo courses_view.php que está en la ruta blocks/myoverview/classes/output/courses_view.php

A veces nos ha ocurrido que aunque la plataforma Magento (versión 1.9) funciona perfectamente y las URLs van bien, cuando hemos querido instalar desde el Downlader una extensión con la URL del Marketplace de Magento, nos ha dado el error:

Leer más

Cuando la función on_sent_ok os de el error de ajuste obsoleto (o is Deprecated), habrá que cambiar la función que tenemos por código JavaScript.

En nuestro caso, el cliente tenía una redirección a una URL, con lo que cambiamos el código a
[crayon-5b4ec0fc27dfe566285291/]
 

 

En este caso, tenemos un cliente que quiere que sólo los atributos con valor a “Sí” (o TRUE, o “Verdadero”, como queráis). ¿Cómo lo conseguimos?
Nos iremos al archivo attribute.phtml del paquete del tema que estamos utilizando, cuya ruta es:

/app/design/frontend/nuestro_tema/paquete_usado/template/catalog/product/view/attribute.phtml

Y buscamos este código:
[crayon-5b4ec0fc280d4841943551/]
Y lo reemplazamos por este otro:
[crayon-5b4ec0fc280db515648952/]
Obviamente, en el punto del código donde pone ‘No’, podemos poner
[crayon-5b4ec0fc280de988728972/]

Si no nos interesan los logs, borraremos todos los registros de las tablas
log_customer
log_visitor
log_visitor_info
log_url log_url_info
log_quote
report_viewed_product_index
report_compared_product_index
report_event
catalog_compare_item

Se puede meter en cron para que salte la limpieza 1 vez al mes, por ejemplo:
php -f shell/log.php clean

También puede hacerse en la interfaz del administrador: Sistema->Configuración->Avanzado->Sistema->Log
Habilitamos la limpieza de logs y definimos la frecuencia de borrado. Guardamos y ya está todo.

Si nos interesan (por temas de estadísticas de visitas), dejaremos los del último mes o los 2 últimos meses.

Hace unos días estuve en las instalaciones que SiteGround España nos brinda al grupo de Meetup de WordPress Madrid explicando cómo mostrar los contenidos de los campos personalizados que habíamos creado con ACF, sin escribir código. Como vimos que era un truco muy útil, lo explico a continuación:

Para este ejercicio necesitaremos:

Bien, lo primero que hacemos es crear con el plugin ACF Post Types un contenedor para los campos personalizados que crearemos a continuación:

 

 

 

Creamos un tipo llamado Libro:

 

Y lo vemos en el menú lateral del backend de WordPress:

A continuación, creamos los campos asociados al tipo Libro:

Bien, ya tenemos una ficha rudimentaria de un libro en backend. Ahora vamos a darle contenido a esta ficha. Para ello creamos 3 libros:

 

 

 

 

 

 

 

 

 

 

 

Y ahora viene el momento de volcarlos al front. Para ello utilizaremos el plugin Custom Content Shortcode, que nos permitirá hacer por ejemplo un bucle y sacar un listado de los libros en una página estática. Si queréis consultar los shortcodes de este plugin, los teneis aquí:

 

 

 

 

 

 

 

 

Entraremos en los ajustes de Custom Content Shortcodes para activar los shortcodes para ACF como veis en la figura que teneis a continuación:

 

 

 

Bien, creamos una página en la que tendremos el listado de las obras que hemos insertado y ponemos los siguientes shortcodes:

 

 

 

 

 

 

 

Podéis observar que para mostrar la fecha he definido un formato de salida. Ahora publicamos la página y vemos el resultado: