Custom Entities y cómo asignar un tipo de widget en setDisplayOptions

Cuando estamos definiendo una entidad personalizada nos encontramos con que, en el método baseFieldDefinitions, tenemos que definir el cuerpo (campos) que compone la entidad. He tratado de buscar en la documentación el listado de los tipos, que fácilmente podemos seleccionar desde la UI, pero a nivel de código, yo al menos, era incapaz de localizarlo entre las miles de páginas que componen la API de Drupal. Como siempre hago en mis posts, no cuento mis penas sino mis soluciones.

Este código ha sido probado y verificado para Drupal 9.1.0.

Continuar leyendo «Custom Entities y cómo asignar un tipo de widget en setDisplayOptions»

The ‘entity:user’ context is required and not present

Así, con este título tan directo, quiero destacar el error que he tenido que lidiar y me ha puesto los pelos de punta. ¡Qué carajos ha pasado para que ni siquiera el usuario «anoymous» pueda ver la web!

Pues señores, horas antes, de sobre enterado borré, de la tabla users, el registro del usuario con uid=0. No me preguntes porqué, pero lo hice.

Solución, insertar un nuevo registro para ese usuario. ¿Qué datos meto? Pues estos mismos.

INSERT INTO users (uid, uuid, langcode) VALUES ('0', '2d62a7d8-b5b6-43b2-b513-fa7b3396ec44', 'es');

Instalación de paquetes PHP sin Composer

En ocasiones la solución acarrea más problemas que beneficios. Esto es lo que me ocurre con Composer. Este gestor de paquetes, similar al NPM, pero para PHP, se supone que nos ayuda en el mantenimiento de las librerías que necesitemos en nuestro entorno de desarrollo PHP. Se supone porque como no tengas instalado el Composer o el hosting donde esté tu aplicación no te lo permita instalar, estamos jodidos.

En este post voy a explicar dos alternativas para poder hacer uso de la instalación de librerías sin utilizar el software Composer.

Continuar leyendo «Instalación de paquetes PHP sin Composer»

X-Economy bloquea el X-Plane 11

La última versión del cliente de FSEconomy para X-Plane 11, conocido como X-Economy, es la versión 1.9.5, tiene una peculiaridad y es que te bloquea el simulador cuando tratas de conectarte. Ojo, esto solo lo he experimentado con Windows. Creo que con Linux y Mac no ocurre. Para más información consulta la sección «Causa».

Otra cosa, la validación dura hasta unos 30 segundos. Esto puede dar la sensación de bloqueo, pero no estamos hablando de estos. Lo que aquí se comenta es un cuelgue general del simulador.

Continuar leyendo «X-Economy bloquea el X-Plane 11»

Materialize CSS en Angular 9

Estoy haciendo mis pinitos con Materialize CSS, framework desarrollado por Google que implementa Material (directrices de diseño UI) y que es una clara alternativa a Bootstrap. He querido hacer una instalación limpia, sin añadir módulos a través del npm, así que me he bajado la última versión (1.0.0) del paquete Materialize. Es un simple zip con los CSS y los JS para desarrollo y producción (*.min).

Continuar leyendo «Materialize CSS en Angular 9»