了解Magento模块的架构

时间:2013-02-12 06:10:41

标签: php magento

我正在使用PHP Core和自定义MVC一年半,直到搬到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
                    }

上面给出的只是一个例子,仅此而已。

要了解有关编码风格和标准的更多信息,我认为了解更多有关

的信息是必要的
  • 控制器
  • 模型
  • 辅助
  • 数据

我搜索过,但无论我阅读和理解的是什么,都远离基本。如果有人用简单和基本的方式指出这些的连接和功能,那对我有帮助。

1 个答案:

答案 0 :(得分:3)

你检查过这个吗? Alan Storm共有8篇文章报道了Magento的大部分内容。

http://www.magentocommerce.com/knowledge-base/entry/magento-for-dev-part-1-introduction-to-magento

如果您发现难以理解,我不敢说,您需要首先加强您的OOP和MVC概念。