1 layout_relationship.inc LayoutRelationship::getOptionLabels($contexts, $relationship)

Returns an array of appropriate contexts for this relationship.

File

core/modules/layout/plugins/relationships/layout_relationship.inc, line 118
Class that holds information relating to a layout's context relationships.

Class

LayoutRelationship
@file Class that holds information relating to a layout's context relationships.

Code

function getOptionLabels($contexts, $relationship) {
  $options = array();

  foreach ($contexts as $context) {
    if ($context->plugin == $relationship['context']) {
      if (isset($context->position)) {
        $position = $context->position + 1;
        $label = $relationship['context_label'] . ' ' . t('at position') . ' ' . $position;
        $key = 'position:' . $context->position;
      }
      elseif (isset($context->settings['id'])) {
        $label = $relationship['context_label'] . ' ' . t('ID') . ' ' . $context->settings['id'];
        $key = 'id:' . $context->settings['id'];
      }
      else {
        $label = $relationship['context_label'];
        $key = $context->plugin;
      }
      $options[$key] = $label;
    }
  }
  return $options;
}