function social_profile_fields_preprocess_field in Open Social 10.1.x
Same name and namespace in other branches
- 8.9 modules/social_features/social_profile/modules/social_profile_fields/social_profile_fields.module \social_profile_fields_preprocess_field()
- 10.3.x modules/social_features/social_profile/modules/social_profile_fields/social_profile_fields.module \social_profile_fields_preprocess_field()
- 10.0.x modules/social_features/social_profile/modules/social_profile_fields/social_profile_fields.module \social_profile_fields_preprocess_field()
- 10.2.x modules/social_features/social_profile/modules/social_profile_fields/social_profile_fields.module \social_profile_fields_preprocess_field()
Implements hook_preprocess_field().
File
- modules/
social_features/ social_profile/ modules/ social_profile_fields/ social_profile_fields.module, line 434 - The social profile fields module file.
Code
function social_profile_fields_preprocess_field(&$variables) {
$formatter = $variables['element']['#formatter'];
if (in_array($formatter, [
'address_plain',
'address_default',
])) {
$entity = $variables['element']['#object'];
if ($entity && $entity instanceof ProfileInterface && $entity
->bundle() === 'profile') {
$config = \Drupal::config('social_profile_fields.settings');
switch ($formatter) {
case 'address_plain':
if (isset($variables['items'][0]['content']['#locality']) && !$config
->get('profile_address_field_city')) {
$variables['items'][0]['content']['#locality'] = NULL;
}
if (isset($variables['items'][0]['content']['#address_line1']) && !$config
->get('profile_address_field_address')) {
$variables['items'][0]['content']['#address_line1'] = NULL;
}
if (isset($variables['items'][0]['content']['#postal_code']) && !$config
->get('profile_address_field_postalcode')) {
$variables['items'][0]['content']['#postal_code'] = NULL;
}
if (isset($variables['items'][0]['content']['#administrative_area']) && !$config
->get('profile_address_field_administrative_area')) {
$variables['items'][0]['content']['#administrative_area'] = NULL;
}
break;
case 'address_default':
if (isset($variables['items'][0]['content']['locality']['#value']) && !$config
->get('profile_address_field_city')) {
$variables['items'][0]['content']['locality']['#value'] = '';
}
if (isset($variables['items'][0]['content']['address_line1']['#value']) && !$config
->get('profile_address_field_address')) {
$variables['items'][0]['content']['address_line1']['#value'] = '';
}
if (isset($variables['items'][0]['content']['postal_code']['#value']) && !$config
->get('profile_address_field_postalcode')) {
$variables['items'][0]['content']['postal_code']['#value'] = '';
}
if (isset($variables['items'][0]['content']['administrative_area']['#value']) && !$config
->get('profile_address_field_administrative_area')) {
$variables['items'][0]['content']['administrative_area']['#value'] = '';
}
break;
}
}
}
}