class GalleryFormatterFormatter in Gallery formatter 8
Plugin for galleryformatter.
Plugin annotation
@FieldFormatter(
id = "galleryformatter",
label = @Translation("jQuery Gallery"),
field_types = {
"image",
}
)
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements DerivativeInspectionInterface, PluginInspectionInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
- class \Drupal\Core\Field\PluginSettingsBase implements DependentPluginInterface, PluginSettingsInterface
- class \Drupal\Core\Field\FormatterBase implements FormatterInterface, ContainerFactoryPluginInterface
- class \Drupal\Core\Field\Plugin\Field\FieldFormatter\EntityReferenceFormatterBase
- class \Drupal\file\Plugin\Field\FieldFormatter\FileFormatterBase
- class \Drupal\image\Plugin\Field\FieldFormatter\ImageFormatterBase
- class \Drupal\responsive_image\Plugin\Field\FieldFormatter\ResponsiveImageFormatter implements ContainerFactoryPluginInterface
- class \Drupal\galleryformatter\Plugin\Field\FieldFormatter\GalleryFormatterFormatter implements ContainerFactoryPluginInterface
- class \Drupal\responsive_image\Plugin\Field\FieldFormatter\ResponsiveImageFormatter implements ContainerFactoryPluginInterface
- class \Drupal\image\Plugin\Field\FieldFormatter\ImageFormatterBase
- class \Drupal\file\Plugin\Field\FieldFormatter\FileFormatterBase
- class \Drupal\Core\Field\Plugin\Field\FieldFormatter\EntityReferenceFormatterBase
- class \Drupal\Core\Field\FormatterBase implements FormatterInterface, ContainerFactoryPluginInterface
- class \Drupal\Core\Field\PluginSettingsBase implements DependentPluginInterface, PluginSettingsInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
Expanded class hierarchy of GalleryFormatterFormatter
File
- src/
Plugin/ Field/ FieldFormatter/ GalleryFormatterFormatter.php, line 21
Namespace
Drupal\galleryformatter\Plugin\Field\FieldFormatterView source
class GalleryFormatterFormatter extends ResponsiveImageFormatter implements ContainerFactoryPluginInterface {
/**
* {@inheritdoc}
*/
public static function defaultSettings() {
return [
'slide_style' => 'wide',
'thumb_style' => 'narrow',
'style' => 'galleryformatter',
'modal' => '',
] + parent::defaultSettings();
}
/**
* {@inheritdoc}
*/
public function settingsForm(array $form, FormStateInterface $form_state) {
$responsive_image_styles = $this->responsiveImageStyleStorage
->loadMultiple();
$elements = [];
// get a list of all style names for our elements options
foreach ($responsive_image_styles as $id => $style) {
$options[$id] = $id;
}
$elements['slide_style'] = [
'#type' => 'select',
'#title' => $this
->t('Select the slide style'),
'#options' => $options,
'#default_value' => $this
->getSetting('slide_style'),
'#description' => $this
->t('Select the imagecache style you would like to show when clicked on the thumbnail.'),
];
$elements['thumb_style'] = [
'#type' => 'select',
'#title' => $this
->t('Select the thumbnail style'),
'#options' => $options,
'#default_value' => $this
->getSetting('thumb_style'),
'#description' => $this
->t('Select the imagecache style you would like to show for the thumbnails list.'),
];
$style_options = [
'@todo',
];
// @TODO Implement a plugin type instead of defining a new hook.
$styles = [];
// $styles = \Drupal::moduleHandler()->invokeAll('galleryformatter_styles');
// The keys used for options must be valid html id-s.
foreach ($styles as $style) {
$style_options[$style] = $style;
}
ksort($style_options);
$elements['style'] = [
'#type' => 'select',
'#title' => $this
->t('Style'),
'#options' => [
'nostyle' => $this
->t('No style'),
] + $style_options,
'#default_value' => $this
->getSetting('style'),
'#description' => $this
->t('Choose the gallery style.'),
];
$modal_options = [];
// integration with other modules for jQuery modal windows
if (\Drupal::moduleHandler()
->moduleExists('colorbox')) {
$modal_options['colorbox'] = 'colorbox';
}
if (\Drupal::moduleHandler()
->moduleExists('shadowbox')) {
$modal_options['shadowbox'] = 'shadowbox';
}
if (\Drupal::moduleHandler()
->moduleExists('lightbox2')) {
$modal_options['lightbox2'] = 'lightbox2';
}
if (\Drupal::moduleHandler()
->moduleExists('fancybox')) {
$modal_options['fancybox'] = 'fancybox';
}
$modal_options['none'] = t('Do not use modal');
$elements['modal'] = [
'#type' => 'select',
'#title' => $this
->t('Use jQuery modal for full image link'),
'#options' => $modal_options,
'#default_value' => $this
->getSetting('modal'),
'#description' => $this
->t("Select which jQuery modal module you'd like to display the full link image in, if any."),
];
return $elements;
}
/**
* {@inheritdoc}
*/
public function settingsSummary() {
$settings = $this
->getSettings();
$summary = [];
if (!empty($settings['slide_style']) || !empty($settings['thumb_style'])) {
$summary[] = $this
->t('Slides style: @value', [
'@value' => $settings['slide_style'],
]);
$summary[] = $this
->t('Thumbnails style: @value', [
'@value' => $settings['thumb_style'],
]);
$summary[] = $this
->t('Gallery style: @value', [
'@value' => $settings['style'],
]);
$summary[] = $this
->t('Modal: @value', [
'@value' => $settings['modal'],
]);
}
else {
$summary[] = $this
->t('Customize your options for the jQuery Gallery.');
}
return $summary;
}
/**
* {@inheritdoc}
*/
public function viewElements(FieldItemListInterface $items, $langcode) {
$thumb_elements = [];
$elements = parent::viewElements($items, $langcode);
foreach ($elements as $key => $item) {
$elements[$key]['#responsive_image_style_id'] = $this->responsiveImageStyleStorage
->load($this
->getSetting('slide_style'))
->id();
}
// Duplicate each element and set it a thumb_style image style.
foreach ($elements as $element) {
$new_element = $element;
$new_element['#responsive_image_style_id'] = $this->responsiveImageStyleStorage
->load($this
->getSetting('thumb_style'))
->id();
$thumb_elements[] = $new_element;
}
return [
'#theme' => 'galleryformatter',
'#slides' => $elements,
'#thumbs' => $thumb_elements,
'#settings' => $this
->getSettings(),
'#dimensions' => '',
];
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
DependencySerializationTrait:: |
protected | property | An array of entity type IDs keyed by the property name of their storages. | |
DependencySerializationTrait:: |
protected | property | An array of service IDs keyed by property name used for serialization. | |
DependencySerializationTrait:: |
public | function | 1 | |
DependencySerializationTrait:: |
public | function | 2 | |
EntityReferenceFormatterBase:: |
public | function |
Loads the entities referenced in that field across all the entities being
viewed. Overrides FormatterBase:: |
|
EntityReferenceFormatterBase:: |
public | function |
Overrides FormatterBase:: |
|
FileFormatterBase:: |
protected | function |
Checks access to the given entity. Overrides EntityReferenceFormatterBase:: |
|
FileFormatterBase:: |
protected | function |
Returns whether the entity referenced by an item needs to be loaded. Overrides EntityReferenceFormatterBase:: |
1 |
FormatterBase:: |
protected | property | The field definition. | |
FormatterBase:: |
protected | property | The label display setting. | |
FormatterBase:: |
protected | property |
The formatter settings. Overrides PluginSettingsBase:: |
|
FormatterBase:: |
protected | property | The view mode. | |
FormatterBase:: |
protected | function | Returns the value of a field setting. | |
FormatterBase:: |
protected | function | Returns the array of field settings. | |
FormatterBase:: |
public static | function |
Returns if the formatter can be used for the provided field. Overrides FormatterInterface:: |
14 |
GalleryFormatterFormatter:: |
public static | function |
Defines the default settings for this plugin. Overrides ResponsiveImageFormatter:: |
|
GalleryFormatterFormatter:: |
public | function |
Returns a form to configure settings for the formatter. Overrides ResponsiveImageFormatter:: |
|
GalleryFormatterFormatter:: |
public | function |
Returns a short summary for the current formatter settings. Overrides ResponsiveImageFormatter:: |
|
GalleryFormatterFormatter:: |
public | function |
Builds a renderable array for a field value. Overrides ResponsiveImageFormatter:: |
|
ImageFormatterBase:: |
protected | function |
Returns the referenced entities for display. Overrides EntityReferenceFormatterBase:: |
|
MessengerTrait:: |
protected | property | The messenger. | 29 |
MessengerTrait:: |
public | function | Gets the messenger. | 29 |
MessengerTrait:: |
public | function | Sets the messenger. | |
PluginBase:: |
protected | property | Configuration information passed into the plugin. | 1 |
PluginBase:: |
protected | property | The plugin implementation definition. | 1 |
PluginBase:: |
protected | property | The plugin_id. | |
PluginBase:: |
constant | A string which is used to separate base plugin IDs from the derivative ID. | ||
PluginBase:: |
public | function |
Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface:: |
|
PluginBase:: |
public | function |
Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface:: |
|
PluginBase:: |
public | function |
Gets the definition of the plugin implementation. Overrides PluginInspectionInterface:: |
3 |
PluginBase:: |
public | function |
Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface:: |
|
PluginBase:: |
public | function | Determines if the plugin is configurable. | |
PluginSettingsBase:: |
protected | property | Whether default settings have been merged into the current $settings. | |
PluginSettingsBase:: |
protected | property | The plugin settings injected by third party modules. | |
PluginSettingsBase:: |
public | function |
Returns the value of a setting, or its default value if absent. Overrides PluginSettingsInterface:: |
|
PluginSettingsBase:: |
public | function |
Returns the array of settings, including defaults for missing settings. Overrides PluginSettingsInterface:: |
|
PluginSettingsBase:: |
public | function |
Gets the list of third parties that store information. Overrides ThirdPartySettingsInterface:: |
|
PluginSettingsBase:: |
public | function |
Gets the value of a third-party setting. Overrides ThirdPartySettingsInterface:: |
|
PluginSettingsBase:: |
public | function |
Gets all third-party settings of a given module. Overrides ThirdPartySettingsInterface:: |
|
PluginSettingsBase:: |
protected | function | Merges default settings values into $settings. | |
PluginSettingsBase:: |
public | function |
Informs the plugin that some configuration it depends on will be deleted. Overrides PluginSettingsInterface:: |
3 |
PluginSettingsBase:: |
public | function |
Sets the value of a setting for the plugin. Overrides PluginSettingsInterface:: |
|
PluginSettingsBase:: |
public | function |
Sets the settings for the plugin. Overrides PluginSettingsInterface:: |
|
PluginSettingsBase:: |
public | function |
Sets the value of a third-party setting. Overrides ThirdPartySettingsInterface:: |
|
PluginSettingsBase:: |
public | function |
Unsets a third-party setting. Overrides ThirdPartySettingsInterface:: |
|
ResponsiveImageFormatter:: |
protected | property | The current user. | |
ResponsiveImageFormatter:: |
protected | property | ||
ResponsiveImageFormatter:: |
protected | property | The link generator. | |
ResponsiveImageFormatter:: |
protected | property | ||
ResponsiveImageFormatter:: |
public | function |
Calculates dependencies for the configured plugin. Overrides PluginSettingsBase:: |
|
ResponsiveImageFormatter:: |
public static | function |
Creates an instance of the plugin. Overrides FormatterBase:: |
|
ResponsiveImageFormatter:: |
public | function |
Constructs a ResponsiveImageFormatter object. Overrides FormatterBase:: |
|
StringTranslationTrait:: |
protected | property | The string translation service. | 1 |
StringTranslationTrait:: |
protected | function | Formats a string containing a count of items. | |
StringTranslationTrait:: |
protected | function | Returns the number of plurals supported by a given language. | |
StringTranslationTrait:: |
protected | function | Gets the string translation service. | |
StringTranslationTrait:: |
public | function | Sets the string translation service to use. | 2 |
StringTranslationTrait:: |
protected | function | Translates a string to the current language or to a given language. |