00001 <?php 00002 /** 00003 * Magento 00004 * 00005 * NOTICE OF LICENSE 00006 * 00007 * This source file is subject to the Open Software License (OSL 3.0) 00008 * that is bundled with this package in the file LICENSE.txt. 00009 * It is also available through the world-wide-web at this URL: 00010 * http://opensource.org/licenses/osl-3.0.php 00011 * If you did not receive a copy of the license and are unable to 00012 * obtain it through the world-wide-web, please send an email 00013 * to license@magentocommerce.com so we can send you a copy immediately. 00014 * 00015 * DISCLAIMER 00016 * 00017 * Do not edit or add to this file if you wish to upgrade Magento to newer 00018 * versions in the future. If you wish to customize Magento for your 00019 * needs please refer to http://www.magentocommerce.com for more information. 00020 * 00021 * @category Mage 00022 * @package Mage_Adminhtml 00023 * @copyright Copyright (c) 2008 Irubin Consulting Inc. DBA Varien (http://www.varien.com) 00024 * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) 00025 */ 00026 00027 /** 00028 * Adminhtml grid container block 00029 * 00030 * @category Mage 00031 * @package Mage_Adminhtml 00032 * @author Magento Core Team <core@magentocommerce.com> 00033 */ 00034 00035 class Mage_Adminhtml_Block_Widget_Grid_Container extends Mage_Adminhtml_Block_Widget_Container 00036 { 00037 00038 protected $_addButtonLabel = 'Add New'; 00039 protected $_backButtonLabel = 'Back'; 00040 protected $_blockGroup = 'adminhtml'; 00041 00042 public function __construct() 00043 { 00044 parent::__construct(); 00045 00046 $this->setTemplate('widget/grid/container.phtml'); 00047 00048 $this->_addButton('add', array( 00049 'label' => $this->getAddButtonLabel(), 00050 'onclick' => 'setLocation(\'' . $this->getCreateUrl() .'\')', 00051 'class' => 'add', 00052 )); 00053 } 00054 00055 protected function _prepareLayout() 00056 { 00057 $this->setChild( 'grid', 00058 $this->getLayout()->createBlock( $this->_blockGroup.'/' . $this->_controller . '_grid', 00059 $this->_controller . '.grid')->setSaveParametersInSession(true) ); 00060 return parent::_prepareLayout(); 00061 } 00062 00063 public function getCreateUrl() 00064 { 00065 return $this->getUrl('*/*/new'); 00066 } 00067 00068 public function getGridHtml() 00069 { 00070 return $this->getChildHtml('grid'); 00071 } 00072 00073 protected function getAddButtonLabel() 00074 { 00075 return $this->_addButtonLabel; 00076 } 00077 00078 protected function getBackButtonLabel() 00079 { 00080 return $this->_backButtonLabel; 00081 } 00082 00083 protected function _addBackButton() 00084 { 00085 $this->_addButton('back', array( 00086 'label' => $this->getBackButtonLabel(), 00087 'onclick' => 'setLocation(\'' . $this->getBackUrl() .'\')', 00088 'class' => 'back', 00089 )); 00090 } 00091 00092 public function getHeaderCssClass() 00093 { 00094 return 'icon-head ' . parent::getHeaderCssClass(); 00095 } 00096 00097 public function getHeaderWidth() 00098 { 00099 return 'width:50%;'; 00100 } 00101 }