69 lines
1.4 KiB
Twig
69 lines
1.4 KiB
Twig
![]() |
<?php
|
||
|
|
||
|
namespace Drupal\{{ machine_name }}\Plugin\EntityReferenceSelection;
|
||
|
|
||
|
{% sort %}
|
||
|
{% if configurable %}
|
||
|
use Drupal\Core\Form\FormStateInterface;
|
||
|
{% endif %}
|
||
|
use {{ base_class_full }};
|
||
|
{% endsort %}
|
||
|
|
||
|
/**
|
||
|
* Plugin description.
|
||
|
*
|
||
|
* @EntityReferenceSelection(
|
||
|
* id = "{{ plugin_id }}",
|
||
|
* label = @Translation("{{ plugin_label }}"),
|
||
|
* group = "{{ plugin_id }}",
|
||
|
* entity_types = {"{{ entity_type }}"},
|
||
|
* weight = 0
|
||
|
* )
|
||
|
*/
|
||
|
class {{ class }} extends {{ base_class }} {
|
||
|
|
||
|
{% if configurable %}
|
||
|
/**
|
||
|
* {@inheritdoc}
|
||
|
*/
|
||
|
public function defaultConfiguration() {
|
||
|
|
||
|
$default_configuration = [
|
||
|
'foo' => 'bar',
|
||
|
];
|
||
|
|
||
|
return $default_configuration + parent::defaultConfiguration();
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* {@inheritdoc}
|
||
|
*/
|
||
|
public function buildConfigurationForm(array $form, FormStateInterface $form_state) {
|
||
|
$form = parent::buildConfigurationForm($form, $form_state);
|
||
|
|
||
|
$form['foo'] = [
|
||
|
'#type' => 'textfield',
|
||
|
'#title' => $this->t('Foo'),
|
||
|
'#default_value' => $this->configuration['foo'],
|
||
|
];
|
||
|
|
||
|
return $form;
|
||
|
}
|
||
|
|
||
|
{% endif %}
|
||
|
/**
|
||
|
* {@inheritdoc}
|
||
|
*/
|
||
|
protected function buildEntityQuery($match = NULL, $match_operator = 'CONTAINS') {
|
||
|
$query = parent::buildEntityQuery($match, $match_operator);
|
||
|
|
||
|
// @DCG
|
||
|
// Here you can apply addition conditions, sorting, etc to the query.
|
||
|
// Also see self::entityQueryAlter().
|
||
|
$query->condition('field_example', 123);
|
||
|
|
||
|
return $query;
|
||
|
}
|
||
|
|
||
|
}
|