Before we get into styling our Joomla 3.0 template, we will add the last piece of PHP code that we need, which is the checking of JEXEC variable.

The concept of defining JEXEC hasn't changed since Joomla 2.5. Simply put, JEXEC is a variable defined in your php files that prevents users on the web from accessing those files directly. Technically they can access your template's index.php file through their browser, but execution of the file will end immediately because JEXEC is not defined within the template. If you don't understand the technical reasons as to how this works, it's not a big concern, but just make sure you have the code in place.

 

Use of JEXEC in Joomla 2.5 vs. Joomla 3.0

The following is how JEXEC is using in Joomla 2.5 vs. Joomla 3.0

JEXEC in Joomla 2.5JEXEC in Joomla 3.0
defined('_JEXEC') or die;
defined('_JEXEC') or die;

As you can see, the use of JEXEC in the latest two versions of Joomla has not changed.

 

Adding JEXEC to a Joomla 3.0 Template

To incorporate JEXEC into the Joomla 3.0 Template that we are creating, we will simply add the necessary one line of code to the top of our index.php file. Before you can see the before and after of the top portion of the template's index.php file.

Before

<?php

$doc = JFactory::getDocument();

$doc->addStyleSheet($this->baseurl . '/media/jui/css/bootstrap.min.css');
$doc->addStyleSheet($this->baseurl . '/media/jui/css/bootstrap-responsive.css');
$doc->addStyleSheet('templates/' . $this->template . '/css/style.css');
$doc->addScript('/templates/' . $this->template . '/js/main.js', 'text/javascript');

?>

After

<?php


defined('_JEXEC') or die;


$doc = JFactory::getDocument();

$doc->addStyleSheet($this->baseurl . '/media/jui/css/bootstrap.min.css');
$doc->addStyleSheet($this->baseurl . '/media/jui/css/bootstrap-responsive.css');
$doc->addStyleSheet('templates/' . $this->template . '/css/style.css');
$doc->addScript('/templates/' . $this->template . '/js/main.js', 'text/javascript');

?>
You are viewing Section 10: Adding security to a Joomla 3.1 template using JEXEC
Section 9: How to make a Joomla 3.1 Template Responsive
Section 11: Adding CSS to the Login Form in a Joomla 3.1 template

Joomla Community Google+ Hangout #3

June 3rd, 2014

Thank you @RustyJoomla for letting me speak on the Joomla Community Google+ Hangout!

Click here to watch!

Support Center Login


Social Media Login

Related Questions

Here are a few questions related to this article that our customers have asked:
Ooops! It looks like there are no questions about this page.
Would you like to ask a question about this page? If so, click the button below!
Ask a Question
n/a Points
2015-03-21 6:47 pm

Thank you for the step by step instructions on this - really helpful. I am so close to having this working!! But it seems that this template does not display any custom module classes set in the Joomla backend properly. Perhaps this is a more advanced issue that might be covered in another tutorial? Thanks again x

Post a Comment

Name:
Email Address:
Phone Number:
Comment:
Submit

Please note: Your name and comment will be displayed, but we will not show your email address.

1 Questions & Comments

Post a comment

Back to first comment | top

Need more Help?

Search

Ask the Community!

Get help with your questions from our community of like-minded hosting users and InMotion Hosting Staff.

Current Customers

Chat: Click to Chat Now E-mail: support@InMotionHosting.com
Call: 888-321-HOST (4678) Ticket: Submit a Support Ticket

Not a Customer?

Get web hosting from a company that is here to help. Sign up today!