Summary
I have learned some core concepts about Joomla, particularly as it applies to this website. I will share those concepts in this article and explain how I have applied them to this website.
Joomla Reference
I have found several resources in Joomla that provide detailed information about the product itself and how to do specific tasks. I have provided these links here.
Components and Content
A Joomla website includes all of the following Components in various combinations:
- Articles, which are where the site content is built.
- This article is an example.
- Categories, which are used to group related articles.
- Each article is assigned to a single category.
- Categories can be nested. For example the Joomla category that I use in this website has Tools as its parent.
- Menus, which are used to navigate the website.
- In this website, there are two primary menus - one for English and the second one for French.
- Menu Items, which provide the links within a menu that a user selects to view specific content.
- Menu Items can be linked to a specific article or to a display of articles within a category.
- Menu Items can be nested. For example, within the Tools menu item, there is an additional menu item for Joomla. Within the Joomla menu item, there are multiple menu items.
- Modules, which provide specific functionality.
- Each menu will have a module that supports the menu. In the case of this website, there is a module for each of the languages that are supported here.
- On the Home page, there is a module that displays the most recent articles.
- Templates, which control how the contents of the website are displayed.
- Joomla comes with two templates as standard.
- For this website, I chose to use a commercial template from Joomla51.
- For each language, there is separate copy of the template, with adjustments specific to that language.
- In addition to controlling the display of content, the templates control the display of the website name or logo, the slogan, and the copyright information.
Initial Setup
I used the following process to setup up Joomla to support this website:
- Determine where the site will be hosted.
- In my case, that was an easy decision - GreenGeeks. I have been using their services since late 2012.
- Install Joomla on the site.
- Many web hosting providers, including GreenGeeks, often have a utility to install Joomla.
- If there is no installation utility, there is a link in the Joomla Website that includes instructions on how to install Joomla.
- Setup the first user.
- All content, including articles, categories, menus, and modules can display the name of the user who created or maintained them.
- By default, Joomla installs a user named, "Administrator".
- In order to provide proper information to be used on the content, a new user should be setup. That process is described here.
- The new user will have the same privileges as the Administrator.
- Install a template if required.
- Joomla comes with two templates. If these are adequate for your purposes, then this task is done.
- In my case, I chose to install a commercial template from Joomla51. The specific template is Kinvara.
- I worked with the template and found that there were presentation items that I wanted to change.
- For example, the default for all titles and menus was that all were rendered in all capital letters. I strongly preferred small capital letters.
- I accessed the forums for Joomla51 and learned how I could customise these options. I initially used the Custom CSS option, but eventually created a custom.css file, since I had to maintain three copies of the template.
- Determine if the website is to be in multiple languages.
- If the website is in multiple languages, then that imposes additional tasks.
- The additional languages need to be installed from within Joomla.
- Once a language has been installed, then it must be identified as a Content Language.
- During this process, there are configuration options.
- Once a language has been installed, then it must be identified as a Content Language.
- There must be one article that is set to All Languages.
- That article must be identified as the Home Page.
- In the case of this website, that article is associated with a menu item that is not published, which means that the article will never be published.
- If additional languages are required, then they must be installed.
- There are actually three copies of the template required:
- A default template, which is used for the front page - the one page that must be in All Languages.
- A template for each language.
- In the case of this website, there is one required for English (Canada) and a second for French (Canada).
- There are also three top-level menus required.
- One is the default menu. This must be for All Languages, but published is set to Unpublished.
- Separate menus are required for each language.
- In this site, they have been named Main Menu-EN and Main Menu-FR
- The language for each of these menus has been set to the appropriate language.
- In this site, they have been named Main Menu-EN and Main Menu-FR