Ковыряю исходники Magento, и не могу понять принцип работы моделей..
К примеру, есть 3 класса моделей, наследников Mage_Core_Model_Abstract, Mage_Core_Model_Mysql4_Abstract и Mage_Core_Model_Mysql4_Collection_Abstract
В контролере и в  блоках используется только класс наследник Mage_Core_Model_Abstract, но каким-то образом работают и остальные 2 класса??? Откуда идет к ним обращение, каким образом они используются??? Только не бейте сильно, я только начал изучать магенту.
						
						
						
					
					
				Принцип работы моделей
24.08.2012 21:45
						Попробую..
Для примера возьму готовый плагин показа банеров
Контролер
Блок 'banner/bannergroup'
Этот блок можно сказать пустой, только заголовки и кнопки выводит. Как к нему другие блоки подключаются, которые непосредственно таблицу с данными выводят..?
						
					
					
				Для примера возьму готовый плагин показа банеров
Контролер
class Uni_Banner_Adminhtml_BannergroupController extends Mage_Adminhtml_Controller_action {
    protected function _initAction() {
        $this->loadLayout()
                ->_setActiveMenu('banner/items')
                ->_addBreadcrumb(Mage::helper('adminhtml')->__('Items Manager'), Mage::helper('adminhtml')->__('Item Manager'));
        $id = $this->getRequest()->getParam('id');
        $model = Mage::getModel('banner/bannergroup')->load($id);
        if ($model->getId() || $id == 0) {
            $data = Mage::getSingleton('adminhtml/session')->getFormData(true);
            if (!empty($data)) {
                $model->setData($data);
            }
        }
        Mage::register('bannergroup_data', $model);
        return $this;
    }
    public function indexAction() {
        $this->_initAction()
                ->renderLayout();
    }
}Блок 'banner/bannergroup'
class Uni_Banner_Block_Adminhtml_Bannergroup extends Mage_Adminhtml_Block_Widget_Grid_Container {
    public function __construct() {
        $this->_controller = 'adminhtml_bannergroup';
        $this->_blockGroup = 'banner';
        $this->_headerText = Mage::helper('banner')->__('Banner Group Manager');
        $this->_addButtonLabel = Mage::helper('banner')->__('Add Banner Group');
        parent::__construct();
    }
}Этот блок можно сказать пустой, только заголовки и кнопки выводит. Как к нему другие блоки подключаются, которые непосредственно таблицу с данными выводят..?
24.08.2012 22:06
						Каким образом на странице выводится grid описанный в классе
class Uni_Banner_Block_Adminhtml_Bannergroup_Grid extends Mage_Adminhtml_Block_Widget_Grid
если этого класса ни в контролере ни блоке Uni_Banner_Block_Adminhtml_Bannergroup нет..
						
					
					
				class Uni_Banner_Block_Adminhtml_Bannergroup_Grid extends Mage_Adminhtml_Block_Widget_Grid
если этого класса ни в контролере ни блоке Uni_Banner_Block_Adminhtml_Bannergroup нет..

 Вход
 Вход Регистрация
 Регистрация Помощь
 Помощь

 
			
			

