Snippets
Activar interfaz gráfica para gestionar mysql en ddev
Una de las formas más sencillas de implementar un entorno local para trabajar con Drupal o cualquier otra aplicación basada en PHP y MySql es ddev.
Una vez instalado, existe la posibilidad de administrar tus bases de datos MySQL, desde una interfaz gráfica con herramientas como PhpMyAdmin o Adminer y para hacerlo es bastante sencillo.
Comandos útiles de Git
Aquí te dejo varios comandos para utilizar con el control de versiones en tus proyectos.
Imprimir datos usuario en Twig Drupal | get user details in the template page.html.twig
En Drupal 11 con Twig, la forma correcta de mostrar la imagen del usuario actual depende de si tienes acceso al objeto user o solo al current_user.
Symfony 6 User Deprecated: Method
User Deprecated: Method "Symfony\Component\Console\Command\Command::execute()" might add "int" as a native return type declaration in the future. Do the same in child class "App\Command\UpdateInfoCommand" now to avoid errors or add an explicit @return annotation to suppress this message
Configuración Desarrollo Local Drupal 8
Este código permite:
- Activar el modo DEBUG o DEPURADOR de Drupal 8
- Activar las sugerencias para nombrar las Plantillas Twig y poder personalizar nuestros contenidos individualmente.
- Desactivar el caché durante el proceso de desarrollo local
- Realizar otras configuraciones sin alterar el archivo settings.php original de nuestro Drupal
Imprimir imagen de fondo en un template usando variables Twig
Este código te imprimirá el valor del campo imagen dentro de la plantilla.
hook_preprocess_node()
La Preprocess Function sirve para modificar los comportamientos por defecto de Drupal, en este caso vamos a acceder al formulario por defecto y lo haremos disponible para colocarlo dentro de un nodo y posteriormente dentro de un paragarphs, así podremos imprimirlo en cualquier lugar y posición dentro de la web.
Si quieres aprender más sobre las preprocess functions
Crear usuario programáticamente Drupal 8
Para crear un nuevo usuario de forma programática...
Corregir errores restos de módulos
Este código permitirá que puedas borrar todos los restos de un módulo que hayas desinstalado.
Cómo volver a la versión anterior de Composer
En algunos casos, como por ejemplo, al instalar un proyecto de Symfony 2.4.0, necesitarás utilizar la anterior versión de Composer, o no podrás terminar con la instalación.
En estos casos, aunque estés trabajando con contenedores de Docker, sólo tendrás que ejecutar el siguiente comando y Composer volverá a la versión anterior a la actual.
Cómo ejecutar Docker-CE en WSL2 - Running Docker-CE in WSL2
Cuando trabajamos con Lando, utilizando el Subsitema de Windows (WSL2), uno de los requerimientos que nos encontraremos es el de instalar el Docker-CE, como parte del proceso.
Para evitar econtrarnos con el error durante la instalación de Lando, vamos a descargar y activar Docker-CE antes de proceder con la instalación de Lando.
Comando sincronizacion Drupal 8
La sincronización de configuración de Drupal o CMI, es la manera más efectiva y práctica de conectar y mantener diferentes entornos sin grandes pérdidas de tiempo. Aqui te dejos algunos de los comandos más utilizados.
Argument #1 ($validateTo) must be of type DateTimeInterface, string given
En Symfony, al trabajar con propiedades o campos del tipo fecha en nuestra entidades, es posible que nos encontremos con este error:
App\Entity\Entidad::setValidateTo(): Argument #1 ($validateTo) must be of type DateTimeInterface, string given, called in /app/src/Command/UpdateEntidadInfo.php on line 50
Esto significa que aunque en nuestra entidad hemos declarado correctamente el tipo de propiedad, al intentar leerla desde otro lugar, sea controlador o comando de consola, tendremos que volver a añadir su tipo.
Preprocess function views_fields
Las funciones de preproceso son la manera "tradicional" en que podremos pasar valores dentro de cualquier contenido de drupal, aunque hoy en día ya se utilizan módulos como Twig Tweak, para realizar esta clase de procedimientos.
¿Cómo reviso una rama remota de Git? | How do I check out a remote Git branch?
Cuando trabajamos con Repositorios GIT, es posible que tengamos que conectarnos a ramas ya existentes en el servidor y comenzar a trabajar a partir de ellas en nuestro entorno local.
Drupal + Nginx + Php-cgi : 502 Bad Gateway error
Si estás utilizando un servidor NGNIX para tus proyectos de Drupal, es posible que te hayas encontrado con el error 502 Bad Gateway error, sobretodo cuando estás como administrador o editando tus contenidos.
El problema parece estar relacionado con los fastcgi buffers de Nginx
Para solucionarlo, abre el archivo /etc/nginx/nginx.conf, y a continuación añade el código que está debajo en el área de http
Certbot MisconfigurationError: nginx restart failed
Imprimir archivos Media en Twig Drupal 8,9, o superior
mkcert : The term 'mkcert' is not recognized as the name of a cmdlet, function, script file.
Cuando trabajas en tu entorno local utilizando soluciones basadas en contenedorres Docker, como por ejemplo, Ddev con el subsistema de windows WSL2, es posible que tengas que realizar ajustes en tus certificados. Uno de los pasos está relacionado con los certificados mkcert que instala Ddev de manera predeterminada. Si al ejecutar el comando mkcert -CAROOT te devevuelte el error:
mkcert : The term 'mkcert' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again. At line:1 char:1 + mkcert -CAROOT + ~~~~~~ + CategoryInfo : ObjectNotFound: (mkcert:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException
Ese error en PowerShell significa que mkcert no está instalado o no está en el PATH del sistema. Aquí te dejo una guía paso a paso para solucionar este problema en Windows 11:
Comprobar valor de un campo booleano en plantilla Twig Drupal
En Drupal, aunque podremos comprobar el valor renderizado, de la mayoría de los campos, utilizando la expresión {% if content.MICAMPO|render is not empty %} {% endif %}, en el caso de un campo booleano, tendremos que cambiar esta estructura.
Cómo instalar Make en Ubuntu
GNU Make es una herramienta que controla la generación de ejecutables y otros archivos no fuente de un programa a partir de los archivos fuente del programa.
Por ejemplo, en el caso de trabajar con contenedores de Docker, una vez tengas instalado Make, podrás ejecutar make up, en lugar de docker-compose up -d, para ponerlos en funcionamiento.
Cómo instalar Composer 2 en Ubuntu 20.04
Composer es un Gestor de paquetes, recomendado para realizar descargas de código desde repositorios seguros y en el caso de Drupal, recomendado a partir de la versión 8, ya que nos servirá para la instalación completa de un proyecto Drupal y de sus módulos.
Si quieres más información puedes visitar su Página Oficial
Habilita las sugerencias para aplicar plantillas en bloques
Este código te permite habilitar las sugerencias de nombres para modificar las plantillas de los bloques.
Editar nodo programáticamente Drupal 8
Para editar el contenido de un nodo...
Crear un vista de contenidos relacionados
Este código te permitirá crear una vista de contenidos relacionados.