hook_url_outbound_alter

Versions
7
hook_url_outbound_alter(&$path, &$options, $original_path)

Alters outbound URLs.

See also

url()

Parameters

$path The outbound path to alter, not adjusted for path aliases yet. It won't be adjusted for path aliases until all modules are finished altering it, thus being consistent with hook_url_alter_inbound(), which adjusts for all path aliases before allowing modules to alter it. This may have been altered by other modules before this one.

$options A set of URL options for the URL so elements such as a fragment or a query string can be added to the URL.

$original_path The original path, before being altered by any modules.

Related topics

Code

modules/system/system.api.php, line 2779

<?php
function hook_url_outbound_alter(&$path, &$options, $original_path) {
  // Use an external RSS feed rather than the Drupal one.
  if ($path == 'rss.xml') {
    $path = 'http://example.com/rss.xml';
    $options['external'] = TRUE;
  }

  // Instead of pointing to user/[uid]/edit, point to user/me/edit.
  if (preg_match('|^user/([0-9]*)/edit(/.*)?|', $path, $matches)) {
    global $user;
    if ($user->uid == $matches[1]) {
      $path = 'user/me/edit' . $matches[2];
    }
  }
}
?>
Login or register to post comments
 
 

All source code and documentation on this site is released under the terms of the GNU General Public License, version 2 and later. Drupal is a registered trademark of Dries Buytaert.