[drupal-devel] [feature] Handle full URLs in url() and l()

killes drupal-devel at drupal.org
Sun Mar 13 22:36:36 UTC 2005


Issue status update for http://drupal.org/node/10888

 Project:      Drupal
 Version:      cvs
 Component:    base system
 Category:     feature requests
 Priority:     normal
 Assigned to:  Anonymous
 Reported by:  jhriggs
 Updated by:   killes at www.drop.org
 Status:       patch
 Attachment:   http://drupal.org/files/issues/external_urls_0.patch (909 bytes)

Updated from Drupal root directory.


killes at www.drop.org



Previous comments:
------------------------------------------------------------------------

September 16, 2004 - 16:01 : jhriggs

Attachment: http://drupal.org/files/issues/full_url.patch (1.97 KB)

This little patch allows full URLs to be used for the url() and l()
functions, giving modules a single interface for creating links. 
Currently, modules must use l() for drupal links and raw HTML for
external links.  This patch changes url() to handle -- basically pass
through -- full URLs while still doing the proper handling of internal
paths and works with clean URLs enabled or disabled.  It also shortens
(and hopefully simplifies) the url() code a bit.
Some examples of calls that now work:

<?php
l('a link', 'some/path');  // same as before
l('an external link', 'http://drupal.org/');
l('full with query', 'http://google.com/search?q=define:foo');
l('full with separate query', 'http://google.com/search', array(),
'q=define:foo'); // same link as above
l('full with fragment', 'http://drupal.org/node/5942#comment-12374');
l('full with separate fragment', 'http://drupal.org/node/5942',
array(), NULL, 'comment-12374'); // same link as above
?>




------------------------------------------------------------------------

September 30, 2004 - 12:09 : moshe weitzman

+1. less HTML in code is a good thing for readability, if nothing else.


------------------------------------------------------------------------

January 24, 2005 - 21:06 : mathias

Attachment: http://drupal.org/files/issues/external_urls.patch (838 bytes)

Revisiting this issue one year later shows we're almost there. The only
thing that's left is the ability to handle external urls when
clean_urls is disabled.  Once implemented, menu.module can happily
accept external urls and not just Drupal paths, making the menu system
much more attractive to end users.
I'll update the menu.module docs if this patch (or an alternative
solution) is accepted.





More information about the drupal-devel mailing list