Tutorial:

Introduction

Components Anywhere is a Joomla! system plugin.
You can place components anywhere in your site, including within articles, modules and even inside other 3rd party components.

The syntax is super simple. Just place {component url/of/the/component} where you want that component to show.

How to use it (syntax)

You can place components via Components Anywhere by using plugin style tags right into your WYSIWYG editor.

The syntax is super simple. Just place {component url/of/the/component} where you want that component to show.

For instance, you have a form component - that does not come with its own module version - and you want to display the form in a module. Let's say the url of the form is: http://www.yoursite.com/index.php?option=com_myform&formid=123.
Just create a new module of the type 'Custom HTML module' and place this in the content editor:

{component index.php?option=com_myform&formid=123}

PS: You can also use SEF urls inside the {component} tag, but I recommend you use non-SEF urls when possible.

How to get the correct url

As said above, I recommend you use the non-sef url inside the {component} tag.
But getting that url is not that straightforward for some components.

Let's take the Weblinks component as an example. And let's say we want to show all weblinks from category with id 2.

When editing the weblinks in the administrator, you can see option=com_weblinks in the url. And seeing we want to view a category, we can guess that the view part will be category. But that's just guessing. So we don't know if the urls should be index.php?option=com_weblinks&view=category&id=2 or index.php?option=com_weblinks&view=cat&cid=2 or something else. The logic behind the urls differs per component.

So how do we find the correct url?
Well, easiest way is to create a menu item.

When you create a menu item, you need to select the correct menu type - in this case List Web Links in a Category - and select the category you want to use. After saving it, you will see the correct url in the Link field.

menu item

So the tag to use is:
{component index.php?option=com_weblinks&view=category&id=2}

You could now even delete the menu item, as the url used in the {component} tag is not connected to that menu item.

However, in many cases you do want and need a menu item. Because you want to be able to control extra settings.

When simply using the url index.php?option=com_weblinks&view=category&id=2, the Weblinks component will show the weblinks of the requested category, but will use the default settings for everything else. Stuff like whether or not to show the category title and description, whether or not to show subcategories, etc.

Most components need a menu item to be able to set up - or at least override - these extra settings.

So we'll just keep this menu item and set the extra settings we need. However, the url we used in above example still doesn't use that specific menu item. It is still just using the default component view settings.

To tell the url - and therefor Components Anywhere - to use the specific menu item, we need to add the menu item id to the url. We can do this using the Itemid parameter.

To find the menu item id, just look in the menu item list (ID is on the right) or look in the url when editing the menu item in question.

menu url

So in this example the menu item it is 123. Than means the full url to use is:
{component index.php?option=com_weblinks&view=category&id=2&Itemid=123}

Now any changes you make in the menu item settings will also be reflected in the output of the Components Anywhere tag.

PS: If you do not want the menu item to show up in your website menus, just assign it to a hidden menu.

Settings

Components Anywhere has some options, giving you control over how it works and behaves. Here is the full list of the options you can find in the Components Anywhere system plugin settings:

Behaviour

Place HTML comments By default HTML comments are placed around the output of this extension.

These comments can help you troubleshooting when you don't get the output you expect.

If you prefer to not have these comments in your HTML output, turn this option off.
Force Remove tmpl=component Select to remove the tmpl=component from urls inside the rendered component. Only switch this on if you experience issues with urls in the components output generated through Components Anywhere.
Force Itemid Select to force the use of the current Itemid (menu item ID) to the urls inside the rendered component. This might not work with SEF urls.
Keep Component URLs Select to keep the components URLS in the output. Only select this if you find that URLs are not correct.
Enable Caching Select to enable caching of components output.
Timeout Set the maximum time in seconds that may be used by Components Anywhere to load the component. If you experience Components Anywhere showing nothing, you might want to set this value higher or do something about the servers speed.
Force cURL Select to force Components Anywhere to use cURL to load the components. Only switch this on if you experience Components Anywhere outputting incorrect html.
Use Kerberos authentication Select to use the GSS-Negotiate authentication. This is necessary when using Kerberos authenticated sites.
Login Enter the Kerberos authentication login name.
Password Enter the Kerberos authentication password.

Security Options Pro only

Articles

These settings have effect on Articles and Categories.

Enable in articles Select whether to enable the use of the syntax in articles.
Security Level Set the level of security. Components Anywhere tags will be stripped from articles with an owner (creator) below this group level.

Components

These settings have effect on the component area.
You can select in which components Components Anywhere should not be enabled. Advise is to not allow Components Anywhere in components that non-backend users can post content in.

Enable in components Select whether to enable the use of the syntax in components.
Disable on Components Select in which components NOT to enable the use of the syntax in. This is a list of your installed frontend components.
Remove in Disabled Components If selected, the plugin syntax will get removed from the component. If not, the original plugins syntax will remain in tact.

Other Areas

These settings have effect on areas outside the component area (so in Components and the rest of the website).

Enable other areas Select whether to enable the use of the syntax in all remaining areas, like the components. The tag will not be handled/shown in the html head (META tags and such).

Advanced Options

Tag Syntax

Component tag The word to be used in the tags.

Note: If you change this, all existing tags will not work anymore.
Tag Characters The surrounding characters of the tag syntax.

Note: If you change this, all existing tags will not work anymore.

Options: {...}, [...], {{...}}, [[...]], [:...:], [%...%]
FAQs:

The {component} tags are not being converted

The Components Anywhere plugin is not published

Check if the Components Anywhere plugin is published. Go to Extensions >> Plugin manager and search for the system plugin System - Regular Labs - Components Anywhere. Then publish it.

There is markup on the {component} tags

If you have copy/pasted code directly into your editor, you might also have copied along hidden HTML tags. So this will also cause the {component} tags to break:

{<span>component</span> ...}

Remove the extra styling or other html tags around and in the {component} tags that might cause problems.

No component is placed

Components Anywhere will try to load in the given url. When this fails for whatever reason, you will find this Components Anywhere comment in your html output:

The component cannot be placed because an invalid url is given or the page timed out

This can have different reasons.

The url redirects to another url

First check the url directly in your browser. If it redirects - for example: due to SEF settings - then you need to use the final url in the {component} tag.

Joomla settings are conflicting

Make sure the Session Handle is set to Database and the Database Type is set to MySQLi in the Global Configuration.

An extension is blocking the url calls

Some firewall/security extensions will cause issues with Components Anywhere.

If you are using RS Firewall turn off cURL in the Active Scanner settings.

The server blocks cURL

You server might be blocking the use of cURL or fopen calls. To solve this, you need to contact your host.

Free vs Pro:

Place any component::Place any component anywhere on your website using the component tag.

Advanced Security Control::Disable the ability to use the tags by selected User Group Levels and Components.

With Components Anywhere you can place components anywhere in your site. So you can now place a component inside an article or even within modules.

The syntax is super simple. Just place {component url/of/the/component} where you want that component to show.

For instance, you have a form component - that does not come with its own module version - and you want to display the form in a module. Let's say the url of the form is: http://www.yoursite.com/index.php?component=com_myform&formid=123.
Just create a new module of the type 'Custom HTML module' and place this in the content editor:

{component index.php?component=com_myform&formid=123}

PS: You can also use SEF urls inside the {component} tag, but I recommend you use non-SEF urls when possible.