= $f_AdminCommon; ?> subdivision, // чтобы не делать дополнительных запросов при обращении к $nc_core->subdivision->get_by_id(), // и устанавливаем дополнительные переменные для файловых и т. п. особых полей $fetch_row = $nc_core->subdivision->process_raw_data($res); } // CSS-переменные и классы на основе настроек инфоблока $css_variable_prefix = '--menu-name-over-image--'; $css_variables = array(); $settings_map = array( 'item_text_position_horizontal' => array( 'left' => '', // flex-start — default value 'center' => "{$css_variable_prefix}text-flex--justify-content: center;", 'right' => "{$css_variable_prefix}text-flex--justify-content: flex-end;", 'stretch' => "{$css_variable_prefix}text-wrapper--flex-grow: 1;", ), 'item_text_position_vertical' => array( 'top' => "{$css_variable_prefix}text-flex--align-items: flex-start;", 'center' => "{$css_variable_prefix}text-flex--align-items: center;", 'bottom' => "{$css_variable_prefix}text-flex--align-items: flex-end;", 'stretch' => "{$css_variable_prefix}text-flex--align-items: stretch;", ), ); foreach ($settings_map as $key => $values) { $css_variables[] = $values[$cc_settings[$key]]; } isset($cc_settings['item_text_unit']) ? $settings_unit = $cc_settings['item_text_unit'] : $settings_unit = ''; $settings_as_values = array( 'item_text_margin' => $cc_settings['item_text_margin_unit'], 'item_text_padding_horizontal' => $cc_settings['item_text_padding_unit'], 'item_text_padding_vertical' => $cc_settings['item_text_padding_unit'], 'item_text_background' => '', 'item_text_background_opacity' => '', 'item_text_background_radius' => $cc_settings['item_text_background_radius_unit'], ); $settings_replace = array('item_' => '', '_' => '-'); foreach ($settings_as_values as $key => $unit) { $css_variables[] = $css_variable_prefix . strtr($key, $settings_replace) . ': ' . ($cc_settings[$key] ?: 0) . "$unit;"; } $ratio = $cc_settings['item_image_ratio']; if ($cc_settings['item_image_ratio'] === 'custom') { $ratio = $cc_settings['item_image_custom_ratio']; } list($w, $h) = explode(':', str_replace(',', '.', $ratio)); $padding_top = str_replace(',', '.', ($h / $w) * 100) . '%'; $css_variables[] = "{$css_variable_prefix}image-padding-top: {$padding_top}"; $css_variables = implode(' ', $css_variables); $default_image = nc_array_value($cc_settings, 'item_default_image') instanceof nc_a2f_field_file_value ? $cc_settings['item_default_image'] : null; $transparent_pixel = 'data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs='; ?>