I am having a custom module. I want it to appear in the permissions section. I define menus in my config.xml file as -
<config>
<modules>
<Inventory_Uploads>
<version>1.4.0</version>
</Inventory_Uploads>
</modules>
<frontend>
<routers>
<uploads>
<use>standard</use>
<args>
<module>Inventory_Uploads</module>
<frontName>uploads</frontName>
</args>
</uploads>
</routers>
<layout>
<updates>
<uploads>
<file>uploads.xml</file>
</uploads>
</updates>
</layout>
</frontend>
<admin>
<routers>
<uploads>
<use>admin</use>
<args>
<module>Inventory_Uploads</module>
<frontName>uploads</frontName>
</args>
</uploads>
</routers>
</admin>
<adminhtml>
<menu>
<uploads module="uploads">
<title>Band Config</title>
<sort_order>71</sort_order>
<children>
<sub_menu1 translate="title">
<title>Config Menu</title>
<sort_order>10</sort_order>
<action>uploads/adminhtml_uploads</action>
</sub_menu1>
</children>
</uploads>
</menu>
<acl>
<resources>
<admin>
<children>
<uploads translate="title" module="uploads">
<title>Band Config</title>
<sort_order>71</sort_order>
<action>uploads/adminhtml_uploads</action>
<children>
<items module="uploads">
<title>Config Menu</title>
<sort_order>10</sort_order>
<action>uploads/adminhtml_uploads</action>
</items>
</children>
</uploads>
</children>
</admin>
</resources>
</acl>
<layout>
<updates>
<uploads>
<file>uploads.xml</file>
</uploads>
</updates>
</layout>
</adminhtml>
<global>
<models>
<uploads>
<class>Inventory_Uploads_Model</class>
<resourceModel>uploads_mysql4</resourceModel>
</uploads>
<uploads_mysql4>
<class>Inventory_Uploads_Model_Mysql4</class>
<entities>
<order><table>admin_user</table></order>
</entities>
</uploads_mysql4>
</models>
<resources>
<uploads_setup>
<setup>
<module>Inventory_Uploads</module>
<class>Mage_Sales_Model_Mysql4_Setup</class>
</setup>
<connection>
<use>core_setup</use>
</connection>
</uploads_setup>
<uploads_write>
<connection>
<use>core_write</use>
</connection>
</uploads_write>
<uploads_read>
<connection>
<use>core_read</use>
</connection>
</uploads_read>
</resources>
<blocks>
<uploads>
<class>Inventory_Uploads_Block</class>
</uploads>
</blocks>
<helpers>
<uploads>
<class>Inventory_Uploads_Helper</class>
</uploads>
</helpers>
</global>
</config>
It appears in the permission section. When I select them and save, they gets saved properly. But when I assign that role to any user and login then sub-menu not appears there. It only shows "Band Config" as menu but does not show it's submenu "Config Menu". Is there any tag error in xml?
Any help appreciated.
Thanks.
The name of the children in section must be the same as defined in your section, sub_menu1.
Try with this configuration :
<acl>
<resources>
<admin>
<children>
<uploads translate="title" module="uploads">
<title>Band Config</title>
<sort_order>71</sort_order>
<action>uploads/adminhtml_uploads</action>
<children>
<sub_menu1 module="uploads">
<title>Config Menu</title>
<sort_order>10</sort_order>
<action>uploads/adminhtml_uploads</action>
</sub_menu1>
</children>
</uploads>
</children>
</admin>
</resources>
</acl>
Related
I had installed a custom extension on both live and local server. It is running fine on local server but gives issues i.e. redirects to frontend and gives 404 page not found error when I click on custom extension page in admin.
Below is my config.xml and extension.xml file code:
config.xml:
<?xml version="1.0"?>
<config>
<modules>
<Submitdigital_CustomLogo>
<version>0.1.0</version> <!-- Version number of your module -->
</Submitdigital_CustomLogo>
</modules>
<global>
<helpers>
<customlogo>
<class>Submitdigital_CustomLogo_Helper</class>
</customlogo>
</helpers>
<blocks>
<customlogo>
<class>Submitdigital_CustomLogo_Block</class>
</customlogo>
</blocks>
<models>
<customlogo>
<class>Submitdigital_CustomLogo_Model</class>
<resourceModel>customlogo_mysql4</resourceModel>
</customlogo>
<customlogo_mysql4>
<class>Submitdigital_CustomLogo_Model_Mysql4</class>
<entities>
<customlogo>
<table>customlogo</table>
</customlogo>
</entities>
</customlogo_mysql4>
</models>
<resources>
<customlogo_setup>
<setup>
<module>Submitdigital_CustomLogo</module>
<class>Mage_Eav_Model_Entity_Setup</class>
</setup>
<connection>
<use>core_setup</use>
</connection>
</customlogo_setup>
<customlogo_write>
<connection>
<use>core_write</use>
</connection>
</customlogo_write>
<customlogo_read>
<connection>
<use>core_read</use>
</connection>
</customlogo_read>
</resources>
</global>
<admin>
<routers>
<admin_customlogo>
<use>admin</use>
<args>
<module>Submitdigital_CustomLogo</module>
<frontName>admin_customlogo</frontName>
</args>
</admin_customlogo>
</routers>
</admin>
<adminhtml>
<menu>
<customlogo>
<title>SubmitDigital</title>
<sort_order>100</sort_order>
<children>
<customlogo>
<title>Manage Customlogo</title>
<sort_order>0</sort_order>
<action>customlogo/adminhtml_customlogo</action>
</customlogo>
</children>
</customlogo>
</menu>
<acl>
<resources>
<all>
<title>Allow Everything</title>
</all>
<admin>
<children>
<customlogo translate="title">
<title>SubmitDigital</title>
<sort_order>1000</sort_order>
<children>
<customlogo translate="title">
<title>Manage Customlogo</title>
<sort_order>0</sort_order>
</customlogo>
</children>
</customlogo>
</children>
</admin>
</resources>
</acl>
<layout>
<updates>
<customlogo>
<file>customlogo.xml</file>
</customlogo>
</updates>
</layout>
</adminhtml>
<frontend>
<routers>
<customlogo>
<use>standard</use>
<args>
<module>Submitdigital_CustomLogo</module>
<frontName>customlogo</frontName>
</args>
</customlogo>
</routers>
<layout>
<updates>
<customlogo>
<file>customlogo.xml</file>
</customlogo>
</updates>
</layout>
</frontend>
</config>
extension.xml(customlogo.xml):
<?xml version="1.0"?>
<layout version="0.1.0">
<customlogo_adminhtml_customlogo_index>
<reference name="content">
<block type="customlogo/adminhtml_customlogo" name="customlogo" />
</reference>
</customlogo_adminhtml_customlogo_index>
</layout>
I have a modules for Magento, when I try to assign permissions for other users apart from Admin role to the module (check the checkbox) when I click save it unchecks the box. I have looked through other solutions but still wasn't able to solve it. Please kindly help.
<config>
<modules>
<D3_Newsladdressimport>
<version>0.2.0</version>
</D3_Newsladdressimport>
</modules>
<frontend>
<routers>
<newsladdressimport>
<use>standard</use>
<args>
<module>D3_Newsladdressimport</module>
<frontName>newsladdressimport</frontName>
</args>
</newsladdressimport>
</routers>
<layout>
<updates>
<newsladdressimport>
<file>newsladdressimport.xml</file>
</newsladdressimport>
</updates>
</layout>
</frontend>
<admin>
<routers>
<newsladdressimport>
<use>admin</use>
<args>
<module>D3_Newsladdressimport</module>
<frontName>newsladdressimport</frontName>
</args>
</newsladdressimport>
</routers>
</admin>
<adminhtml>
<menu>
<newsletter>
<children>
<newsladdressimport module="newsladdressimport">
<title>Newsletter Address Import</title>
<sort_order>71</sort_order>
<action>newsladdressimport/adminhtml_newsladdressimport</action>
</newsladdressimport>
</children>
</newsletter>
</menu>
<acl>
<resources>
<all>
<title>Allow Everything</title>
</all>
<admin>
<children>
<newsletter>
<children>
<D3_Newsladdressimport>
<title>Newsladdressimport Module</title>
<sort_order>10</sort_order>
</D3_Newsladdressimport>
</children>
</newsletter>
</children>
</admin>
</resources>
</acl>
<layout>
<updates>
<newsladdressimport>
<file>newsladdressimport.xml</file>
</newsladdressimport>
</updates>
</layout>
<translate>
<modules>
<newsladdressimport>
<files>
<default>D3_Newsladdressimport.csv</default>
</files>
</newsladdressimport>
</modules>
</translate>
</adminhtml>
<global>
<models>
<newsladdressimport>
<class>D3_Newsladdressimport_Model</class>
<resourceModel>newsladdressimport_mysql4</resourceModel>
</newsladdressimport>
<newsladdressimport_mysql4>
<class>D3_Newsladdressimport_Model_Mysql4</class>
<entities>
<newsladdressimport>
<table>newsladdressimport</table>
</newsladdressimport>
</entities>
</newsladdressimport_mysql4>
</models>
<resources>
<newsladdressimport_setup>
<setup>
<module>D3_Newsladdressimport</module>
</setup>
<connection>
<use>core_setup</use>
</connection>
</newsladdressimport_setup>
<newsladdressimport_write>
<connection>
<use>core_write</use>
</connection>
</newsladdressimport_write>
<newsladdressimport_read>
<connection>
<use>core_read</use>
</connection>
</newsladdressimport_read>
</resources>
<blocks>
<newsladdressimport>
<class>D3_Newsladdressimport_Block</class>
</newsladdressimport>
</blocks>
<helpers>
<newsladdressimport>
<class>D3_Newsladdressimport_Helper</class>
</newsladdressimport>
</helpers>
</global>
</config>
Use following code for working access right.
<config>
<modules>
<D3_Newsladdressimport>
<version>0.2.0</version>
</D3_Newsladdressimport>
</modules>
<frontend>
<routers>
<newsladdressimport>
<use>standard</use>
<args>
<module>D3_Newsladdressimport</module>
<frontName>newsladdressimport</frontName>
</args>
</newsladdressimport>
</routers>
<layout>
<updates>
<newsladdressimport>
<file>newsladdressimport.xml</file>
</newsladdressimport>
</updates>
</layout>
</frontend>
<admin>
<routers>
<newsladdressimport>
<use>admin</use>
<args>
<module>D3_Newsladdressimport</module>
<frontName>newsladdressimport</frontName>
</args>
</newsladdressimport>
</routers>
</admin>
<adminhtml>
<menu>
<newsletter>
<children>
<newsladdressimport module="newsladdressimport">
<title>Newsletter Address Import</title>
<sort_order>71</sort_order>
<action>newsladdressimport/adminhtml_newsladdressimport</action>
</newsladdressimport>
</children>
</newsletter>
</menu>
<acl>
<resources>
<all>
<title>Allow Everything</title>
</all>
<admin>
<children>
<newsletter>
<children>
<newsladdressimport>
<title>Newsletter Address Import</title>
<sort_order>71</sort_order>
</newsladdressimport>
</children>
</newsletter>
</children>
</admin>
</resources>
</acl>
<layout>
<updates>
<newsladdressimport>
<file>newsladdressimport.xml</file>
</newsladdressimport>
</updates>
</layout>
<translate>
<modules>
<newsladdressimport>
<files>
<default>D3_Newsladdressimport.csv</default>
</files>
</newsladdressimport>
</modules>
</translate>
</adminhtml>
<global>
<models>
<newsladdressimport>
<class>D3_Newsladdressimport_Model</class>
<resourceModel>newsladdressimport_mysql4</resourceModel>
</newsladdressimport>
<newsladdressimport_mysql4>
<class>D3_Newsladdressimport_Model_Mysql4</class>
<entities>
<newsladdressimport>
<table>newsladdressimport</table>
</newsladdressimport>
</entities>
</newsladdressimport_mysql4>
</models>
<resources>
<newsladdressimport_setup>
<setup>
<module>D3_Newsladdressimport</module>
</setup>
<connection>
<use>core_setup</use>
</connection>
</newsladdressimport_setup>
<newsladdressimport_write>
<connection>
<use>core_write</use>
</connection>
</newsladdressimport_write>
<newsladdressimport_read>
<connection>
<use>core_read</use>
</connection>
</newsladdressimport_read>
</resources>
<blocks>
<newsladdressimport>
<class>D3_Newsladdressimport_Block</class>
</newsladdressimport>
</blocks>
<helpers>
<newsladdressimport>
<class>D3_Newsladdressimport_Helper</class>
</newsladdressimport>
</helpers>
</global>
</config>
In your code you have made following mistake.
You have to give same name identifier in menu as well as in acl.
<menu>
<newsletter>
<children>
<newsladdressimport module="newsladdressimport">
<title>Newsletter Address Import</title>
<sort_order>71</sort_order>
<action>newsladdressimport/adminhtml_newsladdressimport</action>
</newsladdressimport>
</children>
</newsletter>
</menu>
here you have given name <newsladdressimport module="newsladdressimport">
and in ACL you have given <D3_Newsladdressimport>
Hope it helps :)
I am new to magento and making a custom module and want to work on admin end but after installing extension I get this error:
Fatal error: Class 'Submitdigital_CustomLogo_Helper_Data' not found in /var/zpanel/hostdata/zadmin/public_html/unisport_com/app/Mage.php on line 547
After insatalling extension when I clear cashe it give me this error. After somestudy I found that the error is due to this file at path:
app/code/local/Submitdigital/CustomLogo/etc/config.xml
<?xml version="1.0"?>
<config>
<modules>
<Submitdigital_CustomLogo>
<version>0.1.0</version>
</Submitdigital_CustomLogo>
</modules>
<global>
<helpers>
<customlogo>
<class>Submitdigital_CustomLogo_Helper</class>
</customlogo>
</helpers>
<blocks>
<customlogo>
<class>Submitdigital_CustomLogo_Block</class>
</customlogo>
</blocks>
<models>
<customlogo>
<class>Submitdigital_CustomLogo_Model</class>
<resourceModel>customlogo_mysql4</resourceModel>
</customlogo>
<customlogo_mysql4>
<class>Submitdigital_CustomLogo_Model_Mysql4</class>
<entities>
<customlogo>
<table>customlogo</table>
</customlogo>
</entities>
</customlogo_mysql4>
</models>
<resources>
<customlogo_setup>
<setup>
<module>Submitdigital_CustomLogo</module>
<class>Mage_Eav_Model_Entity_Setup</class>
</setup>
<connection>
<use>core_setup</use>
</connection>
</customlogo_setup>
<customlogo_write>
<connection>
<use>core_write</use>
</connection>
</customlogo_write>
<customlogo_read>
<connection>
<use>core_read</use>
</connection>
</customlogo_read>
</resources>
</global>
<admin>
<routers>
<admin_customlogo>
<use>admin</use>
<args>
<module>Submitdigital_CustomLogo</module>
<frontName>admin_customlogo</frontName>
</args>
</admin_customlogo>
</routers>
</admin>
<adminhtml>
<menu>
<customlogo module="customlogo">
<title>SubmitDigital</title>
<sort_order>100</sort_order>
<children>
<customlogo module="customlogo">
<title>Manage Customlogo</title>
<sort_order>0</sort_order>
<action>customlogo/adminhtml_customlogo</action>
</customlogo>
</children>
</customlogo>
</menu>
<acl>
<resources>
<all>
<title>Allow Everything</title>
</all>
<admin>
<children>
<customlogo translate="title" module="customlogo">
<title>SubmitDigital</title>
<sort_order>1000</sort_order>
<children>
<customlogo translate="title">
<title>Manage Customlogo</title>
<sort_order>0</sort_order>
</customlogo>
</children>
</customlogo>
</children>
</admin>
</resources>
</acl>
<layout>
<updates>
<customlogo>
<file>customlogo.xml</file>
</customlogo>
</updates>
</layout>
</adminhtml>
<frontend>
<routers>
<customlogo>
<use>standard</use>
<args>
<module>Submitdigital_CustomLogo</module>
<frontName>customlogo</frontName>
</args>
</customlogo>
</routers>
<layout>
<updates>
<customlogo>
<file>customlogo.xml</file>
</customlogo>
</updates>
</layout>
</frontend>
</config>
all goes well with the file but when I add <adminhtml>...</adminhtml> in the file it gives the above error and hence I am not able to see anything at my admin end.
Please Help
here is my customlogo.xml
<?xml version="1.0"?>
<layout version="0.1.0">
<customlogo_adminhtml_customlogo_index>
<reference name="content">
<block type="customlogo/adminhtml_customlogo" name="customlogo" />
</reference>
</customlogo_adminhtml_customlogo_index>
</layout>
You have to create the helper class to fix this issue.
app/code/local/Submitdigital/CustomLogo/Helper/Data.php
class Submitdigital_CustomLogo_Helper_Data extends Mage_Core_Helper_Abstract
{
}
You have the following code to call the helper
<customlogo module="customlogo">
Here
module parameter is used to call the helper for translation.
I have created a custom module 'Measurement'.and the frontend url is http://urbanior.grapesdigital.com/measurement/.
I want to add a link in left side like Measurements in my account page. so I added this in my measurement.xml page
measuement.xml
<customer_account>
<reference name="customer_account_navigation">
<action method="addLink" translate="label" module="measurement"><name>grapes_measurement</name><path>measurement/</path><label>Measurements</label></action>
</reference>
</customer_account>
config.xml
<?xml version="1.0"?>
<config>
<modules>
<Grapes_Measurement>
<version>0.1.0</version>
</Grapes_Measurement>
</modules>
<frontend>
<routers>
<measurement>
<use>standard</use>
<args>
<module>Grapes_Measurement</module>
<frontName>measurement</frontName>
</args>
</measurement>
</routers>
<layout>
<updates>
<measurement>
<file>measurement.xml</file>
</measurement>
</updates>
</layout>
</frontend>
<global>
<helpers>
<measurement>
<class>Grapes_Measurement_Helper</class>
</measurement>
</helpers>
<blocks>
<measurement>
<class>Grapes_Measurement_Block</class>
</measurement>
</blocks>
<models>
<measurement>
<class>Grapes_Measurement_Model</class>
<resourceModel>measurement_mysql4</resourceModel>
</measurement>
<measurement_mysql4>
<class>Grapes_Measurement_Model_Mysql4</class>
<entities>
<measurement>
<table>measurements</table>
</measurement>
</entities>
</measurement_mysql4>
</models>
<resources>
<measurement_setup>
<setup>
<module>Grapes_Measurement</module>
</setup>
<connection>
<use>core_setup</use>
</connection>
</measurement_setup>
<measurement_write>
<connection>
<use>core_write</use>
</connection>
</measurement_write>
<measurement_read>
<connection>
<use>core_read</use>
</connection>
</measurement_read>
</resources>
</global>
<admin>
<routers>
<measurement>
<use>admin</use>
<args>
<module>Grapes_Measurement</module>
<frontName>admin_measurement</frontName>
</args>
</measurement>
</routers>
</admin>
<adminhtml>
<menu>
<measurement module="measurement">
<title>Measurement</title>
<sort_order>100</sort_order>
<children>
<measurement module="measurement">
<title>Manage Measurement</title>
<sort_order>0</sort_order>
<action>admin_measurement/adminhtml_measurement</action>
</measurement>
</children>
</measurement>
</menu>
<acl>
<resources>
<all>
<title>Allow Everything</title>
</all>
<admin>
<children>
<measurement translate="title" module="measurement">
<title>Measurement</title>
<sort_order>1000</sort_order>
<children>
<measurement translate="title">
<title>Manage Measurement</title>
<sort_order>0</sort_order>
</measurement>
</children>
</measurement>
</children>
</admin>
</resources>
</acl>
<layout>
<updates>
<measurement>
<file>measurement.xml</file>
</measurement>
</updates>
</layout>
</adminhtml>
</config>
But when I click on this link, it shows the url like http://urbanior.grapesdigital.com/admin_measurement/
It is taking the admin route path instead of frontend path. I don't know how to resolve this issue. It opens the same page but URL is different.
please check in config.xml you have same route "measurement" for admin please remove admin route or change it.
I am trying to install 2 plugins for magento: free-testimonial and MW_EasyTestimonial.
During installation I found that 2 plugins using the same names:
file app\code\community\Magebuzz\Testimonial\etc\config.xml:
<default>
<testimonial>
<general_option>
<show_link_testimonial>1</show_link_testimonial>
<enable_sidebar>1</enable_sidebar>
<enable_testimonial_paging>1</enable_testimonial_paging>
<divide_page>9, 15, 30, 'all'</divide_page>
<max_testimonials_sidebar>3</max_testimonials_sidebar>
<testimonial_sidebar_slider>0</testimonial_sidebar_slider>
</general_option>
<testimonial_options>
<testimonial_captcha_enabled>1</testimonial_captcha_enabled>
<allow_customers_write_testimonial >1</allow_customers_write_testimonial >
<allow_guest_write_testimonial>0</allow_guest_write_testimonial>
<approve_testimonial>1</approve_testimonial>
<thank_message><![CDATA[Your testimonial was successfully posted and waiting for approval.]]></thank_message>
</testimonial_options>
<email_configuration>
<send_email_after_post_testimonial>0</send_email_after_post_testimonial>
<send_email_after_approve_testimonial>0</send_email_after_approve_testimonial>
<select_template_post>testimonial_email_configuration_select_template_post</select_template_post>
<select_template_approve>testimonial_email_configuration_select_template_approve</select_template_approve>
</email_configuration>
</testimonial>
</default>
<modules>
<Magebuzz_Testimonial>
<version>0.1.4</version>
</Magebuzz_Testimonial>
</modules>
<frontend>
<routers>
<testimonial>
<use>standard</use>
<args>
<module>Magebuzz_Testimonial</module>
<frontName>testimonial</frontName>
</args>
</testimonial>
</routers>
<layout>
<updates>
<testimonial>
<file>testimonial.xml</file>
</testimonial>
</updates>
</layout>
</frontend>
<admin>
<routers>
<testimonial>
<use>admin</use>
<args>
<module>Magebuzz_Testimonial</module>
<frontName>testimonial</frontName>
</args>
</testimonial>
</routers>
</admin>
<adminhtml>
<layout>
<updates>
<testimonial>
<file>testimonial.xml</file>
</testimonial>
</updates>
</layout>
</adminhtml>
<global>
<models>
<testimonial>
<class>Magebuzz_Testimonial_Model</class>
<resourceModel>testimonial_mysql4</resourceModel>
</testimonial>
<testimonial_mysql4>
<class>Magebuzz_Testimonial_Model_Mysql4</class>
<entities>
<testimonial>
<table>simple_testimonial</table>
</testimonial>
</entities>
</testimonial_mysql4>
</models>
<resources>
<testimonial_setup>
<setup>
<module>Magebuzz_Testimonial</module>
</setup>
<connection>
<use>core_setup</use>
</connection>
</testimonial_setup>
<testimonial_write>
<connection>
<use>core_write</use>
</connection>
</testimonial_write>
<testimonial_read>
<connection>
<use>core_read</use>
</connection>
</testimonial_read>
</resources>
<blocks>
<testimonial>
<class>Magebuzz_Testimonial_Block</class>
</testimonial>
</blocks>
<helpers>
<testimonial>
<class>Magebuzz_Testimonial_Helper</class>
</testimonial>
</helpers>
<template>
<email>
<testimonial_email_configuration_select_template_post translate="label" module="testimonial">
<label>Custom Email Template After Post Testimonial</label>
<file>email_template_after_post_testimonial.html</file>
<type>html</type>
</testimonial_email_configuration_select_template_post >
<testimonial_email_configuration_select_template_approve translate="label" module="testimonial">
<label>Custom Email Template After Approve Testimonial</label>
<file>email_template_after_approve_testimonial.html</file>
<type>html</type>
</testimonial_email_configuration_select_template_approve >
</email>
</template>
</global>
file app\code\local\Hm\Testimonial\etc\config.xml:
<modules>
<Hm_Testimonial>
<version>2.2.3</version>
</Hm_Testimonial>
</modules>
<frontend>
<secure_url>
<testimonial>/testimonial/</testimonial>
</secure_url>
<routers>
<testimonial>
<use>standard</use>
<args>
<module>Hm_Testimonial</module>
<frontName>testimonial</frontName>
</args>
</testimonial>
</routers>
<layout>
<updates>
<testimonial>
<file>testimonial.xml</file>
</testimonial>
</updates>
</layout>
<translate>
<modules>
<Hm_Testimonial>
<files>
<default>Hm_Testimonial.csv</default>
</files>
</Hm_Testimonial>
</modules>
</translate>
</frontend>
<admin>
<routers>
<testimonial>
<use>admin</use>
<args>
<module>Hm_Testimonial</module>
<frontName>testimonial</frontName>
</args>
</testimonial>
</routers>
</admin>
<adminhtml>
<translate>
<modules>
<Hm_Testimonial>
<files>
<default>Hm_Testimonial.csv</default>
</files>
</Hm_Testimonial>
</modules>
</translate>
<menu>
<testimonial module="testimonial">
<title>Testimonials</title>
<sort_order>71</sort_order>
<children>
<items module="testimonial">
<title>Manage Testimonials</title>
<sort_order>0</sort_order>
<action>testimonial/adminhtml_testimonial</action>
</items>
<configurations module="testimonial">
<title>Configuration</title>
<sort_order>1</sort_order>
<action>adminhtml/system_config/edit/section/hm_testimonial</action>
</configurations>
</children>
</testimonial>
</menu>
<acl>
<resources>
<all>
<title>Allow Everything</title>
</all>
<admin>
<children>
<Hm_Testimonial>
<title>Testimonial Module</title>
<sort_order>10</sort_order>
<items module="testimonial" translate="title">
<title>Manage Product</title>
<sort_order>0</sort_order>
</items>
<configurations module="testimonial" translate="title">
<title>Configurations</title>
<sort_order>30</sort_order>
</configurations>
</Hm_Testimonial>
<system>
<children>
<config>
<children>
<hm_testimonial>
<title>Hello Magento Testimonial</title>
</hm_testimonial>
</children>
</config>
</children>
</system>
</children>
</admin>
</resources>
</acl>
<layout>
<updates>
<testimonial>
<file>testimonial.xml</file>
</testimonial>
</updates>
</layout>
</adminhtml>
<global>
<models>
<testimonial>
<class>Hm_Testimonial_Model</class>
<resourceModel>testimonial_mysql4</resourceModel>
</testimonial>
<testimonial_mysql4>
<class>Hm_Testimonial_Model_Mysql4</class>
<entities>
<testimonial>
<table>testimonial</table>
</testimonial>
<testimonial_store>
<table>testimonial_store</table>
</testimonial_store>
</entities>
</testimonial_mysql4>
</models>
<resources>
<testimonial_setup>
<setup>
<module>Hm_Testimonial</module>
</setup>
<connection>
<use>core_setup</use>
</connection>
</testimonial_setup>
<testimonial_write>
<connection>
<use>core_write</use>
</connection>
</testimonial_write>
<testimonial_read>
<connection>
<use>core_read</use>
</connection>
</testimonial_read>
</resources>
<blocks>
<testimonial>
<class>Hm_Testimonial_Block</class>
</testimonial>
</blocks>
<helpers>
<testimonial>
<class>Hm_Testimonial_Helper</class>
</testimonial>
</helpers>
<template>
<email>
<testimonial_email_email_template translate="label" module="contacts">
<label>Testimonial Email</label>
<file>testimonial_email.html</file>
<type>text</type>
</testimonial_email_email_template>
</email>
</template>
<events>
<controller_front_init_before>
<observers>
<testimonial>
<type>singleton</type>
<class>Hm_Testimonial_Model_Observer</class>
<method>checkLicense</method>
</testimonial>
</observers>
</controller_front_init_before>
</events>
</global>
<default>
<hm_testimonial>
<general>
<enable>0</enable>
<maxword>30</maxword>
<delay>4000</delay>
<width>160</width>
<height>160</height>
<slider>fadeZoom</slider>
<heightslide>400</heightslide>
<allow_media>1</allow_media>
<allow_media_popup>1</allow_media_popup>
<total>5</total>
<maxfilesize>0</maxfilesize>
</general>
<email>
<template_email>testimonial_email_email_template</template_email>
</email>
</hm_testimonial>
</default>
How can I arrange installation of 2 plugins?
It's gonna take quite a few code changes, and most probably it would be easier to merge in any function missing from one of them, from the code in the other one.
You could of course try to change all the <testimonial> to <hm_testimonial> in the second XML, but that would also require that you change each PHP file in that module to use the corresponding getModel('hm_testimonial/model'), Mage::helper('hm_testimonial') and so on in probably every place you see "testimonial" mentioned adding "hm_" to the start.
At least it doesn't look like they are overriding any core classes, that would have made it much trickier.