对于任何 的MVC 框架 , 你应该找一个 在 模型 定义 的地方 ,以及 一些“ 资源模型 “的形式. In Magento,在model家庭里面有3个成员,分别是:
The Model, the Resource Model, and the Collection Model.当我们需要它的时候,这3个成员 相互工作给我们想要的数据。
在之前 我们已经讨论了 创建模型 , 我们会 进入一个 对 资源模型 和集合 模型。
As I see it:
一个
“模型”
是用来
存储数据
,也许
对
这些数据
进行一些
业务逻辑
。
“资源
模型
“是用来
互动的
对
“模式”的
代表
数据库(
持久性
数据
或者
其他形式)
。
“资源
模式“
是一个
实际执行
的
CRUD操作。
一个
“collection
模式“
持有
1对多
“模式”
,并且知道
如何
基于
行的
“资源
模型“
来获取
其他更多相关的
信息
群。
下面, 我 试图说明 它们是如何 都 连在一起:
正如 在 Magento的 大多数事情一样, 这 整个事情 开始于 config.xml中。 正是在 这里, 我们定义 在哪里找 我们的模型 , 资源模型 , 我们的资源 和 哪些表 型 间相互作用。 这里是 config.xml中 定义 的 这些事情 的一个片段:
<
global
>
<
models
>
<
awesome
>
<
class
>
Yt_Awesome_Model</
class
>
<
resourceModel
>awesome_mysql4</
resourceModel
>
</
awesome
>
<
core
>
<
rewrite
>
<
translate
>
Yt_Awesome_Model_Translate</
translate
>
</
rewrite
>
</
core
>
<
awesome_mysql4
>
<
class
>
Yt_Awesome_Model_Mysql4</
class
>
<
entities
>
<
example
>
<
table
>
Yt_awesome_example</
table
>
</
example
>
</
entities
>
</
awesome_mysql4
>
</
models
>
<
resources
>
<
awesome_setup
>
<
setup
>
<
module
>
Yt_Awesome</
module
>
</
setup
>
<
connection
>
<
use
>core_setup</
use
>
</
connection
>
</
awesome_setup
>
<
awesome_write
>
<
connection
>
<
use
>core_write</
use
>
</
connection
>
</
awesome_write
>
<
awesome_read
>
<
connection
>
<
use
>core_read</
use
>
</
connection
>
</
awesome_read
>
</
resources
>
</
global
>
Yt
|_ Awesome
|_Model
|_Mysql4
| |_Example
| | |_Collection.php (Yt_Awesome_Model_Mysql4_Example_Collection)
| |_Example.php (Yt_Awesome_Model_Mysql4_Example)
|_Example.php (Yt_Awesome_Model_Example)
Yt_Awesome_Model_Example is the "model"
Yt_Awesome_Model_Mysql4_Example is the "resource model"
Yt_Awesome_Model_Mysql4_Example_Collection is the "collection model"
未完待续.......