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 :)
Related
I have created a custom module in admin panel. I ma getting 404 page. My module is active , but I am getting 404 page.
My config.xml file:
<?xml version="1.0"?>
<config>
<modules>
<Blazedream_VendorComplaints>
<version>0.1.0</version>
</Blazedream_VendorComplaints>
</modules>
<frontend>
<routers>
<vendorcomplaints>
<use>standard</use>
<args>
<module>Blazedream_VendorComplaints</module>
<frontName>vendorcomplaints</frontName>
</args>
</vendorcomplaints>
</routers>
<layout>
<updates>
<vendorcomplaints>
<file>vendorcomplaints.xml</file>
</vendorcomplaints>
</updates>
</layout>
</frontend>
<global>
<helpers>
<vendorcomplaints>
<class>Blazedream_VendorComplaints_Helper</class>
</vendorcomplaints>
</helpers>
<blocks>
<vendorcomplaints>
<class>Blazedream_VendorComplaints_Block</class>
</vendorcomplaints>
</blocks>
<models>
<vendorcomplaints>
<class>Blazedream_VendorComplaints_Model</class>
<resourceModel>vendorcomplaints_mysql4</resourceModel>
</vendorcomplaints>
<vendorcomplaints_mysql4>
<class>Blazedream_VendorComplaints_Model_Mysql4</class>
<entities>
<complaints>
<table>vendor_complaints</table>
</complaints>
</entities>
</vendorcomplaints_mysql4>
</models>
<resources>
<vendorcomplaints_setup>
<setup>
<module>Blazedream_VendorComplaints</module>
</setup>
<connection>
<use>core_setup</use>
</connection>
</vendorcomplaints_setup>
<vendorcomplaints_write>
<connection>
<use>core_write</use>
</connection>
</vendorcomplaints_write>
<vendorcomplaints_read>
<connection>
<use>core_read</use>
</connection>
</vendorcomplaints_read>
</resources>
</global>
<admin>
<routers>
<vendorcomplaints>
<use>admin</use>
<args>
<module>Blazedream_VendorComplaints</module>
<frontName>vendorcomplaints</frontName>
</args>
</vendorcomplaints>
</routers>
</admin>
<adminhtml>
<menu>
<marketplace>
<children>
<vendorcomplaints module="vendorcomplaints">
<title>Manage Complaints</title>
<sort_order>0</sort_order>
<action>admin_vendorcomplaints/adminhtml_complaints</action>
</vendorcomplaints>
</children>
</marketplace>
</menu>
<acl>
<resources>
<all>
<title>Allow Everything</title>
</all>
<admin>
<children>
<vendorcomplaints>
<title>Complaints Module</title>
<sort_order>200</sort_order>
</vendorcomplaints>
</children>
</admin>
</resources>
</acl>
<layout>
<updates>
<vendorcomplaints>
<file>vendorcomplaints.xml</file>
</vendorcomplaints>
</updates>
</layout>
</adminhtml>
</config>
I dont know where i had done mistake. Can anyone help me to fix this.?
I am new to magento.
first you should learn custom module.
have a look on these blogs.create-configuration-for-your-magento-extension
custom_magento_system_configuration
According to your code you might miss the ACL implementation.
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 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 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>
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.