Quick Tip: Use JoomlaXplorer to modify your template.

Quick Tip: Use JoomlaXplorer to modify your template.

I often find that the template manager is not very useful in terms of making modifications to a template. When you click "Save" in the template manager after editing the template HTML (index.php) or CSS (template_css.css) file, the manager takes you back to the list of installed templates. If you need to make another change, you have to re-open the Edit CSS or Edit HTML screen, which adds an extra step.

Another drawback of the template manager (in Joomla! 1.0.x) is that it only allows you to edit the "index.php" and "template_css.css" files. For some of the more advanced templates, there are more files that you may need to modify. You might also need to upload some more images for your modification.

That's where JoomlaXplorer comes in. It is a file manager that enables you to upload, modify, and delete files from your Joomla! installation via the administrator control panel. I use it every time I want to make a change to a template. For one thing, when I make a change to the HTML or CSS, it stays on the editor page. That way, I can check to see if the change I made produced the desired outcome or if I need to make more changes, and I can quickly go back and make more changes if necessary. It also allows me to edit any file in the template's folder and not just "index.php" and "template_css.css". Finally, it gives me the opportunity to replace images by uploading or deleting images based on my requirements.

So, if you haven't done so already, head over to the Joomla! Extensions Directory and get yourself a copy of JoomlaXplorer. It is the most useful component for web administrators available for Joomla!, and it will help you make changes to your site's template.

How to add a widget to a module

Wikipedia defines a widget like this:

A web widget is a portable chunk of code that can be installed and executed within any separate HTML-based web page by an end user without requiring additional compilation. They are akin to plugins or extensions in desktop applications. Other terms used to describe a Web Widget include Gadget, Badge, Module, Capsule, Snippet, Mini and Flake. Web Widgets often but not always use Adobe Flash or JavaScript programming languages.

