protected function SocialMediaLinksFieldBaseWidget::getAvailablePlatforms in Social Media Links Block and Field 8.2
Returns the list of platforms that was selected in field settings.
Return value
array $available_platforms
2 calls to SocialMediaLinksFieldBaseWidget::getAvailablePlatforms()
- SocialMediaLinksFieldBaseWidget::getAvailablePlatformOptions in modules/
social_media_links_field/ src/ Plugin/ Field/ FieldWidget/ SocialMediaLinksFieldBaseWidget.php - Returns the available platforms as options array.
- SocialMediaLinksFieldDefaultWidget::formElement in modules/
social_media_links_field/ src/ Plugin/ Field/ FieldWidget/ SocialMediaLinksFieldDefaultWidget.php - Returns the form for a single field widget.
File
- modules/
social_media_links_field/ src/ Plugin/ Field/ FieldWidget/ SocialMediaLinksFieldBaseWidget.php, line 35
Class
- SocialMediaLinksFieldBaseWidget
- It allows to link social media.
Namespace
Drupal\social_media_links_field\Plugin\Field\FieldWidgetCode
protected function getAvailablePlatforms() {
$platforms = \Drupal::service('plugin.manager.social_media_links.platform')
->getPlatforms();
$platform_settings = $this->fieldDefinition
->getSetting('platforms');
$available_platforms = [];
foreach ($platforms as $platform_id => $platform) {
if (isset($platform_settings[$platform_id]['enabled']) && $platform_settings[$platform_id]['enabled']) {
$available_platforms[$platform_id] = $platform;
$available_platforms[$platform_id]['weight'] = $platform_settings[$platform_id]['weight'];
}
}
// If the array if empty no platform was selected which means, that all
// platforms are available.
if (empty($available_platforms)) {
$available_platforms = $platforms;
foreach ($platforms as $platform_id => $platform) {
$available_platforms[$platform_id]['weight'] = isset($platform_settings[$platform_id]['weight']) ? $platform_settings[$platform_id]['weight'] : 0;
}
}
uasort($available_platforms, [
'Drupal\\Component\\Utility\\SortArray',
'sortByWeightElement',
]);
return $available_platforms;
}