Joomla 2.5 Templates – $this->baseurl

Joomla 2.5 has reached its end of life as for 12/31/2014. Please be advised this may be a security risk to your website. You can view more information about the end of life here.

In our quest to review all the PHP code in the index.php file of the Beez2 template, we come to the following code:

$doc->addScript($this->baseurl.'/templates/'.$this->template.'/javascript/md_stylechanger.js', 'text/javascript', true);

In this article, we will focus on $this->baseurl

What is $this->baseurl?

We can view the content of $this->baseurl by adjusting our PHP code as follows:

$doc->addScript($this->baseurl.'/templates/'.$this->template.'/javascript/md_stylechanger.js', 'text/javascript', true);
echo "<pre>" . $this->baseurl . "</pre>"; die();

The result of this code prints the following to the screen:

/joomla25

When we installed Joomla 2.5, we installed it at https://domain.com/joomla25. $this->baseurl contains the location within your domain that Joomla is installed at. Knowing the path to Joomla is useful because you can use it to reference other files and build the URLs to your javascript and css files.

Example usage of $this->baseurl

If you didn’t want to hard code a link to your homepage (just in case you change the URL), you can use $this->baseurl to print it instead. In this tutorial, we’ll walk you through the steps for using $this->baseurl to set the logo in the Beez2 template to link to your homepage.

To use $this->baseurl in a Joomla 2.5 Template:

  1. Use your favorite file editor and open for edit:

    templates/beez_20/index.php

  2. At line 118, replace the following line:
    <img src="<?php echo $this->baseurl ?>/<?php echo htmlspecialchars($logo); ?>"  alt="<?php echo htmlspecialchars($templateparams->get('sitetitle'));?>" />

    with…

    <a href="<? echo $this->baseurl; ?>"><img src="<?php echo $this->baseurl ?>/<?php echo htmlspecialchars($logo); ?>"  alt="<?php echo htmlspecialchars($templateparams->get('sitetitle'));?>" /></a>

    What we did was put the Joomla site’s logo image within an <a></a> tag. Instead of typing the url as:

    <a href="https://domain.com"></a>

    … we used the following:

    <a href="<? echo $this->baseurl; ?>"></a>
  3. Save the file and visit your website to see the changes.

It’s that easy! Anywhere within a Joomla 2.5 template, you can use $this->baseurl to print the URL to your Joomla site.

6 thoughts on “Joomla 2.5 Templates – $this->baseurl

  1. I think you’re missing a ‘php’ in your href.

    <a href=”/support/<? echo $this->baseurl; ?>”></a>

    should be

    <a href=”/support/<?php echo $this->baseurl; ?>”></a>

    Good tutorial though for those of us just starting to learn joomla!

    1. Hello Robbie,

      Php allows you to use either the regular ‘<?php’ or simply ‘<?’ to open a php code section. I prefer the ‘<?php’ myself and it is considered best practice to do so. Thank you for the kind words about the tutorial!

      Kindest Regards,
      Scott M

  2. HI miguel,

    I am new in joomla and i want the URL when user is not logged in joomla.

    so, how can i get current URL of browser with out logged in joomla.

    e.g. user type submit article url then logged in, user must redirect to the submit article page.

    how can i fix this issue.

    please help me.

  3. I developing a hybrid app for my website https://taxisocial.net, but there area some url that does not work.

    Baseurl variable is empty. And I used JURI::baseurl() function, it works but some urls does not have the “/”

     

    1. Hello miguel, and thank you for your comment.

      Are you encountering issues with your URLs just on mobile, or on all platforms? What is an example of one of the URLs that is currently having an issue? I took a look through a bunch of links on the site and was unable to recreate any problems.

      – Jacob

Was this article helpful? Join the conversation!