Comandos útiles de Git
Aquí te dejo varios comandos para utilizar con el control de versiones en tus proyectos.
Aquí te dejo varios comandos para utilizar con el control de versiones en tus proyectos.
Añadiendo estas variables, podrás obtener valores del perfil de usuario e imprimirlos en tus plantillas de Drupal.
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
Este código permite:
Este código te imprimirá el valor del campo imagen dentro de la plantilla.
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
Para crear un nuevo usuario de forma programática...
Este código permitirá que puedas borrar todos los restos de un módulo que hayas desinstalado.
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.
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.
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.
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.
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.
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.
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
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.
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
Este código te permite habilitar las sugerencias de nombres para modificar las plantillas de los bloques.
Para editar el contenido de un nodo...
Este código te permitirá crear una vista de contenidos relacionados.
Cómo consumir y devolver un Json dentro de un controller de Symfony
A partir de Drupal 8 se recomienda que la instalación se realice utilizando el gestor de paquetes COMPOSER para mantener una estructura de archivos más fácil de gestionar mediante línea de comandos.
Esto presenta un nuevo problema que es la creación de la carpeta "/web" dentro de esa estructura que en la mayoría de los servidores compartidos terminará mostrándose como parte de nuestra url, ya que el dominio principal apuntará por defecto a la carpeta public_html o www en lugar de "public_html/web".
A los que estamos trabajando con WSL2 en Windows 10, nos puede pasar este error de conexión entre nuestra consola y el servidor para descargar las aplicaciones. En mi caso me sucedió al intentar instalar cerbot.
Al parecer Ubuntu 20.04 LTS reemplazó el software de ubuntu con snapcraft por completo. Entonces, es obvio que el snap se está convirtiendo en el 'predeterminado' de la distribución.
El problema es que snap no parece funcionar actualmente en wsl2 debido a que depende de systemd. Si lo entiendo correctamente, el servicio snapd debería estar ejecutándose en segundo plano para que funcione, que snapd ya viene preinstalado, sin embargo snapd no puede iniciarse debido a que WSL2 no tiene systemd.
error: cannot communicate with server: Post http://localhost/v2/snaps/hello-world: dial unix /run/snapd.socket: connect: no such file or directory
Por eso, si intentáramos ejecutar el comando: sudo service snapd start, nos saldría en pantalla algo parecido a esto:
snapd: unrecognized service
Este código añadirá a la tabla de logs de Drupal 8 los errores que se generen en tu archivo controllador o en tu módulo.
Este código te permite acceder a la url de la imagen e imprimirla desde una plantilla tipo views-field
Si estás tratando de implementar algún carrusel para Drupal 10, siguiendo ejemplos que haz encontrado en internet, esto te ayudará a corregirlo.
Se trata de una clase u objeto, desarrollada por otros o por tí, cuya funcionalidad es realizar alguna tarea. Ej.: Mailer o Logger.
Para identificar un Servicio sólo tienes que preguntarte, si esta clase toma información y realiza algún proceso con esta información o si sólamente sirve para guardar esa información en base de datos.
Para acceder al listado de servicios en Drupal 10 y su documentación HAZ CLIC AQUI
Si quieres saber un poco más sobre webservices en Drupal HAZ CLIC AQUÍ
Si queremos reescribir los valores de un campo media, usando la plantilla field.html.twig, podremos obtener sus valores usando la siguiente estructura:
Para cumplir con algunos requerimientos de SEO, es necesario que podamos extraer los valores de texto alternativo "alt" y el título de la imagen, cuando el campo con el que estamos trabajando en Drupal, es de tipo Media, cambiar la estructura, con respecto al tradicional campo tipo imagen.
Si todavía no haz instalado composer en tu ordenador visita la página oficial de composer
Es posible que en algunas ocasiones, nos encontremos con fallos cuando utilizamos Composer, para que se encargue de descargar las dependencias en nuestros proyecto PHP.
En estos casos, puedes comprobar si el error está relacionado con la ejecución del composer o con el resto de tu código, ejecutando el siguiente comando:
Para crear un formulario personalizado...
Para añadir el archivo .gitignore a Drupal sigue estos pasos:
Este código te peritirá crear un enlace tipo ancla, para acceder a zonas específicas sin recargar la página.
Es muy recomendable utilizar los repositorios, para mantener controlada la evolución de nuestro código, a medida que avanzamos en cualquier proyecto. Bitbucket te permite crear, de forma gratuita, una cuenta en la que podrás alojar tu proyecto.
Este código te permitirá modificar el texto que aparece por defecto en el botón de Añadir al carrito o Add to Cart de Drupal 8 Commerce, utilizando tu propio módulo personalizado.
Con el hook_form_alter podremos modificar cualquier formulario existente en Drupal, en esta ocasión añadiremos una clase a nuestro formulario.
Visita la página oficial para más información: https://api.drupal.org/api/drupal/core%21lib%21Drupal%21Core%21Form%21form.api.php/function/hook_form_alter/8.2.x
Redirects to external URLs are not allowed by default, use \Drupal\Core\Routing\TrustedRedirectResponse for it.
Es posible que al realizar el despliegue en producción de uno de nuestros sitios Drupal, nos encontremos con este error, para solucionarlo sigue los pasos que te cuento a continuación:
Para algunos de tus proyectos, es posible que necesites ejecutar comandos de automatización, que permitan la creación de algunos nodos, por ejemplo. A continuación te dejo el código que podría ayudarte con esa tarea.
Si estás instalando Drupal, en un servidor VPS con Nginx, este es el archivo completo que deberías utilizar, para Drupal 10
La primera vez que ejecutas Docker Desktop, es posible que te encuentres con este error, relacionado con los permisos de Docker.
File "docker/transport/unixconn.py", line 43, in connect PermissionError: [Errno 13] Permission denied
A partir de Drupal 8, con la orientación a objetos se efectuaron grandes cambios...
Debido a que las propiedades del objeto de nodo están protegidas, no podremos acceder a ellas directamente de la forma en que lo hizo en el código de Drupal 7.
Por esta razón, si deseas usarlas en funciones de preproceso, deberás usar las funciones de obtención relevantes para acceder a ellas.
A continuación, se muestran algunos ejemplos en los que deberá cambiar la forma en que accede a las propiedades:
Este código imprime en una plantilla paragraphs.html.twig el campo "field_section_hero_image", configurado con el módulo media para subir las imágenes, en lugar de un campo imagen normal de Drupal 8.
Para extraer url de archivo en una plantilla tipo Node.twig.html ...