Content Enhancer is a Joomla extension that is used to “enhance” web site content by introducing content variables and automatic content replacements.
Content variables are values that you can reuse in the content of your web site. Their value could be static (just some text) or dynamic (evaluated each time the variable is needed).
Content variables are defined by name and value. The name is used in articles to identify where the variable should be used (there is a convenient interface for that).The value is defined by value type and value-type-specific parameters. There are some built-in value types for a variable – Text, SQL and PHP. The value of a Text-type variable evaluates to some text you enter, the SQL variable – to the result of a SQL query you enter, and PHP – by evaluating a script you enter. You can use environment data in the definition of a variable. For example “[request:id]” could be used to insert the value of the “id” parameter from the current HTTP request.
Variables can be easily inserted in content everywhere a WYSIWYG editor is used – when editing articles, custom HTML modules, etc. There is a special button that is displayed below the editor that allows you to insert a variable in the content. It is also possible to use variables where a normal text editor is used but you must do that manually. However, you should be careful where you use variables. They are only evaluated in the HTML of the generated page.
Automatic replacements allow you to replace certain part of your web site (HTML or plain text) in runtime with some other content. For example, you can create a replacement that replaces the text “[contact]” with a “mailto” link to your contact e-mail. You can then use [contact] instead of the real e-mail in articles and it will be automatically replaced. Of course, there are more complex scenarios.
Automatic replacements are defined by source (the text that will be replaced) and value (what to replace the text with). It is possible to define the source as regular expression. You can use content variables in the value which means that you can create dynamic replacements. Those replacements can replace the same text with dynamically evaluated value, based on your logic.
To do this first you must define a random-type variable. The variable must return random values that the parameter will understand. After that you must create an enhancer module for the module you need randomized. In the module settings you must use the “Alternation” tab to set the parameter you want to randomize to the value of the random variable you created. For more information, please read the manual.