123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- <?php
- /**
- * @file
- * Contains the entity_views_handler_relationship class.
- */
- /**
- * Relationship handler for data selection tables.
- *
- * This handler may only be used in conjunction with data selection based Views
- * tables or other base tables using a query plugin that supports data
- * selection.
- *
- * @see entity_views_field_definition()
- * @ingroup views_field_handlers
- */
- class entity_views_handler_relationship extends views_handler_relationship {
- /**
- * Slightly modify the options form provided by the parent handler.
- */
- public function options_form(&$form, &$form_state) {
- parent::options_form($form, $form_state);
- // This won't work with data selector-based relationships, as we only
- // inspect those *after* the results are known.
- $form['required']['#access'] = FALSE;
- // Notify the user of our restrictions regarding lists of entities, if
- // appropriate.
- if (!empty($this->definition['multiple'])) {
- $form['multiple_note'] = array(
- '#markup' => t('<strong>Note:</strong> This is a multi-valued relationship, which is currently not supported. ' .
- 'Only the first related entity will be shown.'),
- '#weight' => -5,
- );
- }
- }
- /**
- * Called to implement a relationship in a query.
- *
- * As we don't add any data to the query itself, we don't have to do anything
- * here. Views just don't thinks we have been called unless we set our
- * $alias property. Otherwise, this override is just here to keep PHP from
- * blowing up by calling inexistent methods on the query plugin.
- */
- public function query() {
- $this->alias = $this->options['id'];
- }
- }
|