Skip to content

Instantly share code, notes, and snippets.

View pmichelazzo's full-sized avatar

Paulino Michelazzo pmichelazzo

View GitHub Profile
@pmichelazzo
pmichelazzo / drupal_removeItem_appendItem.md
Last active July 8, 2022 13:48
Drupal: removeItem não funciona como appendItem

Drupal: removeItem não funciona como appendItem

Imagine que você possui um campo multivalorado em seu tipo de conteúdo e deseja remover um dos itens nele existente. A função para executar esta tarefa chama-se removeItem, porém, ao contrário da função appendItem que você informa o nome do campo e o valor que deseja adicionar, a função removeItem precisa do delta do item que será removido.

Desta forma, seu código poderia ser algo como:

$nid = 1903;
$item_a_remover = 10;
$node = \Drupal::entityTypeManager()->getStorage('node')->load($nid);
@pmichelazzo
pmichelazzo / EditProfileMenuLink.php
Last active June 21, 2022 07:25
Menu dinâmico em Drupal 8/9 - Link para edição dos dados do usuário
@pmichelazzo
pmichelazzo / passar_valores_bloco.md
Created March 11, 2022 08:36
Como passar parâmetros para blocos programaticamente.

Passando valores para blocos

Imagine que você criou um bloco em seu módulo que é usado em diversas partes do site mas que, precisa apresentar dados diferentes dependendo de onde está sendo apresentado. É possível?

Resposta: sim. Existe um parâmetro que muitos esquecem e que pode ser usado para tal finalidade. Vejamos

Exemplo

Você possui um controller que carrega um bloco padrão:

@pmichelazzo
pmichelazzo / reference_entities_drupal_8_9.md
Created February 11, 2022 05:37
Snippets para trabalhar com entidades referenciadas (entity reference) em Drupal 9

Entidades Referenciadas em Drupal 8ˆ|9ˆ

Entidades referenciadas (entity reference) são, muitas vezes, aquilo que mais traz dores de cabeça para um dev Drupal. Aqui, alguns truques que podem economizar tempo e cabelos (se ainda os tem).

Recuperar somente os id's de entidades referenciadas em um campo

Sua entidade possui um campo que referencia outra entidade que possui diversas entidades relacionadas e você precisa somente dos id's.

Não precisa de um loop, basta:

$ids = array_column($entity->campo_de_referencia->getValue(), 'target_id');

@pmichelazzo
pmichelazzo / ExampleHomepageResolverTest.php
Created January 10, 2022 18:37 — forked from Jaesin/ExampleHomepageResolverTest.php
Example Dynamic node route in drupal 8.
<?php
/**
* @file `tests/src/Kernel/ExampleHomepageResolverTest.php`
*
* Provides kernel tests for the HomepageEnhancer.
*/
namespace Drupal\Tests\example\Kernel;
use Drupal\Core\Datetime\DrupalDateTime;
@pmichelazzo
pmichelazzo / Redirect user after login in Drupal 9.md
Last active January 6, 2022 07:39
The correct and best way to redirect an user after the login in Drupal 9

Redirect user after login in Drupal 9

The correct and best way to redirect an user after the login in Drupal 9

<?php

use Drupal\Core\Form\FormStateInterface;
use Drupal\Core\Url;

/**
  • Implements hook_form_FORM_ID_alter().
@pmichelazzo
pmichelazzo / Disable field edition by role (Drupal 8).md
Last active April 28, 2021 05:24
Disable field edition by role (Drupal 8)

Disable field edition by role (Drupal 8)

A simple code to disable edition of content types fields.

ARRL Prefixes

This is the official list of ARRL prefixes in .cvs format to be imported in any database without the "observations" related with when, why and how the entities was removed from the database in the past.

Observation
The Copyright of this data belongs to ARRL. This list in only a way to help who need the data to add inside of a database.

Development Contract Killer

A fork of the popular open-source contract for web designers and developers by Stuff & Nonsense, reworded for developers


Between us [company name] and you [customer name]