Introduction

In this video we'll take a look at the Pro version of Advanced Module Manager.

In the previous video we looked at the assignments available in the Free version.

We have already seen how we can assign modules by a whole range of different conditions. This includes assigning modules based on Joomla! Content, Users, Components, Templates, URLs, Devices and much more.

The Pro Version adds even more assignment types which we will look at in this video.

In the next video we will get into the Extra Features and Settings that Advanced Module Manager offers.

We now have the latest Pro version of Advanced Module Manager installed, which at the moment is version 7.10.0.

And what you see here is a Joomla 3.9.3 setup.

If you are using newer versions, things might look a bit different.

Make sure to first check out the "Getting Started" video if you haven't already. Let's head over to the same module we played around with in that video.

As you can see, currently all assignments are set to ignore,

So the module is shown on all pages of the website.

We have already discussed the Menu Items and Home Page assignments, as they are available in the free version too.

Date & Time

But here in the Date & Time section we now have more than just the Date assignment.

We can show a module during a specific Season, Month or only on a specific Day of the week.

We can even tell the module to only show between a starting and ending Time of the day.

Like with any assignments here, we can combine these Date assignments anyway we want too.

Let's say we only want the module to show on every Monday in the summer. But only in the morning.

So we can set Season to Summer.

Day of the Week to Monday.

And in the Time assignment we set it to 6:00 to 12:00.

Users

The next assignment that is exclusive to the Pro version is the Users Assignment.

While with the Free version we can assign a module based on User Groups, this makes it possible to assign it just to a specific user or a selection of users.

So the module will be shown only to the users you select here.

IP Addresses

The Pro version also allows to assign modules to specific IP addresses. Or ranges of IP addresses.

But in most cases it is probably easier to use Geolocation.

Geolocating

With the Geolocation assignments we can make a module only show on one or more Continents... Countries... Regions, States or Provinces... and even on ranges of Postal Codes.

To be able to use Geolocating, we need to install the Regular Labs GeoIP library, which is free.

We can install the GeoIP library just like any other Regular Labs extension.

On the Regular Labs website you can view the installation video and instructions on how to install it.

Once the GeoIP library is installed, we are free to use any of these location based assignments.

Of course, keep in mind that Geolocating is not always 100% accurate. The Geolocation is based on the IP address of the visitor, and not all IP addresses are fixed or known.

3rd Party Content

The Pro version also adds support for plenty of 3rd party components, including CCKs and eCommerce extensions.

As we can see here, the supported CCKs are: EasyBlog, FLEXIContent, Form2Content, and Zoo.

As well as eCommerce extensions Hikashop, Mijoshop, Redshop, and Virtuemart.

The assignments for the 3rd party components will only show up if you have that extension installed. When you do, you will be able to assign modules based on its page types, categories and items.

Custom PHP

And if all of this still isn't enough and we still need to assign our module to something that is not available in the assignments... well, we can!

That's because we have the ability to assign a module by custom PHP code.

This allows us to assign to just about anything we can think of. However, this does require some PHP knowledge and how to use this assignment.

We can call on any data that is available through php in Joomla and do checks on it. This includes data from the url, cookies, the current active component, the current article, the user and even anything from the database.

The PHP code we enter here must return the value "true" or "false".

For instance, we could use this code to only show our module only on articles that have more than a certain number of hits. Say 500.

Let's check if that works.

This "Animals" article has more than 500 hits. So the module is shown here.

But the article "Cats" has less than 500 hits, so the module is not shown here.

For more examples and ready-to-use PHP scripts, you can check out the PHP Assignment Guide on the Regular Labs website.

Recap

So just to recap.

We have now seen all the Assignment Types offered by Advanced Module Manager in both the Free and Pro version, and how to use each of them.

There are a lot more cool features to explore in Advanced Module Manager. Head over to the tutorial to find more treasures.

In the next video we'll walk through cool Extra Features offered by Advanced Module Manager, and all the settings that help us control how Advanced Module Manager works.