2013-02-12 68 views
0

我正在使用PHP Core和自定义MVC,时间为1年半,直到移到了magento桌面。了解Magento模块的体系结构

我首先发现它非常困难,但后来在主题集成和以前完成模块的维护方面得到了控制。现在我进入了模块创建阶段,并且与架构非常混淆。

在坦诚,每次当我写一个新的代码,它工作得很好,但后来编辑了浪费,因为它不与Magento的编码风格完全满足老年人的这么多时间。

举个例子,当我需要检查的东西,更新数据库,我写道,

<?php 
$resource = Mage::getSingleton('core/resource'); 
$readConnection = $resource->getConnection('core_read'); 
$query = "SELECT ststus FROM table WHERE Id='".$id."'"; 
$select_query = $readConnection->fetchOne($query); 
$update_value= $select_query[0]; 
if($update_value=='2') 
{ 
$writeConnection = $resource->getConnection('core_write'); 
$query = "UPDATE table SET field_name='C' WHERE Id='".$id."'"; 
$writeConnection->query($query); 
} 
?> 

这是后来改为简单,就是,

foreach ($dealroomIds as $dealroomId) { 
       $manufacturers = Mage::getSingleton('module/module') 
        ->load($dealroomId) 
        ->setStatus($this->getRequest()->getParam('status')); //getting status 
        if($this->getRequest()->getParam('status')=='2'){ 
        $manufacturers->setRunningStatus('C'); // setting new status 
        } 
       $manufacturers->setIsMassupdate(true) 
        ->save(); 
       Mage::getSingleton('dealroom/deals')->UpdateDealProducts($dealroomId); // Update 
        } 

鉴于上述情况只是一个例如,只不过是。

要了解更多的编码风格和标准,我认为是neccessory更多地了解

  • 控制器
  • 型号
  • 助手
  • 数据

我搜索,但无论我阅读和理解只是远离基本。如果有人在简单和基本的方面指出这些的联系和功能,这对我会有所帮助。

+0

你知道关于magentocommerce.com上的教程吗?如果这没有帮助,你到底在看什么? – 2013-02-12 08:19:03

+1

根据您的示例,退出尝试编写SQL代码,Magento使用集合并隐藏了非常复杂的EAV数据库查询背后更容易理解的OOP交互。 – 2013-02-12 15:30:47

回答