2012-01-12 63 views
0

我定義一個新的區塊清理我的看法,像這樣:我是否需要將所有類定義爲Magento模型?

class Jamie_Utilities_Block_Myblock extends Mage_Core_Block_Template 
{ 
    public function getProducts() 
    { 
     $products = array(
      new Product('Product Name', "image source"), 
      new Product('Product Name', "image source"), 
     ); 
     return $products; 
    } 
} 

我想在同一個文件中創建一個小Product類來保存幾個字段。 Myblock.php現在看起來像:

class Jamie_Utilities_Block_Myblock extends Mage_Core_Block_Template 
{...} 

class Product 
{ 
    public $name; 
    public $image; 

    public function __construct($name, $image) 
    { 
     $this->name = $name; 
     $this->image = $image; 
    } 
} 

這工作,但它是一個很好的事是什麼?我是否應該在模塊的​​3210中將所有課程聲明爲模型,或者是否應該使用更好的課程名稱以避免衝突Jamie_Utilities_Block_Product

回答

2

您配置中的<models>節點是的前綴,而不是類名。

<config><global><models><your_module><class>Yer_Module_Model</class></...>的示例配置是解析此代碼時發現的:Mage::getModel('your_module/rest_of_class_name');。第一部分轉換爲yer_module_model,其餘的部分使用前導下劃線,即yer_module_model_rest_of_class_name。根據自動裝載機,系統將在Yer/Module/Model/Rest/Of/Classname.php中查找該定義。

小故事是這樣的:定義你的類前綴,你可以創建任意多的類,只要你想。

+0

出於某種原因,我曾想過我需要明確提及每個模型。謝謝。 – Jamie 2012-01-12 14:28:25

相關問題