Chameleon Release Notes

(9 votes, average 4.33 out of 5)

Chameleon v2.69 for Joomla 2.5-3.9 - Released 2019-09-25

  • # Fixed crasher when editing/creating rules, on recent versions of VirtueMart
  • - Tested on Joomla 3.9 and VM3.6
  • - Ensured GPL license appears in all PHP files

Chameleon v2.67 for Joomla 2.5-3.8 - Released 2018-09-10

  • # VM currency detection now detects the default currency
  • # Debug mode no longer filters out duplicate messages
  • # Fixed obscure bug in JomGenius triggered by buggy PHP versions

Chameleon v2.65 for Joomla 2.5-3.8 - Released 2017-11-01

  • # Improved compatibility with Falang (fixed issue with plugin ordering that could cause mis-translation of menu items)
  • # Fixes to VM shopper group setting in Actions
  • # Fixed VirtueMartCart::getCart() call which was causing PHP errors
  • - Tested on Joomla 3.8

Chameleon v2.64 for Joomla 2.5-3.7 - Released 2017-01-02

  • # Completed detection for VM Shopper Groups which had not been completely implemented (sorry).
  • - Tested on Joomla 3.7

Chameleon v2.63 for Joomla 2.5-3.5 - Released 2016-10-26

  • + Added support for Joomla update mechanism – at least for signalling that an update is available. Updates still need to be manually downloaded from and installed on your site.
  • + Added support for country and city GeoLite2 databases from MaxMind. These now support IPv6 addressing.

Chameleon v2.62 for Joomla 2.5-3.5 - not released

  • + Added Virtuemart actions:
    • display or not display stock

