What does Chameleon do?

(7 votes, average 3.57 out of 5)

High level overview

Chameleon is a Joomla component that gives you full, dynamic control over which Joomla template is used on your site, and when.

It is based around the concept of a Rule Engine. This means you design a series of rules which get checked, in turn, whenever Joomla generates a page.

Chameleon has a large selection of built-in checks which can be used within rules:

  • date/time and recurring time (e.g. 09:00-11:00 every day)
  • GeoIP country (the country of the site visitor)
  • random probability
  • site or browser language
  • domain name
  • referrer URL
  • browser
  • menu, menu item, or all-children-of-menu-item
  • page type (covering all built-in Joomla page types, e.g. frontpage, category blog view, article, etc)
  • individual article ids
  • sections and categories (e.g. all articles inside a given section or category)
  • components (e.g. all pages within a specific installed component)
  • individual users
  • Joomla built-in groups
  • comprehensive Virtuemart support, including page types, product ids, category ids, manufacturer ids, number of items sold or in stock, which products are in the shopping cart, and whether or not a coupon has been redeemed
  • PHP rule section so you can code your own rules, or copy and paste rules from the MetaModPro web site for interaction with many other Joomla components.

Depending on the results of these rules, Chameleon can perform several different types of actions:

  • change to a different template for the current page
  • unpublish arbitrary menu items
  • redirect to another page on the site, or to an external URL
  • perform language redirections, as if the user had clicked on an icon in the language switcher module
  • remember the result of the rule in a session variable or permanent cookie, so that if the person views another page on the site, decisions can be based on what happened previously (i.e. you can continue to use the new template for the rest of the session)
  • the “Default” menu item can be changed in order to simulate a different “Front page” of the site
  • disable arbitrary plugins, whether system, content or component-specific
  • add JS and CSS code to the page
  • set page title, keywords and meta-description
  • find-and-replace HTML code & text from the rendered page
  • arbitrary PHP code can be run
  • various other component-specific actions e.g. in VirtueMart, set the shopper group

Chameleon contains some other features to make life easier when dealing with templates:

  • 1-click downloading of the (free) MaxMind GeoIP Country and GeoLite City databases for use in your rules
  • You can change the site default template while editing a Chameleon rule
  • You can jump directly to the template editing screen for any installed template while editing a Chameleon rule

Chameleon vs. ChameleonLite

ChameleonLite is a free version of Chameleon (for Joomla 1.5 only). The only difference between the two products is that ChameleonLite does not have an interface for most of the built-in checks listed above. This means that you need to code most things in PHP.

Many of the PHP recipes designed for Chameleon’s sister product MetaMod actually work very well in Chameleon too, so this is not as limiting as you might think.

    Last Updated on Monday, 29 September 2014 22:25