<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://docs.sandbox.joomla.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Wazz</id>
	<title>Joomla! Documentation - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://docs.sandbox.joomla.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Wazz"/>
	<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/Special:Contributions/Wazz"/>
	<updated>2026-08-19T12:13:16Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Talk:How_do_you_redirect_users_after_a_successful_login%3F&amp;diff=101737</id>
		<title>Talk:How do you redirect users after a successful login?</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Talk:How_do_you_redirect_users_after_a_successful_login%3F&amp;diff=101737"/>
		<updated>2013-07-16T16:35:58Z</updated>

		<summary type="html">&lt;p&gt;Wazz: Created page with &amp;quot;the first sentence of this is vague: &amp;quot;Select the redirection page from the list of menu links offered.&amp;quot;  it assumes knowledge of how to begin setting the redirect. i, for exam...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;the first sentence of this is vague: &amp;quot;Select the redirection page from the list of menu links offered.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
it assumes knowledge of how to begin setting the redirect. i, for example, don&#039;t know where to begin and am told to make a selection from a list of menu links. i don&#039;t know where the &#039;list of menu links&#039; is.&lt;/div&gt;</summary>
		<author><name>Wazz</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=How_to_use_user_state_variables&amp;diff=101236</id>
		<title>How to use user state variables</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=How_to_use_user_state_variables&amp;diff=101236"/>
		<updated>2013-06-30T22:50:44Z</updated>

		<summary type="html">&lt;p&gt;Wazz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Joomla! provides built in functionality to make it easy for Joomla! developers to store and retrieve variables that are stored with the session.&lt;br /&gt;
