Rewrite block: Mage/Adminhtml/Block/Sales/Shipment/Grid.php
and controller: Mage/Adminhtml/controllers/Sales/ShipmentController.php
First you will need to make a xml file for your new module at app/etc/modules directory
CompanyName_Adminhtml.xml
1
2
3
4
5
6
7
8
9
|
<?xml version=”1.0″?>
<config>
<modules>
<CompanyName_Adminhtml>
<active>true</active>
<codePool>local</codePool>
</CompanyName_Adminhtml>
</modules>
</config>
|
Then, make folders in your app/code/local directory as follows:
– CompanyName
-> Block
—> Sales
—-> Shipment
——> Grid.php
-> controllers
—> Sales
—-> ShipmentController.php
-> etc
—> config.xml
In etc/config.xml, your code should look like below:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
<?xml version=”1.0″?>
<config>
<modules>
<CompanyName_Adminhtml>
<version>0.1.0</version>
</CompanyName_Adminhtml>
</modules>
<global>
<blocks>
<adminhtml>
<rewrite>
<sales_shipment_grid>CompanyName_Adminhtml_Block_Sales_Shipment_Grid</sales_shipment_grid>
</rewrite>
</adminhtml>
</blocks>
<routers>
<adminhtml>
<rewrite>
<sales_shipment>
<from><![CDATA[#^/admin/sales_shipment/$#]]></from>
<to>/admin/sales_shipment/</to>
</sales_shipment>
</rewrite>
</adminhtml>
</routers>
</global>
<admin>
<routers>
<adminhtml>
<args>
<modules>
<CompanyName_Adminhtml before=”Mage_Adminhtml”>CompanyName_Adminhtml</CompanyName_Adminhtml>
</modules>
</args>
</adminhtml>
</routers>
</admin>
</config>
|
In ShipmentController.php, you should start like this:
1
2
3
4
5
|
require_once(“Mage/Adminhtml/controllers/Sales/ShipmentController.php”);
class CompanyName_Adminhtml_Sales_ShipmentController extends Mage_Adminhtml_Sales_ShipmentController
{
//controller methods goes here..
}
|
require_once is necessary as magento is not going to load controllers as it does for blocks and models
In block Grid.php, start the file like below:
1
2
3
4
|
class CompanyName_Adminhtml_Block_Sales_Shipment_Grid extends Mage_Adminhtml_Block_Widget_Grid
{
// block methods goes here..
}
|