Skip to main content

Creating Joomla Component Submenus


Simply we can add joomla component sub menu using component installation xml file. For that you need to include fallowing xml elements in your xml file inside com installation zip file.




Main Menu
Name/Component Name



Menu Item 1
Menu Item 2
Menu Item 3
Menu Item 4
Menu Item 5





if some one need to add additional sub menus when already installed component you can add those using simple direct DB insert operation.

Steps:
1. Go to the joomla database.
2. Select "DBfrefix_components" table.
3. Get component id by doing some search for "name" column and select its "id".
4. Now add your desired sub menu as fallow.


INSERT INTO `jos_components` (`id`, `name`, `link`, `menuid`, `parent`,

`admin_menu_link`, `admin_menu_alt`, `option`, `ordering`, `admin_menu_img`,

`iscore`, `params`, `enabled`) VALUES

(1, 'Main Menu Name/Component Name', 'option=com_componentname'
, 0, 0,'option= com_componentname', 'Main Menu Name/Component Name',

'com_componentname', 0, 'path to icon file', 0, '', 1 )


id: Auto increment field.
parent: Represent the searched result id as component id (step 03).
name: Name for menu.
admin_menu_link: Link of menu (Eg : option=com_clienti&task=categoryselect).
option : Parent component (Eg : com_clienti)
admin_menu_alt : Menu alt
ordering : Order for display menu.
admin_menu_img : Menu icon image source.
enabled : Enable menu.

Comments

Post a Comment

Popular posts from this blog

How to extract vtiger DB data

Here is the code sample how extract data form vtiger DB with WHERE close. Sample:1 require_once('include/DatabaseUtil.php'); global $adb; $tabid = array('9','16'); $sql = "SELECT tabid, fieldname, fieldid, fieldlabel,columnname, tablename, uitype, typeofdata, presence FROM vtiger_field WHERE tabid in (" . generateQuestionMarks($tabid) . ")"; $result = $adb->pquery($sql, array($tabid)); // get result $noofrows = $adb->num_rows($result); // get number of rows $i=0; $data=array(); while($resultrow = $adb->fetch_array($result)) { $tabid=$resultrow['tabid']; $resultrow=['fieldlabel']; $data[$i]=array($tabid, $resultrow); } Sample:2 require_once('include/DatabaseUtil.php'); global $adb; $query = 'select idlists,from_email,to_email,cc_email,bcc_email from vtiger_emaildetails where emailid =?'; $result = $adb->pquery($query, array($focus->id)); $from_email = $adb->query_result($result,0,'from_

How to add a new column to vtiger existing table

When we add a new column to existing vtiger table, we need do more than just adding a column to selected vtiger table. If you do so, you may unable to do some DB operation like insert update and deleted. This is the way how we can do this. 1. Add a new column to selected table as normal 2. Add a new row to "vtiger_field" table as fallow "insert into vtiger_field values (tabid, fieldid, columnname, tablename, generatedtype, uitype, fieldname, fieldlabel, readonly, presence, selected,maximumlength, sequence, block, displaytype, typeofdata, quickcreate,quickcreatesequence, info_type)" When you set a value to "presence" field be make sure to select 0 or 2. Otherwise your selected field not populated with vtiger field list.

Debugging PHP with Netbeans

Most of the PHP developers are complaining that they have not a good ID for PHP debugging and every time that they have to use var_dump() print statement or PHP die or exit commands to check the state of php script. But now we can use netbeans to overcome this issue with netbeans-xdebug. I tried this with Linux and feel that working it cool. Anyway still I had not a time to try out this with windows and hope that netbeans-xdebuger working fine with windows also. Now I am going to explain how we can enable netbeans-xdebuger in Ubuntu 1. First we should have a netbeans installation package (Download from here ) 2. After installing Netbeans we can install xdebuger. To do that open terminal and type fallowing commands. sudo apt-get install php5-dev php-pear sudo pecl install xdebug 3. Now you have installed xdebug successfully but not configure with PHP yet. To Configure xdebuger with php and netbeans ID. open php.ini file using this command; sudo gedit /etc/php5/apache2/php.ini A