Volver

Grid Icons (HIDROTECNO)

Este componente “Grid Icons” se presenta como una cuadrícula organizada que destaca una serie de elementos visuales y descriptivos para proporcionar información de manera clara y atractiva. Está estructurado de la siguiente manera:

1. Título General:
El título general actúa como encabezado para el conjunto de elementos presentados en la cuadrícula. Proporciona una introducción concisa y contextualiza el contenido que se va a explorar.

2. Icono Card:
Cada “icono card” representa visualmente un concepto o función específica mediante un icono gráfico. Estos iconos son intuitivos y fácilmente reconocibles, lo que permite a los usuarios identificar rápidamente el contenido que desean explorar con mayor detalle.

3. Título Card:
Junto a cada icono, se presenta un título que describe brevemente el contenido o la función asociada al icono correspondiente. Este título complementa el icono al proporcionar una descripción adicional y facilitar la comprensión del contenido presentado.

4. Párrafo Card:
Cada “paragraph card” ofrece información más detallada sobre el contenido representado por el icono y el título asociado. Estos párrafos describen de manera concisa y relevante las características, beneficios o detalles adicionales relacionados con el tema presentado.

5. Botón (Opcional):
Opcionalmente, se puede incluir un botón que ofrezca una acción específica relacionada con el contenido presentado en la cuadrícula. Este botón puede dirigir a los usuarios a páginas de destino relevantes, formularios de contacto u otras acciones interactivas que complementen la información proporcionada.

Este diseño de cuadrícula ofrece una presentación estructurada y visualmente atractiva de información, permitiendo a los usuarios explorar y comprender fácilmente el contenido presentado. Además, su flexibilidad permite adaptarse a una variedad de contextos y necesidades, ofreciendo una experiencia de usuario intuitiva y satisfactoria.

 

TAMBIEN CUENTA CON UNA VERSION GRID ICONS MINI

Campos Personalizados

Grid Icons

grid-icons

Layout/Group

Title

grid-icons__title

Basic/Text

Card

grid-icons-card

Layout/Repeater

Image

grid-icons-card__image

Content/Image

Title

grid-icons-card__title

Basic/Text

Paragraph

grid-icons-card__paragraph

Basic/Text

Cta

grid-icons-card__cta

Relational/Link

Archivos Usados

1.

grid-icons.php

PHP

loops/grid-icons.php

Loop

<?php
/*
    grid-icons
    group
    ---------------
        grid-icons__title
        text
        -------------------
        grid-icons__card
        repeater
        -------------------
            grid-icons-card__image
            image
            -------------------
            grid-icons-card-title
            text
            -------------------
            grid-icons-card-paragraph
            text
            -------------------
            grid-icons-card__cta
            Link

 */
$type = isset($args['type']) ? $args['type'] : '';
$class_name = 'grid-icons';
$class_card =  $class_name . '-card';

$grid = get_field($class_name);
if ($grid): ?>
  <section class="<?php echo $class_name; ?>  <?php if ($type)
    echo $class_name . '--' . $type; ?>  transition-scroll ">
    <div class="container">
      <?php while (have_rows($class_name)):
        the_row();
        $title = get_sub_field($class_name . '__title');
        $subtitle = get_sub_field($class_name . '__subtitle'); ?>
        <header class="<?php echo $class_name ?>__title pt-3 ps-5 pb-5">
          <?php if ($title): ?>
            <h2>
              <?php echo $title ?>
            </h2>
          <?php endif ?>
          <?php if ($subtitle): ?>
            <p>
              <?php echo $subtitle; ?>
            </p>
          <?php endif ?>
        </header>
        <div class="row g-0 d-flex justify-content-center <?php echo $class_name ?>__container-cards ">
          <?php while (have_rows($class_name . '-card')): the_row();
            get_template_part('cards/' . $class_card, NULL, [
              'class_card' => $class_card
            ]);
          endwhile; ?>
        </div>
      <?php endwhile; ?>
    </div>
  </section>
<?php endif ?>

 

2.

grid-icons-card.php

PHP

cards/grid-icons-card.php

Card

<?php
extract($args);
$image = get_sub_field($class_card.'__image');
$title = get_sub_field($class_card.'__title');
$paragraph= get_sub_field($class_card.'__paragraph');
$cta= get_sub_field($class_card.'__cta');

?>

<div class=" col-md-6 col-lg-3 px-2 d-flex align-items-stretch mb-3 <?php echo $class_card ?>__mini-card ">
  <div class="<?php echo $class_card ?> px-4 pb-4 pt-5 bg-gray w-100">
    <div class="<?php echo $class_card ?>__content d-flex flex-column align-items-center h-100">
      <?php if ($image) : ?>
        <figure class="<?php echo $class_card ?>__image mb-3">
          <img class="w-100" src="<?php echo esc_url($image['url']) ?>" alt="<?php echo esc_attr($image['alt']) ?>">
        </figure>
      <?php endif ?>
      <?php if ($title) : ?>
        <h4 class="<?php echo $class_card ?>__name text-center mb-3">
          <?php echo $title; ?>
        </h4>
      <?php endif ?>
      <?php if ($paragraph) : ?>
        <p class="<?php echo $class_card ?>__position body-s text-center mb-4">
          <?php echo $paragraph; ?>
      </p>
      <?php endif ?>
    <?php if($cta):?>
      <a class="<?php echo $class_card ?>__cta button-secondary d-flex align-items-end mb-3" href="<?php echo esc_url($cta['url']);?>" target="<?php echo esc_attr($cta['target']);?>">
        <span class=""><?php echo esc_html($cta['title']); ?></span>
      </a>
    <?php endif; ?>
    </div>
  </div>
</div>

 

3.

_grid-icons.scss

SCSS

frontend/scss/theme/components/_grid-icons.scss

Component

.grid-icons {
  $self: &;
  &--mini {
    #{$self}-card {
      min-height: rem(30px);
      @include from(l) {
        margin: rem(17px);
      }
      &__content {
        padding: 0 rem(16px);
      }
      &__mini-card {
        @include from(l) {
          width: rem(350px);
        }
      }
    }
    #{$self}__title {
      display: flex;
      justify-content: center;
      align-items: center;
      flex-direction: column;
      margin: 0 !important;
      padding: rem(10px) !important;
      p {
        padding: rem(10px) 0;
        @include from(l) {
          width: 40%;
        }
      }
    }
    p,
    h2 {
      text-align: center;
    }
  }
}

 

4.

_grid-icons-card.scss

SCSS

frontend/scss/theme/card/_grid-icons-card.scss

Card

.grid-icons-card{
    border-radius: rem(6px);
    min-height: rem(500px);
    &__content{
        & > *{
            flex: 1 1 100%;
        }
    }
}

 

Anexos

Avatar

Autor

Elan Francisco P. Asprilla
Desarrollador Frontend

Artículos relacionados

Tipo de componente Artículos (Tipo de Noticia, Tipo de Proyectos)

En este artículo encontrarás los campos para el...

Galería Carrusel (Palmas)

Este componente nos permite mostrar un grupo de...

Core de css con TailwindCSS

Nuevo core de css que vamos a usar para todos...

¿Qué son las vistas en Drupal?

En Drupal, las vistas (“Views”) son...