Snippets

OCI runtime exec failed: exec failed: unable to start container process: exec: "bash": executable file not found in $PATH: unknown

Al intentar realizar la instalación de Symfony 6.1 con Docker, siguiendo las instrucciones desde su página oficial HAZ CLIC AQUI PARA VERLA

me encontré con este error al intentar entrar a los contenedores

OCI runtime exec failed: exec failed: unable to start container process: exec: "bash": executable file not found in $PATH: unknown

Cómo añadir fuentes externas (Google Fonts ) en Drupal 8/9

Este código te permitirá añadir Google Fonts en tu tema personalizado o "Subtheme" Drupal 8/9.

Puedes consultar la Página oficial de Drupal

 Para elegir otra fuente desde la página de google fonts:

  1. Visita la página oficial de Google fonts
     
  2. Haz clic en el nombre de la fuente que deseas instalar.

     

  3. En la siguiente pantalla selecciona el estilo, luego marca la pestaña embed que está arriba a la derecha y copia los valores para sustituirlos en los archivos dentro de TUSUBTHEME correspondientes en cada caso.

 

Mostrar bloque vista usando Preprocess Function Drupal 8/9

Este código te permitirá mostrar una vista tipo bloque en un nodo o paragraphs

Para Nodos:
/** * Implements hook_preprocess_node() for node.html.twig. */
function TUSUBTHEME_preprocess_node(array &$variables) {
  $variables['nombre_variable_para_mostrar'] = views_embed_view('nombre_maquina', 'nombre_vista_dentro');

}

Para Paragraphs

/* Implement hook_preprocess_paragraph() */
function wct_oct2020_preprocess_paragraph(&$variables) {
  $variables['nombre_variable_para_mostrar'] = views_embed_view('nombre_maquina', 'nombre_vista_dentro');

}

Cómo imprimir un formulario contacto dentro de un paragraphs Drupal 9

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

Cambiar el nombre del idioma en in language switcher (English > En)

Al instalar nuestro sitio multi-idioma en Drupal, en algunos casos nos encontraremos con la necesidad de que el selector de idiomas (Language Switcher), que viene con Drupal, muestre los nombres abreviados para cada indioma, ya que por defecto mostrará su nombre completo. En principio, para cambiarlo sólo deberíamos acceder a la url de configuración del módulo Language, previamente activado, accediendo a "/admin/config/regional/language" y allí seleccionar EDITAR y cambiar el nombre del idioma Ej. English a EN, pero esto no funciona correctamente y sólo te cambia el resto de los idiomas.

Para solucionarlo, tendremos que añadir en nuestro archivo TUTEMA.theme, la siguiente función, cambiando sólamente en nombre equivalente a tu tema.

Symfony Postgree | Datatype mismatch: 7 ERROR:  column "xxx" cannot be cast automatically to type boolean

Cuando trabajas con Symfony y Postgree, es posible que al intentar cambiar el tipo de valor para una tabla o para una columna, te encuentres con este error, que no te permitirá realizar la actualización al ejecutar el comando doctrine:migrations:migrate.

SQLSTATE[42804]: Datatype mismatch: 7 ERROR:  column "xxx" cannot be cast automatically to type boolean   HINT:  You might need to specify "USING xxx::boolean".

The DOMPurify library is not installed.

The DOMPurify library is not installed. This library is necessary if you want to use HTML in Colorbox captions. Without it, all captions will be treated as plain text.

     Cuando trabajas con Colorbox, necesitarás instalar la librería DOMPurify, como uno de sus requisitos, en algunas ocasiones, aunque trabajes con Composer, puede que no se descargue en el lugar correcto y por eso no la encuentre, para solucionarlo, puedes utilizar el comando de Drush que te pongo debajo.

Como imprimir mensajes en Drupal 9

$this->messenger() te permitirá imprimir en pantalla tus mensajes al ejecutar algo de código en tus desarrollos con Drupal 8 o 9

/* Con este ejemplo, al ejecutar el método submitForm en tu formulario personalizado, podrás pasar como parámetro los campos de tu formulario formando parte del mensaje. */

 

/**
 * {@inheritdoc}
*/

public function submitForm(array &$form, FormStateInterface $form_state) {
  $this->messenger()->addStatus($this->t('Su número es @number', ['@number' => $form_state->getValue('numero_telefono')]));}

}

Agregar item sin enlace al menu | No link items menu

Puede que necesites para algún proyecto, añadir en tu menú, opciones sin enlace. En este caso tienes varias opciones disponibles

  1. Añadir por interfaz dentro del valor para el enlace del menú (Drupal 8), lo siguiente:
    route:<nolink>
  2. Añadir un item sin enlace al menú programáticamente (Drupal 8), con el siguiente código:
    Link::fromTextAndUrl(t('Title'), Url::fromUri('route:<nolink>'));
  3. Instalar el módulo contribuido Special menu items (Drupal 8 y superiores)
  4. Instalar el módulo contribuido Menu no link (Drupal 7)