I have created a small module to add new tab on order view page. right now tab is showing a static phtml file with a form in it:
<?php
class MageSf_OrderCustom_Block_Adminhtml_Order_View_Tab_OrderCustom
extends Mage_Adminhtml_Block_Template
implements Mage_Adminhtml_Block_Widget_Tab_Interface
{
public function _construct()
{
parent::_construct();
$this->setTemplate('magsf/ordercustom/order/view/tab/ordercustom.phtml');
}
public function getTabLabel() {
return $this->__('Order Attachment');
}
public function getTabTitle() {
return $this->__('Order Attachment');
}
public function canShowTab() {
return true;
}
public function isHidden() {
return false;
}
public function getOrder(){
return Mage::registry('current_order');
}
}
ordercustom.phtml includes the following:
if(isset($_POST['docname']))
{
try
{
$path = Mage::getBaseDir().DS.'customer_documents'.DS; //desitnation directory
$fname = $_FILES['docname']['name']; //file name
$uploader = new Varien_File_Uploader('docname'); //load class
$uploader->setAllowedExtensions(array('doc','pdf','txt','docx')); //Allowed extension for file
$uploader->setAllowCreateFolders(true); //for creating the directory if not exists
$uploader->setAllowRenameFiles(false); //if true, uploaded file's name will be changed, if file with the same name already exists directory.
$uploader->setFilesDispersion(false);
$uploader->save($path,$fname); //save the file on the specified path
}
catch (Exception $e)
{
echo 'Error Message: '.$e->getMessage();
}
}
<form id="doc-form" name="doc-form" method="post" action="" enctype="multipart/form-data">
<label>Upload Document</label>
<input type="file" title="File" name="docname">
<button type="submit" title="Save"><span>Upload</span></button>
</form>
Here is the config.xml
<?xml version="1.0"?>
<config>
<modules>
<MageSf_OrderCustom>
<version>1.0.1</version>
</MageSf_OrderCustom>
</modules>
<global>
<blocks>
<ordercustom>
<class>MageSf_OrderCustom_Block</class>
</ordercustom>
</blocks>
</global>
<adminhtml>
<layout>
<updates>
<ordercustom>
<file>magsf_ordercustom.xml</file>
</ordercustom>
</updates>
</layout>
</adminhtml>
<admin>
<routers>
<adminhtml>
<args>
<modules>
<MageSf_OrderCustom after="Mage_Adminhtml">MageSf_OrderCustom_Adminhtml</MageSf_OrderCustom>
</modules>
</args>
</adminhtml>
And my module configuration file is as:
<?xml version="1.0"?>
<layout>
<adminhtml_sales_order_view>
<reference name="sales_order_tabs">
<action method="addTab">
<name>order_view_tab_ordercustom</name>
<block>ordercustom/adminhtml_order_view_tab_ordercustom</block>
</action>
</reference>
</adminhtml_sales_order_view>
</layout>
But issue is this when i submit the form nothing happens and page redirected to the dashboard page. what wrong i am doing and how i can fix this.
action
URL for your form and create action in your controller.