You need to use base_path()
e.g., <?php print base_path() . path_to_theme(). '/images/whatever.gif' ?>
In the first case, using l() or url() should be it, would you post an example wrong link being generated out of them?
Cheers,
Hello all,
Don't know if this is the best place for this, so if it's already discussed elsewhere, I'll be thankful if you could point me to the URL cause I couldn't find anything myself. I'm really having a tough time when creating URLs to other parts of a Drupal site. Especially when I'm using clean URLs and even more when I have Drupal as a subfolder like http://example.com/mydrupalsite (in which case the internal node page could be something like http://example.com/drupal/node/5)
As far as I've noticed, there are three cases of referencing, this is how I do it, but I'm positive that there's something wrong or else I wouldn't get broken links and/or images when I toggle clean-urls on and off and when I have my site as a domain opposed to a subfolder:
1. Referencing another page, in this case I use l() or url() with relative paths to get the link
2. Referencing a file in the themes folder in which case I use src="<?php print path_to_theme().'/images/whatever.gif';?>
3. Referencing a file in the files folder in which case I use href="<?php print file_directory_path().'/whatever.zip';?>
The main headache cause is the second one. If I have clean URLs on and the site as a domain ( http://example.com/) then the paths are wrong on node pages. Although this may be a bug or something, I need to know the standard way of referencing any and all paths before I jump to conclusions. Would be grateful if someone could shed the light on this :-)