Chameleon v2.61 for Joomla 2.5-3.6 - Released 2016-08-17

  • + Added debug message (when in debug mode) that displays the current URL of the page
  • + The following Chameleon actions can now make use of substitution tokens derived from the current URL:
    • set meta description
    • set meta keywords
    • set page title
    • add header elements (JS/CSS file, raw JS/CSS, and raw HTML header)
    • find&replace
  • The tokens are {scheme}, {scheme://}, {host}, {port}, {:port}, {path}, {path_drop_1}, {path_drop_2}, {path_drop_3}, {query}, {?query}, {fragment}, {#fragment}. These can be useful for replacing links on the current page with similar links on other sites.
  • # Improvements to the Language Redirection action to improve reliability (now sets the new language cookie directly)
  • # Improvements to Language Redirections when there are associated items (menus or content)
  • # Installing Chameleon automatically re-orders Falang, Language Switcher and Remember Me plugins to ensure compatibility (order is important)
  • # VM: Prevented some obscure white-screen errors due to incompatibilities with other 3rd-party components
  • + VM: Added option to make rule succeed if the user is not on one of the listed page types
  • + VM: Added 2 new page types to detect:
    • cart.addjs: called when the JS popup for adding a new product is created via an AJAX call
    • cart.update: called when the user updates the number of items for a product, when in the shopping cart.
  • # VM: Fixed array-to-string warning that could occur on AJAX cart operations

Chameleon v2.59 for Joomla 2.5-3.5 - Released 2016-06-09

  • + New Chameleon actions: you can now add/remove a user group to/from the current user. This does not change the user record in the database – it simply makes Joomla treat the current user as being in that group for the rest of the session.
    • Example of use:
      • - create a user group called "France" and access level "France & Registered" that includes both user group "France" and "Registered" users
      • - then use Chameleon to add all users from GeoIP country France to user group France
      • - then assign some modules to access level "France & Registered". These modules will appear for everyone who is logged in (Registered) plus all users from France, whether or not they are logged in.
  • # VM: shopper groups mentioned in drop-down boxes (for detection and Actions) are now translated
  • + VM: added debug messages for VM currency, catalog and price display actions

Chameleon v2.58 for Joomla 2.5-3.5 - Released 2016-06-01

  • + Added Virtuemart actions:
    • set currency
    • set catalog mode or non-catalog mode
    • display or not display prices
  • # Fixed obscure bug in VM category detection

Chameleon v2.57 for Joomla 2.5-3.5 - Released 2016-06-01

  • # Fixed crasher when setting VM shopper group in latest version of VM

Chameleon v2.56 for Joomla 2.5-3.5 - Released 2016-05-17

  • # Fixed obscure bug causing white-screen errors on some installations

Chameleon v2.55 for Joomla 2.5-3.5 - Released 2016-05-04

  • # Compatibility release for Joomla 3.5 (tested on J3.5.1)

Chameleon v2.54 for Joomla 2.5-3.4 - Released 2016-03-29

  • # Fixed Client IP address detection when behind proxy giving HTTP_X_FORWARDED_FOR header

Chameleon v2.53 for Joomla 2.5-3.4

  • # Fixed error messages occurring in FlexiContent ancestor_category_ids detection

Chameleon v2.52 for Joomla 2.5-3.4

  • + Added new detection for FlexiContent items (page types, items by id, item/category by category, item by tags, item by whether or not featured)
  • + New JomGenius class for FlexiContent
  • # Improved debug output when detecting an item when it is "in list..."

Chameleon v2.51 for Joomla 2.5-3.4

  • # Improved compatibility with other extensions which use the MaxMind GeoIP databases
  • # Chameleon now detects client IP addresses when on servers using Sucuri CloudProxy/WAF (HTTP_X_SUCURI_CLIENTIP header)

Chameleon v2.50 for Joomla 2.5-3.4

  • # Fixed problem where T3 template uses AJAX in backend to display front end menus. Chameleon is now prevented from removing menu items in this case.

Chameleon v2.49 for Joomla 2.5-3.4 - Released 2015-07-14

  • + Added "Action: Unpublish menu items where note…". This allows you to effectively make a group of menu items which will be unpublished as a result of a rule success or failure, based solely on the "Note" in the menu item.
    • • e.g. you may have some menu items with note "not for FR" and some with note "not for DE", and use this control to remove all menu items with "not for FR" when GeoIP detects country FR.
  • + Added "Action: Edit menu items". This control gives you the ability to dynamically alter the title and other parameters of menu items as a result of a rule success or failure. See documentation for full info. 
  • + Added ability for most Succeed and Fail actions that take text parameters to accept dynamic substitutions of global variables. These substitutions take the form {global:$xxx}, {session:xxx} or {env:xxx}, and take their values from the corresponding $GLOBALS, $_SESSION or $_ENV superglobals. You can set values in $GLOBALS or $_SESSION in the "PHP" block of the rule or Succeed/Fail action.
    • This applies to the following actions:
    • • Edit Menu Item
    • • Redirect URL
    • • Page Title
    • • MetaDescription
    • • MetaKeywords
    • • HTML head include (CSS, JS, raw html for header)
    • • Language redirect domain
    • • Find & Replace (both the find string and the replace string)
    • Example:
    • • in the PHP block, set a value:
      • global $mytitle; $mytitle = "My new page title for id " . $id;
    • • in the Page Title control, use substitution:
      • {global:mytitle}
  • + The GeoIP variables $fromCountryId, $fromCountryName and $geoip are now available in the PHP blocks in the Succeed/Fail actions
  • + Added new control in Menus section: "Menu item note search".
    • • This condition "succeeds" if the user is viewing any page associated with a menu item that has a note that matches the given text.
    • • e.g. you may want a particular action to occur on a series of arbitrary menu items. Just include a note of "THIS_ONE" on all the menu items you want to control, and enter "equals: THIS_ONE" on the Menu Item Note Search.
  • # Improved help strings for Actions
  • # Moved language strings from "advanced actions" to language file to allow translations
  • # Virtuemart: fixed PHP error due to use of constant DS instead of "/"

Chameleon v2.48 for Joomla 2.5-3.4 - Released 2015-05-11

  • # Fixed a PHP error that could occur when detecting "child" menu items but invalid Itemid used in the URL.
  • # Fixed problem with "find and replace" actions that removed any $1 to $9 strings that appeared on the page

Chameleon v2.47 for Joomla 2.5-3.4 - Released 2015-04-13

  • # Added support for detecting the IE11 browser.

Chameleon v2.46 for Joomla 2.5-3.4 - Released 2015-03-19

  • # Compatibility release for Joomla 3.4.
  • + Added detection of VM currency.

Chameleon v2.44 for Joomla 2.5-3.3 - Released 2014-09-30

  • # Fixed some PHP "strict" warnings that appear on later versions of PHP. Note that under Joomla 2.5 there's still a warning: "Declaration of ChameleonModelRule::prepareTable() should be compatible with JModelAdmin::prepareTable(&$table)" that's unavoidable as Joomla 2.5 and 3.x use different definitions for prepareTable(), and Chameleon has to use either one or the other.
  • + Added "Find and Replace" actions. These allow you to replace HTML code from either the <head> or <body> sections or both.
  • + Added "Category handling" control that relates to selecting categories. Previously, only the selected categories (and their articles) would make the rule succeed. With the new control, you can select:
    • 1 - include the selected categories and their articles (previous default setting)
      2 - include the selected categories, all of their subcategories (and their subcategories...), and their articles
      3 - include only the subcategories of the selected categories (plus their articles), and not the selected category itself
      4 - exclude the selected categories and their articles
      5 - exclude the selected categories, their subcategories, and their articles
    • 6 - exclude only the subcategories of the selected categories (plus their articles), and not the selected category itself
  • + Added substitutions for use in page redirections based on the current URL of the page. This is useful for example when you want to redirect to the same URL but on a different domain, or you want to remove part of the "path" e.g. a language prefix. A typical example would be: {scheme://}{host}{:port}/en{path_drop_1}{?query}{#fragment} to force the page to the English version on a multi-lingual site.
    • You can now use the following substitutions:
    • {scheme} e.g. http
    • {scheme://}  e.g. http:// but if there was no scheme in the URL then evaluates to an empty string
    • {host}  e.g.
    • {port}  e.g. 80
    • {:port}  e.g. :80 but if there was no port specified in the URL then evaluates to an empty string
    • {path}  e.g. /path/to/the/page/here
    • {path_drop_1} This drops the 1st path element e.g. /to/the/page/here
    • {path_drop_2} This drops the 1st 2 path elements e.g. /the/page/here
    • {path_drop_3} This drops the 1st 3 path elements e.g. /page/here
    • {path_drop_4} This drops the 1st 4 path elements e.g. /here
    • {query} e.g. Itemid=1&id=3
    • {?query} e.g. ?Itemid=1&id=3 but if there was no query string in the URL then evaluates to an empty string
    • {fragment} e.g. anchor{#fragment} e.g. #anchor but if there was no fragment in the URL then evaluates to an empty string
  • # Fixed an issue where setting a permanent cookie in 1 rule could not be detected in a subsequent rule.

Chameleon v2.43 for Joomla 2.5-3.3 - Released 2014-08-04

  • # Compatibility release for Joomla 3.3. If you are using Joomla 3.2, you should upgrade.
  • + Added detection of new page types under Joomla 3.3: Tagged items, Compact list of tagged items, and List of all tags.
  • # Fixed PHP warnings that appeared when using Page Title/keywords/description actions under some versions of PHP.
  • + Added compatibility with setting page language when Falang is installed.
  • # Fixed an issue with doing language redirections and setting the protocol but not the host.
  • # Improved detection of "home page" especially when using Falang or multi-lingual site. This is important when setting a new default page and/or active menu item.
  • # Fixed a PHP warning that could occur when viewing Tag pages.
  • # Fixed a PHP warning that could occur when trying to detect pages by id, and a non-existant page is visited.
  • + JomGenius v22: the following new page types are detected: contactfeatured, tagslist (compact list of tagged pages), tags (list of tagged pages) and tagsall (list of all tags).

Chameleon v2.41 for Joomla 2.5-3.2 - Released 2014-04-23

  • # Added compatibility with VirtueMart 2.6.0. If you can possibly upgrade to 2.6.0 or above, please do so, as Chameleon has increased compatibility with these versions due to some bugfixes in VM which mean Chameleon no longer has to override VM classes.

Chameleon v2.40 for Joomla 2.5-3.2 - 2014-04-14 (private release)

  • + Added detection for IE9 and IE10.
  • + (Joomla 3.x only) Added detection of Joomla "tags" on articles and categories. In JomGenius, these can be found via $content_genius->info("category_tags") and $content_genius->info("article_tags") and return an array of tag names.

Chameleon v2.39 for Joomla 2.5-3.5 - 2014-04-07 (private release)

  • # Fixed debug notice that occurred whever a plugin did an auto-redirect (URL must have changed. Was: %s, Now: %s). This now only appears when Chameleon's debug mode is enabled.

Chameleon v2.38 for Joomla 2.5-3.2 - 2014-04-03 (private release)

  • + Added controls to change what sort of HTTP redirect is done for standard and language redirects. You can now choose between 301 (Permanent), 302 (Found), 303 (See Other) and 307 (Temporary Redirect). The official explanations for these are as follows:

    301: The requested resource has been assigned a new permanent URI and any future references to this resource SHOULD use the returned URI.
    302: The requested resource resides temporarily under a different URI. Since the redirection might be altered on occasion, the client SHOULD continue to use the Request-URI for future requests.
    303: The response to the request can be found under a different URI and SHOULD be retrieved using a GET method on that resource. The new URI is not a substitute reference for the originally requested resource.
    307: The requested resource resides temporarily under a different URI. Since the redirection MAY be altered on occasion, the client SHOULD continue to use the Request-URI for future requests.

  • Take great care with 301 redirects as clients will cache the new destination URL and won’t even request the original one but go directly to the new one.

Chameleon v2.37 for Joomla 2.5-3.2 - Released 2014-03-17

  • # VM: fixed detection of category page types after VM2.20b and in some cases stops getting them confused with search results pages.
  • # VM: shopper group detection now returns an array of shopper group ids, not just a single id.
  • # Changed the way that Chameleon detects URLs, especially when a plugin (e.g multi-lingual plugin) does an auto-redirect. Chameleon now detects the original requested URL rather than the redirected one.

Chameleon v2.36 for Joomla 2.5-3.2 - Released 2013-11-12

  • # Compatibility release for Joomla 3.2 — fixed several crashers. If you are using Joomla 3.2, you must upgrade.
  • + Group detection can now detect "Guest" for non-logged-in users, if the admin has assigned guests to this group.
  • + Added detection of new page type: Wrapper.
  • + Detection of Search and SearchResults pages now includes Smart Search pages.
  • + Added JomGenius class for AdminSwitch controls. (TODO: add form controls for these)

Chameleon v2.35 for Joomla 2.5-3.1 - Released 2013-10-14

  • + Added ability for Chameleon actions to unpublish any other plugins on the fly, including search plugins, system plugins, content plugins, and pretty much anything else.

Chameleon v2.34 for Joomla 2.5-3.1 - no public release

  • + Added support for HikaShop: Chameleon can detect all the different Hikashop page types, as well as products by category or individual ID.
  • # Made Chameleon play better with some other components: it no longer needs to redefine the JMenu class, which sometimes conflicted with other extensions that did the same.
  • # Fixed the "user template" plugin under Joomla 3.1, and gave it a better description that identifies it as part of Chameleon
  • # JomGenius: in VirtueMart plugin, fixed category info so that it includes categories of parent product, for child products, and tidied up some database queries
  • # JomGenius: added Hikashop class

Chameleon v2.33 for Joomla 2.5-3.1 - Released 2013-08-05

  • + Added and tested support for Joomla 3.1
  • + Added new plugin that adds a Template Selector to the User Profile! Users can now select which front-end template they want to use. To enable this functionality, you need to publish the "User - Template" plugin, and edit it to determine which templates will be shown to the user in the dropdown.
  • # Added additional checks to ensure the controller class is only included once (fixed issue with some 3rd party components)
  • # K2: added JomGenius support for detecting page types and many other parameters of the currently-displayed page (see JomGenius page for full details)
  • + Added GUI support for K2. New detection includes:
    • Page type
    • Indiviual items by ID
    • Category
    • Ancestor category
    • number of attachments
    • number of published/unpublished comments for an item
    • whether item is featured or not
    • whether item has images or not
    • the contents of the K2 meta-description and meta-keywords fields
    • the username of the item author
    • whether or not the current item (either user page or individual item) is "owned" by the currently-logged-in user. This allows you to customise any page that belongs to the currently logged in user.
  • # Improved debugging output
  • # Streamlined loading of additional form elements
  • # Improved compatibility with 3rd party components which sometimes triggered a redeclaration of the JMenu class
  • # Virtuemart: fixed problem with "product_special" JomGenius selector

Chameleon v2.31 for Joomla 2.5-3.0 - Released 2013-03-19

  • + Added and tested support for VirtueMart 2.0.20b
  • # Removed debugging code from install screen

Chameleon v2.30 for Joomla 2.5-3.0 - Released 2013-02-25

  • + Added and tested support for VirtueMart 2.0.18b
  • - Removed support for Joomla 1.7.
  • + Added support for Joomla 3.0. On Joomla 3.0, Chameleon has a totally redesigned rule interface but should be functionally equivalent.
  • # Many minor interface improvements in rule editing.

Chameleon v2.29 for Joomla 1.7-2.5 - Released 2013-01-28

  • + Added and tested support for VirtueMart 2.0.16, 2.0.16d & 2.0.18a

Chameleon v2.28 for Joomla 1.7-2.5 - Released 2012-11-26

  • + Added and tested support for VirtueMart 2.0.14
  • + Added detection of 3 new VirtueMart page types:
    • productdetails.notify (the page where users can ask to be notified when new stock for a product arrives)
    • productdetails.recommend (the page where users can submit an e-mail address to which to send details of the product)
    • manufacturer.products (the page that lists products from a specific manufacturer)

Chameleon v2.27 for Joomla 1.7-2.5 - Released 2012-07-23

  • + Added support for Categorizr detection of devices: mobile, desktop, tablet & TV. This script takes a mobile-first approach to device detection and is likely to be more accurate for new devices than the previous mobile detection scheme in Chameleon. The change is in JomGenius (v14), adding a new attribute: "categorizr" which returns one of the strings "mobile", "desktop", "tablet" or "tv". Bots and crawlers are detected as "desktop". The result is cached in the session unless Chameleon Debug mode is enabled. This means that changing your browser's User Agent string will not be detected mid-session unless Chameleon Debug mode is on.
  • # Fixed a warning message that appeared on some installations in models/rule.php.
  • + Added Chameleon icon in the Components menu.

Chameleon v2.26 for Joomla 1.7-2.5 - Released 2012-05-14

  • + Added a new action: ability to change front-end language. This feature is equivalent to the user clicking on one of the language flags in the Language Switcher module. As well as choosing the language to switch to, you can also select an optional domain to switch to. This allows you to use a completely different domain (or sub-domain) for specific language content. See the blog for more details.

Chameleon v2.25 for Joomla 1.7-2.5 - Released 2012-05-07

  • + Added support for VirtueMart 2.0.6 in override classes for dynamically changing shopper group.

Chameleon v2.24 for Joomla 1.7-2.5 - Released 2012-03-12

  • # fixed an error that could occur if another plugin performed $mainframe->initialise(). Of course, they are not supposed to do that, but now if they do Chameleon won’t cause an error.
  • + increased JomGenius version number to 13 (should have been done in last release).

Chameleon v2.23 for Joomla 1.7-2.5 - Released 2012-03-08

  • + Official Joomla 2.5 support
  • + Official VirtueMart 2.0 support (note: all VirtueMart changes below are changes from the Beta support for VM2.0Beta)
  • # fixed an issue that could cause some templates based on template frameworks to fail to identify the current theme in use
  •  removed some code used for co-existence with sh404SEF, which now seems to be unnecessary
  • # fixed Calendar view for freestyle start and stop times, which could cause an error in the backend if it could not recognise certain date/time formats
  • # fixed component selector in backend which could only choose 1 component at at time (now can select multiple).
  • ^ improved PHP “help” text which contained some out-of-date information (e.g. directly returning a template name, which is now obselete since you have to deal with Style Ids in Joomla 1.7+)
  • ^ improved performance of rule chains so that if one plugin (e.g. Extended Rules) returns a "fail", other plugins for the same rule (eg. VirtueMart) will not be executed unnecessarily.
  • # fixed "contains" and "not contains" string comparisons, e.g. in referrer, so that they do not cause a PHP error if an empty string is submitted.
  • # fixed "components" check so that it bypasses if the 1st item selected is "Ignore".
  • # fixed incorrect debug message that occurred if certain languages were excluded, but the current language was not one of them.

  • Changed list of Joomla Page Types:
  • ^ changed articlesubmit to articlesave
  • + added contactcategories
  • ^ changed register to registration
  • ^ changed user to profile
  • + added profileedit
  • + added profilesave
  • + added weblinkgo (triggers when a weblink is clicked, but before it is redirected, allowing you to catch this event and perform actions based on it)
  • ^ changed weblinkform to weblinknew

  • VirtueMart 2.0 support:
  • + added new action: ability to change the shopper group as a result of a rule. This allows you to put people into groups "on the fly", depending on any factors in the Rule, including Country (GeoIP), previous purchase history, date/time, Joomla group, etc.
  •  removed support for detecting the number of items sold of the currently viewed product, as this feature has been removed in VM2.0
  • # fixed checking of products in stock
  • # fixed checking of previous purchases
  • # fixed checking of whether a coupon is being used, and which coupon it was
  •  removed check for which type of coupon was used (permanent/gift) as that info is no longer available in VM2.0
  • removed pagetypes: account.index, account.order_details, account.orders, account.shipping, checkout.index#1-4, checkout.2Checkout_result, checkout.epay_result, checkout.ipayment_result, checkout.paysbuy, checkout.thankyou, shop.infopage, shop.manufacturer_page, shop.registration, shop.savedcart,, shop.waiting_list, shop.waiting_thanks as these pages are not in VM2.0 (or I have been unable to locate them for testing)
  • + added pagetypes: productdetails.mailquestion, cart.editshipment, cart.editpayment, cart.thankyou, checkout.editshipto, checkout.editbillto, user, orders, order.view, plugin.response (e.g. when PayPal returns user to your site), searchresults, manufacturer
    JomGenius core improvements:
  • ^ improved "article categories" detection so that it can return category information when on a "categories" view
  • + added "articlesave" page type
  • + added "profilesave" page type
  • + added "weblinkgo" page type (triggers when a weblink is clicked, but before it is redirected)
  • ^ changed the "search" and "searchresults" page types so that they only trigger on the GET request. Joomla search works by first doing a POST with the search term, then this is caught and redirected to a GET request with the required search word. This change prevents double-activation due to the 2 requests.
  • # changed the way that user groups and group ids are calculated, since Joomla changed between J1.7 and J2.5. The correct list of groups or group ids is now returned in either version of Joomla.

  • JomGenius for VirtueMart 2.0 improvements:
  • removed some outdated product attributes: productshipcodeid, productsales, productattributes, childoptions
  •  removed some types that are no longer available: couponid, coupontype
  • + new type: couponvalue (currency value of the discount applied)
  • ^ made the following types count "shipped" products as well as "confirmed" ones: previouspurchaseproductids, previouspurchaseproductskus, previouspurchaseproductnames, previouspurchasequantityofproduct
  • # fixed broken isSearchResults
  • ^ changed product attribute search and manufacturer search to look up localised version of product (VM_LANG required)
  •  removed pagetypes: checkout.thankyou, orders
  • + added pagetypes plugin.response (for return from PayPal, for example), order.view, checkout.editshipto, checkout.editbillto, productdetails.mailquestion, cart.editshipment, cart.editpayment, cart.thankyou, searchresults
  • # fixed broken shoppergroup retrieval; now allow it to retrieve value set in shoppergroup Action
  • # fixed broken shopperinfo (for billto and shipto addresses)
  • # fixed broken "state" info in shipto and billto addresses (now accesses related table for state names)
  • removed shipto email addresses as these have been removed from VM2
  • # fixed broken category retrieval (due to localisation)

Chameleon v2.22 for Joomla 1.7 - Released 2011-10-03

  • + preliminary support for VirtueMart 2.0 for Joomla 1.7. A number of page types have changed their names, and further work on this will be done once a stable VM2 version has been released. The current implementation should be considered Beta.
  • + added support for making rules based on previous purchases in VM (still Beta).
  • # added debug logging to the "redirect" action, and tightened up the loop-checking so that it won't redirect if the destination URL is the same as the current URL.
  • # fixed checking for the "home" menu item. Previously, non-existant pages/urls would be incorrectly detected as being the "home" menu item.

Chameleon v1.19 for Joomla 1.5 - Released 2011-10-03

  • + Added support for making rules based on previous purchases in VM:
  • + "Previous purchases of this product" allows you to detect if the current user has purchased the current product (shop.browse pages) before, and how many. e.g. detect if user has purchased more than 2 of the current item.
  • + "Previous purchase SKU(s)": enter a list of SKUs, and the rule will succeed if the user has purchased any of these in the past.
  • + "Previous purchase id(s)": enter a list of product ids, and the rule will succeed if the user has purchased any of these in the past.
  • # added debug logging to the "redirect" action, and tightened up the loop-checking so that it won't redirect if the destination URL is the same as the current URL.
  • # fixed checking for the "home" menu item. Previously, non-existant pages/urls would be incorrectly detected as being the "home" menu item.

Chameleon v2.21 for Joomla 1.7 - Released 2011-09-15

  • # changed page type detection for "Front page" to "Featured" because of changes between Jooma! 1.5 and Joomla! 1.6/1.7.
  • # fixed problem with the article selector which was not remembering its values.

Chameleon v2.20 for Joomla 1.7 - Released 2011-09-12

  • # JomGenius v10: improved JomGenius detection of VirtueMart page types, when viewing a VM menu item with a pagetype, productid or categoryid set in the menu configuration
  • # fixed errors that occurred when setting custom HTML on RSS and AJAX (raw) documents
  • # improved the "set title" action so that it works with sh404SEF
  • # changed the setting of additional JS/CSS files, and other header HTML to occur in the onBeforeRender trigger instead of the onAfterDispatch trigger (may be more reliable).

Chameleon v1.18 for Joomla 1.5 - Released 2011-09-12

  • # improved JomGenius detection of VirtueMart page types, when viewing a VM menu item with a pagetype, productid or categoryid set in the menu configuration
  • # fixed errors that occurred when setting custom HTML on RSS and AJAX (raw) documents

Chameleon v1.16 for Joomla 1.5 - Released 2011-08-09

  • + re-released as “Chameleon” instead of “MetaTemplate Pro”
  • # bugfixes to time zone handling

1.14 - Released - 2011-06-14

  • # changes to "Active Menu" manipulation to make it work better with Joom!Fish language switching when SEF URLs are enabled.

A modified version of the mod_jflanguageselection module is available on this site, and is a drop-in replacement for Joom!Fish's version of that module.

The bug showed itself on pages where the Active Menu was changed by MetaTemplate Pro. On these pages, Joom!Fish's language selector module came up with the wrong SEF URL. Now with version 1.14 of MetaTemplate Pro, and the modified mod_jflanguageselection module on this site, the problem is resolved.

1.13 - Released - 2011-05-30

  • # Fixed GeoIP integration when PHP has been configured with geoip support.
  • # Added further page detection to the VirtueMart page selector. These pages are used as the callback “landing pages” for various payment options. I.e. after payment, the user is returned to these pages, which you can now target in MetaTemplate:
      checkout.result (PayPal callback)
  • # Upgraded to JomGenius v8

JomGenius v7 includes:

  • + added "blackberry" as a browser type in core_genius

JomGenius v8 includes:

  • + added new pages to VirtueMart page detection: checkout.2Checkout_result, checkout.epay_result, checkout.ipayment_result, checkout.paysbuy, checkout.result (used in PayPal callback)
  • # increased maximum nested category level for "ancestor category ids" from 5 to 8.

1.12 - Released - 2011-02-21

  • # Fixed bug that happened when trying to enable the GeoCityLite database

1.11c - Released - 2011-02-14

  • # Removed warning messages that appeared when an invalid Itemid was given and the rule was set up to detect menu items

1.11b - Released - 2011-01-20

  • # Fixed bug when returning exact template name from PHP script

1.11 - Released - 2011-01-10

  • # Fixed bug and improved logging for “user is or is not logged in” feature

1.10 - Released - 2010-12-20

  • + You can now change the “Active” menu item as a result of any rule. The “Active” menu item doesn’t determine which page gets displayed on your site — it simply changes which menu item gets highlighted or displayed on the front end as being 'active'. [*]
  • # Fixed the broken “Default Menu Item” control. This has now been tested as working with non-SEF URLs, built-in Joomla SEF, and sh404SEF. This controls which menu item (component) will be used if no URL is chosen (e.g.

[*] NOTE: this feature depends on the module or template to display the menu correctly. The module or template displaying the menu must use the $menu object provided by Joomla as the data source for the displayed menu. This structure includes a variable indicating the active menu item, and that’s what MetaTemplate manipulates. If the module or template ignores this and recreates the menu directly from the database, or assumes that the current Itemid should be used as the Active menu item, then this feature has no effect.

The standard mod_mainmenu module for displaying menus in Joomla works correctly with this feature.

1.9 - Internal release only

1.8 - Released - 2010-12-13

  • + New Debugging mode added. This is activated in the main MetaTemplate Preferences panel. When debugging is activated, you get a complete log of all the steps and checks that MetaTemplate does as it goes through your rules. The log is shown in the "debug" section of your template, so this has to exist in order to view it. Most templates will have this.
  • + Added Blackberry to the list of browsers to target
  • + Added support for VirtueMart "Ancestor Category Ids". This allows you to target any VM products or categories that have a specified category as an ancestor. [i.e. it will activate for any children/descendents of the specified category/categories]
  • # Improved date/time handling for the start & stop date/time boxes. There were some issues with wrong time zones being used.
  • # Fixed bug when using JomGenius parameters that returned boolean values.
  • # Improved VirtueMart "PageType" handling, when the current page is a menu item, and the menu item has been set up to display a non-standard page type.
  • # Changed the standard Joomla Content Section and Category handling to use JomGenius’s functionality.
  • + Warning messages are now given in the front-end of the site if GeoIP rules are attempted but there’s no valid GeoIP database installed.
  • # Fixed a display bug when editing the user group assignment in a rule.
  • + Added "!=" as a valid JomGenius comparison operator
  • + Added "shop.registration" as a valid page type in the VirtueMart section. This page type is different to the standard Joomla registration page. You can now target these independently.
  • # Fixed an obscure bug in VirtueMart category handling.

1.7 - Released - 2010-09-27

  • + You can now disable specific menu items when a rule succeeds or fails. e.g. disable a LOGIN menu item for logged-in users.
  • # Fixed bug when setting Default menu items.
  • + Checks for AceSEF during installation, to re-order system plugins accordingly.
  • + The following PHP variables are now available for use in the PHP boxes in the SUCCEED and FAIL actions:

    $app [ = JFactory::getApplication()], $core_genius, $content_genius, $menu_genius, $db, $user, $Itemid, $id, $view, $option, $menu [ = &JSite::getMenu()]

1.6 - Released - 2010-09-06

  • + Added more VirtueMart options. You can now target the VM "front page". When on a product view page, you can now trigger rules based on:
    (i) the number of product items in stock (e.g. switch template when you are out of stock)
    (ii) the number of product items sold in total
    (iii) the manufacturer of the item (e.g. use a special template for all ACME products in your shop).
  • # Fixed a bug that caused some rules to fail when upgrading MetaTemplate Pro.
  • # Upgraded JomGenius to v5. This adds considerable VirtueMart functionality, with the ability to target the following parameters:

    manufacturer_id, manufacturer_name, manufacturer_category_id, manufacturer_category_name, vendor_id, product_parent_id, product_sku, product_short_desc, product_desc, is_product_published, product_weight, product_weight_unit, product_width, product_height, product_length, product_measurement_unit, product_in_stock, is_product_special, product_discount_id, product_ship_code_id, product_name, product_sales, product_attributes, product_tax_id, product_unit, units_in_box, units_in_package, child_options, quantity_options

    See here for a full description of these new JomGenius parameters.

1.5c - Released - 2010-07-27

  • # Fixed more bugs in JomGenius "Content" object, when retrieving information about sections and categories.

1.5b - Released - 2010-07-27

  • # Fixed bug in JomGenius "Content" object, when retrieving information about sections and categories.

1.5 - Released - 2010-07-26

  • + added JomGenius support
  • + New VirtueMart controls
  • + New Page Type controls (e.g. frontpage, article, etc)
  • + Added iPad, android, and many other bots and browsers to browser detection
  • # Improved downloading of MaxMind Country and City GeoIP databases
  • + As a result of a rule SUCCEED or FAIL, you can now change the "default" menu item. This affects the page that will show up when no other page is in the URL (e.g., but does not automatically redirect to this page.
  • # Some interface changes (e.g. moved SUCCEED and FAIL actions to right panel)
  • # Fixed sh404 integration and some minor bugs
  • # Improved UTF-8 compatibility
  • # Timezone functions no longer set the TZ environment variable on PHP5
  • # Improved proxy handling of IP addresses for GeoIP

1.4 - Released - 2010-02-15

  • # improved de-selection Sections and Categories, Menus, and Components selectors
  • # improved terminology on interface
  • + added support for HTTP Referrer, and page URL (starts with, ends with, contains, equals, regex etc)
  • + added ability to set a 2nd cookie/session variable per SUCCEED/FAIL action
  • # bugfixes for deleting session variables, and cookie/session setting when a template name is returned from a PHP rule

1.3 - Released - 2010-02-08

  • + Added ability to set session variables as the result of a rule. You can detect and make decisions based on that variable on subsequent pages.
  • + added "default PHP return value" to the PHP rule. You can set up your PHP rule so that unless you explicitly "return true;", the rule will implicitly "return false;"
  • ^ the "Fail" action now falls through to the next rule by default

1.2 - Released - 2010-02-03

  • + 1-click template duplication
  • + fix for VirtueMart "front page template" problem ( )
  • # fixed Time Zone selection in component parameters
  • + added language strings to make interface translatable
Last Updated on Wednesday, 25 September 2019 04:57