You are here

function commerce_order_handler_field_order::render_link in Commerce Core 7

Render whatever the data is as a link to the order.

Data should be made XSS safe prior to calling this function.

3 calls to commerce_order_handler_field_order::render_link()
commerce_order_handler_field_order::render in modules/order/includes/views/handlers/commerce_order_handler_field_order.inc
Render the field.
commerce_order_handler_field_order_state::render in modules/order/includes/views/handlers/commerce_order_handler_field_order_state.inc
Render the field.
commerce_order_handler_field_order_status::render in modules/order/includes/views/handlers/commerce_order_handler_field_order_status.inc
Render the field.

File

modules/order/includes/views/handlers/commerce_order_handler_field_order.inc, line 54
Contains the basic order field handler.

Class

commerce_order_handler_field_order
Field handler to provide simple renderer that allows linking to an order.

Code

function render_link($data, $values) {
  if (!empty($this->options['link_to_order']) && in_array($this->options['link_to_order'], array(
    'customer',
    'admin',
  )) && $data !== NULL && $data !== '') {
    $uid = $this
      ->get_value($values, 'uid');
    $order_id = $this
      ->get_value($values, 'order_id');
    if ($this->options['link_to_order'] == 'customer' && $uid) {
      $this->options['alter']['make_link'] = TRUE;
      $this->options['alter']['path'] = 'user/' . $uid . '/orders/' . $order_id;
    }
    elseif ($this->options['link_to_order'] == 'admin') {
      $this->options['alter']['make_link'] = TRUE;
      $this->options['alter']['path'] = 'admin/commerce/orders/' . $order_id;
    }
  }
  return $data;
}