Image
Calcular contenedor de texto segun lineas
Calcular contenedor de texto segun lineas

Tutorial para calcular contenedor de texto segun lineas. Hoy explicaremos cómo calcular el tamaño de un contenedor que contiene texto, y sólo queremos que se visualicen unas líneas determinadas.

 

Image
Calcular contenedor de texto segun lineas

En este caso, tenemos varias tarjetas del mismo estilo, y quedaría mal que en cada una aparecieran más o menos líneas, por lo que vamos a hacer lo siguiente:

Inspeccionamos el párrafo, y en el inspector (el de chrome por ejemplo) buscamos qué tamaño de letra tiene, en nuestro caso vemos que tiene un 0.85rem (13.6 píxeles).

Después buscamos en el inspector la propiedad line-height, para los que no lo sepan consiste en establecer la altura de cada línea que forma el contenido de texto de un elemento, por lo que se emplea para controlar el interlineado del texto.

Nuestro párrafo tiene un line-height de 24 píxeles.

Image
Calcular contenedor de texto segun lineas

 

Image
Calcular contenedor de texto segun lineas

Una vez que tenemos el tamaño de letra y el line-height, los multiplicamos entre ellos y así averiguaremos el alto (height) que debe tener nuestro contenedor.

0.85 x 24=20.4 píxeles

Este sería el cálculo para una sola línea, pero en este caso queremos que nos aparezcan dos, por lo tanto multiplicamos por dos nuestro resultado:

20.4 x 2=40.8 píxeles

Hay que tener en cuenta que debemos sumar si el contenedor tuviera algún borde, padding o algo para que el cálculo sea lo más exacto posible, en nuestro caso no tenemos nada así que lo dejaremos así.

Image
Calcular contenedor de texto segun lineas

Vemos que seguimos visualizando más de dos líneas, por lo que añadiremos a nuestro contenedor la propiedad overflow: hidden, así, lo que sobrepase los píxeles que hemos marcado de alto ya no lo veremos y quedará oculto.

Image
Calcular contenedor de texto segun lineas

Ya tendríamos nuestro contenedor a la medida necesaria y todas las tarjetas ocuparían lo mismo.

Image
Calcular contenedor de texto segun lineas

Y esto ha sido el tutorial para calcular el tamaño de un contenedor de texto segun el numero de lineas

Si necesitas más ayuda, visita este enlace o contacta con un desarrollador.

Image
Bloque custom en Drupal 8/9 : Mi primer bloque
Bloque custom en Drupal 8/9 : Mi primer bloque

Una vez que tenemos claro como crear un módulo custom en Drupal 8/9, nos surge la necesidad de incluir en nuestro portal un bloque custom en Drupal 8/9 que pinte algo, ya sea un texto , formulario o cualquier entidad de Drupal.

Lo primero que necesitamos es generar la estructura para que Drupal se entere de que existe un bloque nuevo:

Image
Bloque custom en Drupal

Como podemos ver, la estructura es: MIMODULO/src/Plugin/Block y dentro la clase con una nomenclatura en concreto, aunque pongamos otro nombre a nuestra clase seguiría funcionando, pero lo correcto es llevar un orden lógico.

Ahora ya dentro de la clase empezamos generar el código mínimo necesario para que Drupal lo pueda interpretar.

Para empezar necesitamos especificar en cual nombre de espacio se encuentra nuestro bloque y como mínimo necesitamos añadir la clase a la que necesitamos extender:

Image
Bloque custom en Drupal

Además tenemos que definir de forma obligatoria la "id" y el nombre de nuestro bloque:

Image
Bloque custom en Drupal

De esta forma ya podemos generar la estructura básica del block que se conforma de una clase extendiendo de "BlockBase" de Drupal y que tiene que tener como mínimo una función pública llamada "build" por la cual Drupal mostrara todo el contenido del bloque.

Image
Bloque custom en Drupal

En este ejemplo simplemente queremos que nuestro bloque pinte un texto "Hola Mundo", para ello desde nuestro bloque retornamos un "Markup" con el texto:

Image
Block build markup

En este momento si colocamos en nuestro bloque en cualquier lugar de nuestra web, veremos el texto insertado.

Ejemplo completo de la clase:

 

<?php

namespace Drupal\a_test\Plugin\Block;

use Drupal\Core\Block\BlockBase;


/**
 * Provides a 'A test' Block.
 *
 * @Block(
 *   id = "a_test_hello_world",
 *   admin_label = @Translation("A Test Hello World"),
 * )
 */
class aTestHolaBlock extends BlockBase {

  /**
   * {@inheritdoc}
   */
  public function build() {
    return [
      '#markup' => $this->t('Hola Mundo'),
    ];
  }

}

 

Y así es como podemos crear un bloque custom en Drupal 8/9: Mi primer bloque | AulaDrupal.

Para mas información visite nuestro blog.

Image
Módulo custom en Drupal 8/9 : Mi primer módulo
Módulo custom en Drupal 8/9 : Mi primer módulo

Lo bueno de Drupal es que es una comunidad muy activa, en la cual muchas personas contribuyen añadiendo funcionalidades para que el resto de las personas las puedan utilizar. Aun así, siempre surge la necesidad a la hora de crear o mantener un portal disponer de funcionalidades que o bien no existen o existen, pero no se adaptan a nuestras necesidades. En este caso podemos crearlas nosotros mismos de una manera muy sencilla. Así que vamos a aprender a crear un módulo custom en Drupal.

Antes de empezar, necesitamos saber que en Drupal existen dos tipos de módulos:

Image
Estructura básica

Los módulos contrib que son los que podemos encontrar en Drupal.org y que están disponibles para su uso por cualquier persona que los descargue y los módulos custom que son aquellos privados que se usan en un proyecto en concreto y no son públicos.

En nuestro caso crearemos nuestro módulo dentro de la carpeta custom, para ello simplemente creamos un nuevo directorio con el nombre de nuestro módulo. Algo a tener en cuenta y que es muy importante, es que el nombre de la carpeta será el nombre máquina que Drupal utilizará para llamar a las funciones dentro del módulo.

Para el ejemplo, crearemos un módulo que se llamara "A Test", por lo que crearemos el directorio con el mismo nombre.

Image
a_test module

Fíjese que siempre se tiene que añadir en minúsculas y los espacios se transforman en guiones bajos.

Una vez creada la carpeta del módulo necesitamos generar dentro de ella un fichero por el cual Drupal será capaz de detectar que el nuevo directorio es un nuevo módulo. El nombre del fichero tiene que contener el nombre máquina del módulo seguido de ".info.yml".

Image
Info.yml

El contenido de este archivo debe seguir una estructura básica la cual puede ser mucho más extensa dependiendo de la funcionalidad.

name: A Test
type: module
description: Mi primer módulo custom
package: custom
core_version_requirement: ^8.8 || ^9

Donde especificamos el nombre, tipo, descripción, package o grupo de módulos y la versión de Drupal donde nuestro módulo funciona.

Cuando este fichero ya está creado y rellenado, Drupal ya sabe que existe y si navegamos al listado de módulos desde dentro del propio portal, nuestro módulo ya es visible para instalar.

Image
Install

 

Y así es como podemos crear un módulo custom en Drupal 8/9.

Para mas información visite nuestro blog.