Skip to content

Instantly share code, notes, and snippets.

View JeromeChevalier's full-sized avatar

JeromeChevalier

View GitHub Profile
@JeromeChevalier
JeromeChevalier / filter.php
Last active December 7, 2018 10:16
Build a views filter to have a IN clause #drupal8
<?php
/**
* Created by PhpStorm.
* User: jeromechevalier
* Date: 29/10/2018
* Time: 14:15
*/
namespace Drupal\portal_users\Plugin\views\filter;
@JeromeChevalier
JeromeChevalier / view-query-based.php
Created December 6, 2018 23:44
Create a view table based on a query #drupal8
public function displayListDownloads()
{
$header = array(
array('data' => t('Name'), 'field' => 'name'),
array('data' => t('File ID'), 'field' => 'download_file__target_id'),
);
// Retrieve accessible location id by the user
@JeromeChevalier
JeromeChevalier / Select-SiteList.php
Last active December 5, 2018 16:26
Initialize a Select render array with the result of a Entity Query #drupal8
// Load user information
$user = User::load(\Drupal::currentUser()->id());
$tempList = $user->get('field_user_sites')->referencedEntities();
$sitesId = array();
if (count($tempList) > 0) {
foreach ($tempList as $site) {
$sitesId[] = $site->id();
}
}
@JeromeChevalier
JeromeChevalier / basefield_entityreference.php
Last active December 5, 2018 12:56
Create a entity basefield with an entity reference type #drupal8
$fields['physical_location'] = BaseFieldDefinition::create('entity_reference')->setLabel(t('Physical Location'))
->setDescription(t('Reference the idenfication number of a physical location'))
->setRevisionable(FALSE)
->setSetting('target_type', 'site_entity')
->setSetting('handler', 'default')
->setTranslatable(FALSE)
->setDisplayOptions('form', [
'type' => 'entity_reference_autocomplete',
'settings' => [
'match_operator' => 'CONTAINS',
@JeromeChevalier
JeromeChevalier / filetype.php
Last active February 21, 2021 13:53
Create a entity basefield as with a file type #drupal8
$fields['download_file'] = BaseFieldDefinition::create('file')
->setLabel(t('Forecast data'))
->setSetting('file_directory', 'forecast')
->setSetting('max_filesize', '10MB')
->setSetting('file_extensions', 'csv')
->setSetting('description_field', FALSE)
->setDisplayOptions('form', [
'label' => 'hidden',
'type' => 'file_generic',
'weight' => 4,
@JeromeChevalier
JeromeChevalier / hidden field for formular.twig
Created November 18, 2018 22:46
Hidden field for formular #drupal8
{{ children.form_build_id }}
{{ children.form_id }}
{{ children.form_token }}
@JeromeChevalier
JeromeChevalier / Send notification event.php
Last active December 5, 2018 12:29
Send notification event #sraiportal
$myevent = new AINotificationEvent(['recipient' => 1,'priority' => $AINotificationEvent::LOW_PRIORITY,'message' => 'My message to notify','module' => AINotificationEvent::ORIGIN_AI_ENGINE]);
$event_dispatcher = \Drupal::service('event_dispatcher');
$event_dispatcher->dispatch(AINotificationEvent::EVENT_ID, $myevent);
@JeromeChevalier
JeromeChevalier / RenderElement.php
Last active November 18, 2018 22:35
Render Array template #drupal8
// Test Field
$render['myTextField'] = [
'#type' => 'textfield',
'#title' => t('My title'),
];
// Number Field
$render['myNumberField'] = [
@JeromeChevalier
JeromeChevalier / css for render array.php
Last active January 23, 2019 21:28
Add css classname to a Render array element #drupal8
$form['submit'] = [
'#type' => 'submit',
'#value' => $this->t('Update user'),
];
// Add the css classes name
$form['submit']['#attributes']['class'][] = 'btn btn-success';