&lt;br /&gt;
==Why should I use the Joomla! User State Variables?==&lt;br /&gt;
Joomla!&#039;s built in session handling capabilities make it easy to retain values of certain variables across page accesses. This makes development much simpler because the developer no longer has to worry about losing variable values if it is left out of a form. Storing variables with sessions also makes the application cleaner and tidier since it reduces the amount of form variables, and persistent variables no longer have to be passed in either the query string (making very long URLs) or in POST variables.&lt;br /&gt;
&lt;br /&gt;
The downside of using session variables is that it makes page URLs stateful. That is, if used improperly, a URL might point to certain information in one context, but different information in another context. This can make search engines less effective since the web crawler might pull up a certain page using a certain URL, that when the user links to the URL from the search engine, might pull up a different page, resulting in user confusion and frustration.&lt;br /&gt;
&lt;br /&gt;
==Setting and retrieving user state variables==&lt;br /&gt;
There are two ways to set user state variables. The first is fairly intuitive, and is done using the [[JApplication/setUserState|JApplication::setUserState]] method. The second is a little less obvious, and uses the [[JApplication/getUserStateFromRequest|JApplication::getUserStateFromRequest]] method. There are also two ways to retrieve user state variables. The first is using the [[JApplication/getUserState|JApplication::getUserState]] method, and the second is to use the [[JApplication/getUserStateFromRequest|JApplication::getUserStateFromRequest]] method. [[JApplication/getUserStateFromRequest|JApplication::getUserStateFromRequest]] can be used to both store and retrieve user state variables.&lt;br /&gt;
&lt;br /&gt;
The following methods are used for accessing the user state variables:&lt;br /&gt;
&lt;br /&gt;
===Method 1: JApplication::setUserState===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$mainframe =&amp;amp; JFactory::getApplication();&lt;br /&gt;
&lt;br /&gt;
// store the variable that we would like to keep for next time&lt;br /&gt;
// function syntax is setUserState( $key, $value );&lt;br /&gt;
$mainframe-&amp;gt;setUserState( &amp;quot;$option.state_variable&amp;quot;, &amp;quot;state1&amp;quot; );&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first parameter is the key under which to store the variable. You will note that in this example the key began with the $option variable. Although the value for $key is arbitrary, it is good practice to use this as a prefix for all user state variables since these are all in the same name space. Using an extension-specific prefix avoids extensions interfering with each other. In the example above, state_variable is the name of the state variable that will be stored, and the second parameter is the value to store with the state variable.&lt;br /&gt;
&lt;br /&gt;
===Method 2: JApplication::getUserStateFromRequest===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$mainframe =&amp;amp; JFactory::getApplication();&lt;br /&gt;
&lt;br /&gt;
// retrieve the value of the state variable. First see if the variable has been passed&lt;br /&gt;
// in the request. Otherwise retrieve the stored value. If none of these are specified,&lt;br /&gt;
// the specified default value will be returned&lt;br /&gt;
// function syntax is getUserStateFromRequest( $key, $request, $default );&lt;br /&gt;
$stateVar = $mainframe-&amp;gt;getUserStateFromRequest( &amp;quot;$option.state_variable&amp;quot;, &#039;state_variable&#039;, &#039;state1&#039; );&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first parameter is the key under which to store the variable. Note again that this is prefixed with the name of the current extension. This method will update the user state variable by looking in the variables that were passed with the request (in either GET or POST) and updating the user state variable if the specified request variable is set. This can be used to set user state variables with values that are passed from forms (i.e. from the user). If an existing value can be found either in the request or in the stored state variable, this is returned. Otherwise, the specified default value is returned (if it is specified), or NULL is returned if no value can be found.&lt;br /&gt;
&lt;br /&gt;
===Method 3: JApplication::getUserState===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$mainframe =&amp;amp; JFactory::getApplication();&lt;br /&gt;
&lt;br /&gt;
// retrieve the value of the state variable. If no value is specified,&lt;br /&gt;
// the specified default value will be returned.&lt;br /&gt;
// function syntax is getUserState( $key, $default );&lt;br /&gt;
$stateVar = $mainframe-&amp;gt;getUserState( &amp;quot;option.state_variable&amp;quot;, &#039;state1&#039; );&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first parameter is the key under which to store the variable. Note again that this is prefixed with the name of the current extension. This method will retrieve the value of the specified user state variable. If this user state variable has not been set, then the value is read from the $default parameter. If the user state variable has not been set and $default is not specified, the method will return NULL.&lt;br /&gt;
&lt;br /&gt;
==A real life example of the use of Joomla! user state variables==&lt;br /&gt;
The following code excerpts are taken from the admin section of the Newsfeed component, which is a core Joomla! component. These snippets are meant to demonstrate how user state variable can be used in an actual application.&lt;br /&gt;
&lt;br /&gt;
===Purpose===&lt;br /&gt;
It will be noticed that in many of the components that have database tables associated with them present to the user a list of items. In the case of the Newsfeed component, the administration section presents to the user a list of Newsfeeds. If there are too many newsfeeds to list on one page, then two variables are used to keep track of where the user is in the list: the limit variable, and the limitstart variable. The Newsfeed component (like other components) uses state variable to store the value of these variables between page requests.&lt;br /&gt;
&lt;br /&gt;
By storing these variable in a state variable, then if a user goes to administer another component or navigates away from the component, then these values are still remembered when the user returns. In addition, these values then only have to be passed if they are being changed. The developer does not have to bother with inserting hidden form feeds to pass these values along.&lt;br /&gt;
&lt;br /&gt;
===Setting and retrieving the variables===&lt;br /&gt;
The following code is user to set and retrieve the values of these variables:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$mainframe =&amp;amp; JFactory::getApplication();&lt;br /&gt;
&lt;br /&gt;
$limit = $mainframe-&amp;gt;getUserStateFromRequest( &amp;quot;limit&amp;quot;, &#039;limit&#039;, $mainframe-&amp;gt;getCfg(&#039;list_limit&#039;) );&lt;br /&gt;
$limitstart = $mainframe-&amp;gt;getUserStateFromRequest( &amp;quot;$option.limitstart&amp;quot;, &#039;limitstart&#039;, 0 );&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first variable that is stored is the limit variable. The limit variable specifies how many records should be retrieved from the database and displayed. It is noted that there is no **$option** prefix in the **$key** parameter. This is because this variable is used as a global parameter (and its initial value is retrieved from the site configuration value). The value is retrieved from the request variable called &#039;limit&#039;. If the state variable has not been specified yet and it is not specified in the request, then the value is retrieved from the site configuration using the [[JApplication/getCfg|JApplication::getCfg]] method.&lt;br /&gt;
&lt;br /&gt;
The second variable that is stored is the limitstart variable. This specifies how many records to skip over before returning records from the database. Each component has its own list and so keeps its own place in its own list. The **$option** parameter in this case has the value &#039;com_newsfeeds&#039;, and so the session variable name is &#039;com_newsfeeds.limitstart&#039;. &lt;br /&gt;
&lt;br /&gt;
===Passing values to JPagination class===&lt;br /&gt;
In this example, the stored values are used as parameters for constructing the pagination class, which helps the developer implement pagination functionality.&lt;br /&gt;
&lt;br /&gt;
Ultimately, this will result in the following form elements being displayed on the page:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;limit&amp;quot;&amp;gt;Display #&lt;br /&gt;
&amp;lt;select name=&amp;quot;limit&amp;quot; id=&amp;quot;limit&amp;quot; class=&amp;quot;inputbox&amp;quot; size=&amp;quot;1&amp;quot; onchange=&amp;quot;document.adminForm.submit();&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;option value=&amp;quot;5&amp;quot;  selected=&amp;quot;selected&amp;quot;&amp;gt;5&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;option value=&amp;quot;10&amp;quot; &amp;gt;10&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;option value=&amp;quot;15&amp;quot; &amp;gt;15&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;option value=&amp;quot;20&amp;quot; &amp;gt;20&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;option value=&amp;quot;25&amp;quot; &amp;gt;25&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;option value=&amp;quot;30&amp;quot; &amp;gt;30&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;option value=&amp;quot;50&amp;quot; &amp;gt;50&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;option value=&amp;quot;100&amp;quot; &amp;gt;100&amp;lt;/option&amp;gt;&amp;lt;/select&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;start&amp;quot;&amp;gt;&amp;lt;span&amp;gt;Start&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;button2-right off&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;prev&amp;quot;&amp;gt;&amp;lt;span&amp;gt;Prev&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;button2-left&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;page&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span&amp;gt;1&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;a title=&amp;quot;2&amp;quot; onclick=&amp;quot;javascript: document.adminForm.limitstart.value=5; document.adminForm.submit();return false;&amp;quot;&amp;gt;2&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;button2-left&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;next&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;a title=&amp;quot;Next&amp;quot; onclick=&amp;quot;javascript: document.adminForm.limitstart.value=5; document.adminForm.submit();return false;&amp;quot;&amp;gt;Next&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;button2-left&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;end&amp;quot;&amp;gt;&amp;lt;a title=&amp;quot;End&amp;quot; onclick=&amp;quot;javascript: document.adminForm.limitstart.value=5; document.adminForm.submit();return false;&amp;quot;&amp;gt;End&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;limit&amp;quot;&amp;gt;&lt;br /&gt;
Results 1 - 5 of 10&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;limitstart&amp;quot; value=&amp;quot;0&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
One may be observant and notice that the values are passed in hidden form elements anyway, and claim therefore that it is really not necessary to use state variables. But this will not help in the situation where the user has navigated away from the component, and it will also not help in the situation which occurs in the list, for example, where each newsfeed is listed and linked using a standard link, and not the form. Using state variables saves having to add limit and limitstart on to the end of these URLs.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
For information on the Joomla! API relating to session variables, please consult the following sources:&lt;br /&gt;
* [[JApplication]]&lt;br /&gt;
* [[JSession]]&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category:Development]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Wazz</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=J1.5:Creating_a_submenu&amp;diff=101221</id>
		<title>J1.5:Creating a submenu</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=J1.5:Creating_a_submenu&amp;diff=101221"/>
		<updated>2013-06-30T01:11:20Z</updated>

		<summary type="html">&lt;p&gt;Wazz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In Joomla!, submenus can be shown either as one menu with two or more levels or as completely separate menu modules. To show how to do this, we will step through creating a two-level menu and then see how to show it either as one large menu or as separate parent and child menus.&lt;br /&gt;
&lt;br /&gt;
==Sample Data==&lt;br /&gt;
In our example, we will create a menu called &amp;quot;Pets&amp;quot;. It will have two top-level menu items called &amp;quot;Dogs&amp;quot; and &amp;quot;Cats&amp;quot;. Under Dogs, we will have &amp;quot;Collies&amp;quot; and &amp;quot;Greyhounds&amp;quot;. Under Cats we will have &amp;quot;Tabbies&amp;quot; and &amp;quot;Siamese&amp;quot;. So the structure of the Pets menu will be as follows:&lt;br /&gt;
*Dogs&lt;br /&gt;
**Collies&lt;br /&gt;
**Greyhounds&lt;br /&gt;
*Cats&lt;br /&gt;
**Tabbies&lt;br /&gt;
**Siamese&lt;br /&gt;
&lt;br /&gt;
==Menu and Menu Items==&lt;br /&gt;
To create this structure, we create one menu with two levels of Menu Items. Note that we do this whether we want to have everything shown as one large menu or whether we want to create separate menu modules (one parent menu and two child menus). We&#039;ll see how to do this later on, when we create the modules.&lt;br /&gt;
&lt;br /&gt;
Here are the steps to create the Menu and Menu Items.&lt;br /&gt;
# Create a new Menu in the Menu Manager called &amp;quot;Pets&amp;quot;. &lt;br /&gt;
# Add a new Menu Item called &amp;quot;Dogs&amp;quot;. For this example, we don&#039;t really care what the type of the Menu Items is. For example, you can just create one article called &amp;quot;Pet Menu Test&amp;quot; and then create all of the Menu Items as type &#039;&#039;&#039;Article &amp;amp;rarr; Article Layout&#039;&#039;&#039; and point to this article.&lt;br /&gt;
# Add a second Menu Item called &amp;quot;Collies&amp;quot; (again, Menu Type of Article Layout as above). In the Parent Item box, select &amp;quot;Dogs&amp;quot;, as shown below: [[Image:submenu_example1.png|frame|center]]&lt;br /&gt;
# Add a third Menu Item called &amp;quot;Greyhounds&amp;quot;, again making &amp;quot;Dogs&amp;quot; the Parent Item. (Remember, these can all point to the same article.)&lt;br /&gt;
# Add the &amp;quot;Cats&amp;quot; Menu Item. Be sure to make the Parent Item for this &amp;quot;Top&amp;quot;.&lt;br /&gt;
# Add the last two Menu Items, &amp;quot;Tabbies&amp;quot; and &amp;quot;Siamese&amp;quot;, making &amp;quot;Cats&amp;quot; the Parent Item for both.&lt;br /&gt;
&lt;br /&gt;
When you get done, the Menu Item Manager should look like the following:[[Image:submenu_example2.png|frame|center]]&lt;br /&gt;
&lt;br /&gt;
==Menu Modules==&lt;br /&gt;
At this point, we&#039;ve got the Menu and Menu Items done. Now we need to create the Menu Modules. In Joomla!, the Menu Module determines three main things: (1) what the menu looks like; (2) where on the page it will show; and (3) on which pages it will show. We will do two examples. In the first example, we will create one Menu Module that shows all of the items in one menu. In the second, we will create three separate menu modules to show the Pets, Dogs, and Cats menus as separate modules.&lt;br /&gt;
&lt;br /&gt;
===One Menu Module===&lt;br /&gt;
To show this as one module, follow these steps:&lt;br /&gt;
# Navigate to Extensions &amp;amp;rarr; Module Manager, click the &amp;quot;New&amp;quot; icon in the toolbar, and select &amp;quot;Menu&amp;quot;.&lt;br /&gt;
# Enter the Title as &amp;quot;Pets Menu&amp;quot; and Position as &amp;quot;left&amp;quot;.&lt;br /&gt;
# In the Menu Assignment, enter &amp;quot;Select Menu Item(s) from the List&amp;quot; and select &amp;quot;Home&amp;quot; (under &amp;quot;mainmenu&amp;quot;), and all of the Menu Items under the &amp;quot;pets-menu&amp;quot;.&lt;br /&gt;
# In Menu Name, select &amp;quot;pets-menu&amp;quot; from the drop-down list box. &lt;br /&gt;
# If you are using the default &amp;quot;rhuk_milkyway&amp;quot; template and want the menu to look like the other menus, in the Advanced Parameters enter &amp;quot;_menu&amp;quot; for Module Class Suffix.&lt;br /&gt;
&lt;br /&gt;
Now, navigate to the front-end home page. You should see the Pets Menu as shown below:[[Image:submenu_example3.png|frame|center]]Click on the Dogs Menu Item. The selected article displays and the Dogs menu expands to show the two submenu items, Collies and Greyhounds. Note that we can set a parameter in the Module Manager to always show submenu items. Here we have taken the default value of &amp;quot;No&amp;quot;.  &lt;br /&gt;
&lt;br /&gt;
Click on &amp;quot;Collies&amp;quot; and again the article changes. (Or it would if we had different articles for each Menu Item!) The screen should look like the one below: [[Image:submenu_example4.png|frame|center]]&lt;br /&gt;
&lt;br /&gt;
Notice that the Breadcrumbs now shows three levels: Home, Dogs, Collies. Because we used submenus, Joomla! &amp;quot;knows&amp;quot; that Collies is under Dogs.&lt;br /&gt;
&lt;br /&gt;
===Separate Menu Modules===&lt;br /&gt;
Now we will change our example to create three separate menus -- one for the top level (Dogs and Cats), one for the Dogs (Collies and Greyhounds), and one for the Cats (Tabbies and Siamese). &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;Note: Make sure that your Menu Items each have a unique Alias value. If you use the Copy command in the toolbar of the Menu Item Manager to create these Menu Items, the Alias will be the same as the item being copied. In this case, just edit the Alias value to make it unique (for example, the same as the Title). If you have duplicate Alias values, the menus will not work correctly if the parameter SEF URLs is set to Yes in Global Configuration.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To do this:&lt;br /&gt;
# Open the Pets Menu in the Module Manager and change the Title to &amp;quot;Pets Menu Top Level Only&amp;quot;.&lt;br /&gt;
# Select the Left Position.&lt;br /&gt;
# Under Module Parameters, select the Menu Name &amp;quot;Pets Menu&amp;quot;&lt;br /&gt;
# Under Module Parameters, change the Menu Style to &amp;quot;List&amp;quot;.&lt;br /&gt;
# Set the Start Level to &amp;quot;0&amp;quot; and the End Level to &amp;quot;1&amp;quot;.&lt;br /&gt;
# &#039;&#039;This is optional. It allows your template to apply special a menu style to the menu (a border, for example).&#039;&#039; In Advanced Module Parameters put &amp;quot;_menu&amp;quot; in Module Class Suffix.&lt;br /&gt;
# For submenu Dog, in extensions menu select Module Manager, click New and select Menu, and set the title to &amp;quot;Dogs Submenu&amp;quot;.&lt;br /&gt;
# Set the Position to &amp;quot;Left&amp;quot;.&lt;br /&gt;
# &#039;&#039;Now this part is very important.&#039;&#039; We only want this submenu to show when we are in one of the Dogs Menu Items. So, in the Menu Assignment box, select the three items &amp;quot;Dogs&amp;quot;, &amp;quot;Collies&amp;quot;, and &amp;quot;Greyhounds&amp;quot;, as shown below: [[Image:submenu_example5.png|frame|center]]&lt;br /&gt;
# Under Module Parameters, select the menu name &amp;quot;Pets Menu&amp;quot; and change the Menu Style to &amp;quot;List&amp;quot;.&lt;br /&gt;
# Set the Start Level to &amp;quot;1&amp;quot; and End Level &amp;quot;2&amp;quot;.&lt;br /&gt;
# &#039;&#039;This is optional.&#039;&#039; In Advanced Module Parameters, set Module Class Suffix to &amp;quot;_menu&amp;quot;.&lt;br /&gt;
# For the &amp;quot;Cats Submenu&amp;quot;, repeat steps from 7 to 12 except step 9. In the Menu Assignment box, select the items &amp;quot;Cat&amp;quot;, &amp;quot;Tabbies&amp;quot; and &amp;quot;Siamese&amp;quot; (so this menu will only show under these Menu Items).&lt;br /&gt;
&lt;br /&gt;
At this point, we have three menu modules all pointing to the Pets Menu. The only differences between them are (1) the Start and End Levels and (2) the Menu Item Assignment. &lt;br /&gt;
&lt;br /&gt;
Now, in the front end, navigate to the Home page. The &amp;quot;Pets Menu Top Level Only&amp;quot; menu should show. Select the &amp;quot;Dogs&amp;quot; Menu Item. Now, the &amp;quot;Dogs Submenu&amp;quot; should show as a separate menu, as shown below:[[Image:submenu_example7.png|frame|center]]&lt;br /&gt;
&lt;br /&gt;
Click on the Collies Menu Item and notice that again the Breadcrumbs shows the hierarchy of &amp;quot;Home&amp;quot;, &amp;quot;Dogs&amp;quot;, and &amp;quot;Collies&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Using this same technique, it is easy to create third-level submenus. You just make the Parent Menu Item a second-level submenu. Then you could use the same technique to create a separate Menu Module with Start Level of 2 and End Level of 3. This would show only the third-level Menu Items.&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;br /&gt;
[[Category:Menu Management]]&lt;/div&gt;</summary>
		<author><name>Wazz</name></author>
	</entry>
</feed>