…by date, time, recurring time, GeoIP (country of viewer), browser type and language, user name, group, page within other component (e.g. Virtuemart), on-page text, article keywords, by article, section/category, domain, referrer…
…and much, much more!
MetaMod is a "Meta Module" - a module that includes other modules, according to a set of rules.
By installing the free GeoLite Country or City database from MaxMind, you can switch modules based on country names/cities/states etc.
★ VirtueMart: hide or show different modules at checkout, cart, product pages, categories etc.
★ Timed modules: recurring daily/weekly times and dates (great for radio/TV/broadcasting sites)
★ Languages: show different menus/modules based on the front-end language the user has selected (e.g. with JoomFish), or according to their browser language
★ Users: show a module for users registered for more (or less) than a certain time period, or target modules to certain users or groups
★ Switch between 2 modules for logged-in users and guests
★ Section/Category-specific modules: target modules according to the section/category of the displayed article
★ Domain & referrer: display different modules depending on which domain is being used for the page, or which site the user linked from
★ Browser detection: switch modules depending on the user's browser & browser version (e.g. show a different module for people viewing the site with Internet Explorer IE)
★ Control modules based on text found in the main component of the page
★ Control modules such as RSForm (show a different form based on where in the world someone is connecting from, etc)
★ Target modules onto specific pages in JReviews, CommunityBuilder, SOBI and almost any other component
★ Dynamically control the parameters of other modules on the page as well as whether the modules appear or not
★ and so much more!
Many more uses can be found in the documentation on the site, and in the forums. See you there!
★ v3.x is only compatible with Joomla 1.7/2.5/3.0
★ v2.x is only compatible with Joomla 1.5.
★ Please download and install the right module for your Joomla version.
v3.13b (27 Nov 2012)
* fixed crasher in GeoLiteCIty support
* added support for VirtueMart 2.0.14; JomGenius now detects new pagetypes notify/recommend/manufacturer product listing.
v3.12 (19 Nov 2012)
* Now Joomla 3.0 compatible!
v3.11 (03 Sep 2012)
* Added compatibility with JoomFish for J2.5
v3.10 (23 Jul 2012)
* Added Categorizr support to JomGenius, for detecting mobile, desktop, tablet and tv devices.
* Multiple improvements to JomGenius support for VirtueMart 2.x
v3.8 (14 Feb 2012)
* Added J2.5 support
v2.12 (31 Oct 2011)
* Virtuemart: improved page detection on sites using One Step Checkout
v2.11/3.7 (3 Oct 2011)
* Improved detection for "articlesubmit" page type
* VirtueMart: base
I initially tried it out in my test area and encountered a problem when I used it more than once on the same webpage. But within a few hours of sending Stephen an email he sent me a fix, which solved the problem. We also exchanged a few more emails and he explained how I could simplify what I was planning to do, so rather than call another module containing my Ad code I could actually put this code in the MetaMod module and not specify the id for a module to be call by MetaMod.
So now I can embed calls to MetaMod modules in my web page content using a mambot for this purpose, and have ads displayed relevant to my visitors country.
Another feature of the module I have not tried out but will be useful, is the ability to specify an end publishing date, so if need be I can stop ads being displayed for example when the ad offer expires etc.
An excellent module, exactly what I needed and more with fast an useful support from Stephen.
Enter MetaMod and Amazon Associates - and kerrrr--Ching - made my 1st US sale today.
Easy enough to set up - although a forum where people could discuss solutions/approaches would be great.
On two of the occasions, Stephen gracefully offered his service in helping fix the problem. His support is honestly the best I've received online!
Kudos to the great module.
I had a module which showed up great on Firefox and Safari but could not get it to work in IE, so I wondered whether Metamod would come to the rescue and serve a substitute for this module for IE users. I had no idea how to do this though! :)
Stephen was more than happy to help, providing me the exact code to do what I wanted Metamod to do and voila, it worked like a charm.
Here's the code I used:
$UA = isset($_SERVER['HTTP_USER_AGENT']) ?
$_SERVER['HTTP_USER_AGENT'] : '';
$IE = strstr($UA, 'MSIE') ? true : false;
$IEV = $IE ? preg_split('/msie/i', $UA) : false;
$IEV = $IEV ? floatval($IEV) : false;
if ($IEV >= 7) return 92; //module for IE7
if ($IEV >= 6) return 92; //module for IE6
if ($IE) return 92; //module for any IE version
return 80; //default module
I really have to commend Stephen for his extraordinary help. I appreciate his support every step of the way.
I have yet to find something that Metamod cannot do!
MetaMod is so versatile, it does SO many things, and it can show modules according to language-selection too!
I don't use JoomFish, because on Joomla1.5.2 it messes up with Community Builder.
Actually I don't need to use any of the language plugins, they are too much trouble for nothing if you ask me!
I only needed to put 5 lines of simple code in only 4 of my files, to have a language-selector on front-end, and articles showing in user's language of choice!
Components use language files!
BUT not Joomla's menus (!!how's that?)
So how was I to show language-specific menus on my site??
MetaMod came to save the day!!
And Stephen was MOSTLY helpful!
the solution to my problems became ridiculously easy by using MetaMod!
in my case I only had to add a code in MetaMod's PHP textbox like this:
$language = $mainframe->getCfg('language');
if ($language=="en-GB") return 11;
if ($language=="el-GR") return 22; //example numbers
Now my site is totally multi-lingual, without going nuts with all the menus, and buttons, and options, and editing, and,and,and of applications like JoomFish, M17N, and the likes!
Thank you again Stephen for this fantastic module!
Thanks 'grvulture' for your review. Just a note to anyone else who wants to use this example:
(1) you still need to install JoomFish in order to get the language selector menus etc.
(2) but, you don't need to set up any of the other JoomFish translation features apart from enabling the languages that you want people to be able to select, and assigning the language selector module to a page.
(3) Before the "$language = ..." line above, you need to type the following line in the MetaMod config:
(4) and that's it, the easiest way to set up completely different menus depending on the selected language.
The organization that I belong to have two different meetings every month and some events during the warmer months. The template that I am using has three module positions at the bottom of the front page that was an ideal spot for this information.
MetaMod allows me to set up these dates for a whole year and then automatically publishes them at the appropriate time with the correct meeting/event dates throughout the year in the selected module positions. This has been a lifesaver for me, keeping track of when to change the module dates manually would have been quite a chore as each of the three monthly dates are at different times of the month.
The author was very helpful!! I emailed him for help with the code to do what I wanted (I can't be accused of being a programmer!). He responded almost immediately with the required code. Works great, after I did some tweaking of the dates in the code.
Steve, sorry for the "wait" to post here. I needed to see if it worked........... and it does! Thanks a lot for taking the time to help me out.
This gives very useful functionality to Joomla and makes it worth delving into PHP a little more to take full advantage of a well thought out extension.
I haven't found any bugs yet with limited testing.
The only things missing are to auto-unpublish Metamod if no modules are set to display and to auto publish a specific module if another named module expires, although this might be possible with PHP scripting.
Documentation is good, so you will have no trouble getting the extension up and running. The author has clearly put in a lot of time and thought into this.
Thank you for sharing this module.