For example, the "Help Azaria" module in the left column of this site uses a widget from ChipIn.com (to test it, make a donation to Azaria's Dolphin Therapy fund to see the progress bar go up - wink wink). Many "web 2.0" sites offer widgets for blogs and other sites to display their content or tools for performing a specific task (like raising money via the ChipIn widget). It is a great way to add content or functionality to your site with very little effort. The process for embedding a widget to your site is usually just copying and pasting a snippet of code into the appropriate location.

The problem is, Joomla!'s built-in WYSIWYG editors strip out parts of the widget's code causing it to work improperly. With this article, I will explain how to work around that problem and get the widget embedded into a user module without stripping out code.

Read more: How to add a widget to a module

Joomla! CSS Guide

I just read about the Joomla! CSS Guide over at Joomla.org. It is a new website that spells out all of the CSS classes and id's used in the core Joomla! HTML output. This is a great resource for template designers. Check it out.

How to make your site more secure

I am not a security expert, so I am always on the lookout for information that will help me keep my site more secure. Today, I came across a couple of great tutorials from Joomla-Addons.org that explain ways to make your site more secure. Check them out.

While you're there, check out some of the many extensions that they have created. Thanks for all of your hard work, Joomla-Addons.org!

How to turn on SEF URL's

SEF URL's are just a way to make your URL's look nice. The default SEF URL functionality in Joomla! takes URL's that look like this:

"index.php?option=com_content&task=view&id=40&ampitemid=29"

and makes them look like this:

"content/view/40/29/"

This article will show you how to turn on the basic SEF URL functionality built into Joomla!, and it will also provide a list of SEF URL extensions that you can use to gain further control over your URL's. For this article, I am assuming that you are running your website on an Apache web server.

Read more: How to turn on SEF URL's

Joomla! Jargon

Dictionary.com defines jargon like this:

1. jargon: -noun, the language, esp. the vocabulary, peculiar to a particular trade, profession, or group: medical jargon.

It also defines jargon like this:

2. jargon: -noun, unintelligible or meaningless talk or writing; gibberish.

Joomla!'s roots go back a few years, and it definitely has a language all its own. Seasoned veterans are fluent in Joomla! jargon, but for "newbies", that second definition is probably the most appropriate definition for what Joomla! jargon really is. For that reason, I have decided to attempt to compile a list of the most commonly used words and/or phrases in Joomla!, and give them a definition that actually means something to a non-veteran Joomla! user.

Read more: Joomla! Jargon

How to use the syndicate (RSS) component in Joomla!

Website content syndication has been around for a while in the form of RSS, or "Really Simple Syndication." If you want to know more about RSS, you can either ask the source of all knowledge (search for "RSS"), or read about it at Wikipedia. For the sake of brevity, I will only discuss how to use Joomla!'s Syndicate component and third-party RSS services, and I will try to provide a list of other RSS components for Joomla!

NOTE: This "How-to" only applies to Joomla! 1.0. It does not apply to Joomla! 1.5.


RSS in Joomla! 1.0.x

Most of this article will discuss RSS in Joomla! 1.0.x. To syndicate your content in Joomla!, you need to know about two core extensions: com_syndicate and mod_rssfeed.

com_syndicate

The component that generates the RSS feeds for your website is called com_syndicate. You can configure your syndication settings by clicking "Components->Syndicate" in your Joomla! administrator panel.

How to use the syndicate (RSS) component in Joomla!

On the next screen, you will see a list of parameters that you can set for your content syndication. Here is a list of the parameters, along with a description of what each does.

  • Security Check: If you set "Security Check" to yes, you can control whether or not your syndication feed is published by publishing or unpublishing the module mod_rssfeed.
  • Cache: This paramter determines whether or not your syndication feed will be cached, which means that the server does not have to generate the feed every time it is accessed. Instead, it will pull the feed from the cached version, and refresh at a pre-determined time interval which you set in the "Cache Time" parameter.
  • Cache Time: This is the pre-determined interval at which the cache is refreshed.
  • # Items: This is the number of content items that will be in your feed.
  • Title: This is the title of your feed. I usually just put the title of my website, but you can make this whatever you want it to be.
  • Descirption: This is just a brief description of your RSS feed.
  • Image: With this, you have the option of having an image linked to your RSS feed.
  • Image Alt: This is the alternate text that will go along with your image.
  • Limit Text: With this parameter and the "Text Length" parameter, you have the option of limiting how much text is fed from each content item.
  • Text Length: This is the length (in number of words) that the feed for each content item will be if you choose to limit it.
  • Order: With this, you can set what your content items are ordered by in your feed. The most logical choice is "Most recent first", because people who subscribe to your feed will want to see teh most recent items first.
  • Live Bookmarks: With this, you can enable support for Firefox Live Bookmars.

Once you have set your parameters in com_syndicate, it is time to set up mod_rssfeed.

mod_rssfeed

The module for content syndication is mod_rssfeed. This module displays a link to your feed in your choice of 5 different formats: RSS 0.91, RSS 1.0, RSS 2.0, Atom, and OPML. You can choose any combination of the 5 formats to display. I usually just pick one, and I'll explain why in a later section.

Before you use mod_rssfeed, you will need to configure it. Here's how you do it:

  • In your Joomla! administrator panel, click Modules->Site Modules to access the Module Manager.

    How to use the syndicate (RSS) component in Joomla!

  • In the list of site modules, find the one with the Type of mod_rssfeed. It is probably the one with the Module Name of Syndicate.
  • Click on the module name ("Syndicate") to open up the Module Editor for mod_rssfeed.
  • Beneath the "Module Details", you will see "Parameters". Here is a list of the parameters and what each one does.
    • Text: This is text that you can display in the module along with the links.
    • Enable Cache: This tells Joomla! whether or not to cache the content of the module. If you do not understand what this is for, you can just keep it set to "No".
    • Module Class Suffix: By putting a value here, you can add a suffix to the CSS class for this module. You should only do this if your template will apply a different style based on the module class.
    • RSS 0.91: This parameter is used to show or hide the RSS 0.91 link.
    • RSS 1.0: This parameter is used to show or hide the RSS 1.0 link.
    • RSS 2.0: This parameter is used to show or hide the RSS 2.0 link.
    • Atom: This parameter is used to show or hide the Atom link.
    • OPML: This parameter is used to show or hide the OPML link.
    • RSS 0.91 Image: With this parameter, you can choose which image to display for your RSS 0.91 link. It gives you a drop-down list of images to choose from, and it pulls those images from your "images/M_images" directory in your Joomla! installation. If you do not see an image in that directory that you want to use, you can use the media manager to upload an image of your choosing. It will automatically be added to the list of images to choose from.
    • RSS 1.0 Image: Same as RSS 0.91 Image parameter.
    • RSS 2.0 Image: Same as RSS 0.91 Image parameter.
    • Atom Image: Same as RSS 0.91 Image parameter.
    • OPML Image: Same as RSS 0.91 Image parameter.

Once you have set your mod_rssfeed parameters, you will want to publish it to a module position of your choice. If you have done this successfully, you now have a published syndication feed for your website. Be sure and go to your home page, and make sure that your Syndicate module is published and visible to your site's visitors.

Drawback in com_syndicate for Joomla! 1.0.x

The biggest drawback for com_syndicate in Joomla! 1.0.x is that it only syndicates items published to the frontpage. If you wanted to have separate feeds for separate categories, you could not do that with the core syndication component.

Other options

The good news is, there are options around this drawback. Joomla! is a highly extensible application, which means you can either create your own syndication component or use one of the third-party syndication components available for Joomla! Click here for a list of RSS extensions for Joomla! in the Extensions Directory. You want to get a syndication extension and not an RSS reader extension.

More good news: Joomla! 1.5

With Joomla! 1.5, the syndication functionality has gotten a much-needed overhaul. You can syndicate content for any section or category you want, and you can even syndicate content from there components. For example, you could provide an RSS feed of the contacts in your contacts component.

When I have had more time to play with it and understand it, I will post another article on how to use the syndication functionality in Joomla! 1.5.

Advanced Techniques

The syndication component is pretty limited in what it can do for you as a webmaster. Luckily, there are several feed services available the provided extended functionality for your RSS feed. For HowToJoomla!, I am using a service called FeedBurner. With this service, I have several tools at my disposal. Among other things, I can track the number of subscribers to my RSS feed, and I can give visitors the option to receive automatic e-mail updates when my RSS feed is updated. Pretty cool, huh?

I mentioned earlier that I typically only use one of the feed choices (RSS 2.0) available in com_syndicate. That is because FeedBurner only needs one link to your feed, and the format you use is really not that important if you are using FeedBurner.

Here's how you use FeedBurner:

  • Sign up for an account at FeedBurner.com. A basic account is free, and you can upgrade to advanced features for a fee.
  • On your Joomla! site, get a link to the RSS feed that com_syndicate generates. The links will look something like this:
    your_joomla_directory/index.php?option=com_rss&feed=RSS2.0&no_html=1
  • FeedBurner will ask your for a link to your RSS feed. Use the link you got in the previous step.
  • FeedBurner will give you a new link to use as your RSS feed. The link to the HowToJoomla feed is https://feeds.feedburner.com/howtojoomla.
  • You will now want to hide mod_rssfeed, and create a new module that displays a link to your FeedBurner feed. The best way to hide mod_rssfeed is to publish it to a module position that your template does not use. That way, you can keep the module published, but it will not display on the front end of your site. To create a new module, just go to your module manager and click "New". Then, enter your link just like you would enter content, and click "Save".

Another benefit to using a service like FeedBurner is that you can change the location of your RSS feed (for example, if you decide to use a third-party syndication extension), and your visitors will not have to re-subscribe to your feed. You would just need to change your link information through your FeedBurner account. Your visitors will never know the difference, because the link they see (https://feeds.feedburner.com/yourfeedname) stays the same.

Once you make sure that your FeedBurner link module is displaying on the front end just like you want it, you are now set. Your visitors can now subscribe to your RSS feed via Feedburner.

Thanks for the suggestion!

Thanks to Craig Watkins from IllustratorTips.com for suggesting RSS feeds in Joomla! as a "How To" topic. If there is a feature of Joomla! that you would like for me to discuss, please feel free to contact me and suggest the topic.

As always, please feel free to post any questions or comments.

How to find the right tool for the job

One of the most common questions I see in the forums is, "Is there a component/module/mambot/plugin that does (insert your function of choice here)?" Whenever I see a question like that, I head over to the Joomla! Extensions Directory (JED), perform a quick search, and find a list of components that either meet the person's need, or come really close to what the person wants. At the time I am writing this, the JED lists 947 Joomla! extensions.

My point is, if you ever find yourself needing a specific function, head over to the JED and do a quick search. Chances are, if you can't find it there, you can't find it anywhere.

How to view your site with a differnt template without changing templates

Here's a useful little trick if you want to try out and debug a new template on your site while your visitors still see the live template. Simply add "index.php?jos_change_template=new_template_name" to your domain name.

Examples:

How to display a component's output and nothing else

I know it sounds weird, but I came across a situation in which I needed to see a component's output and nothing else. That allowed me to better debug the HTML that was coming from the component.

Special thanks to Dean Marshall for showing me this nifty little trick.

It's pretty simple, just follow these steps:

  • Create a menu item that links to your component.
  • Once you have created your menu item, click on that menu item in your Menu Manager like you were going to edit the menu item.
  • Next to "URL", you should see something like "index.php?option=com_yourcomponent&...". Copy that URL.
  • In the browser address bar, type the domain name and path to your website along with the URL information you copied in the previous step.
  • Change "index.php" to "index2.php", and voila! You are now looking at just your component's output.