|
11
|
| Marlon Creative · 技术社区 · 15 年前 |
|
|
1
21
(不是故意让你悬在另一根线上,但这个问题没有一个快速的答案,要么看起来像魔法,要么只是让人更迷惑。) 你不需要重写类,除非你打算 改变 现有方法的行为。你只需要创建一个新类 延伸 现有类。你就是这样做的。 事物正常状态的术语
所以,在正常情况下,你可能会说
获取产品模型和底层系统使用
获取查询单个产品的模式资源对象,以及 任何一个 使用的是
获取查询多个模型的集合对象。在当前版本的Magento中,每个模型对象都有一个名为“getCollection”的方法,该方法返回其相应的集合资源。 越轨报告报告有点偏袒,但一切仍在同一个宇宙中,如上所述。原来没有这样的模型
但是 有一个收藏
如果您查看这个类(您将在下面对其进行扩展),您将看到“reports/product_collection”集合
扩展基本产品集合
上课。换言之,处理reports部分的客户机程序员与您完全相同。”我想添加一些方法到
闭嘴,我只想让这个管用所以,你真正想做的是
我们还将对您的模块结构进行一些更改,以帮助您缓解命名混乱。我不太喜欢将模块文件夹命名为与核心模块相同的名称(即“Catalog”),而顶层文件夹(在local/之后)实际上是一个名称空间,而不是模块文件夹。(命名空间可以包含许多模块) 我们没有重写类。我们正在您的命名空间下配置一个自定义模块,以同时使用模型和模型资源。然后我们定义一个模型资源,它扩展了系统中已有的PHP类。只有当您希望 改变 特定方法调用的行为。(关于这一点的争论是恰当的,但是在社区中有足够多的普遍的混乱,值得反复讨论。)。然后结束。然后结束。) 首先,我们要创建模块目录结构和文件。我们只需要两个
(不要忘记在app/etc/modules中启用模块。如果你不知道那是什么意思, start reading )
这个
配置文件应该包含
在这些文件就位并启用模块的情况下,您应该能够调用
你的收藏将被归还,你可以添加方法到你的心的内容。 发生什么事这是心灵弯曲,所以你可以停止阅读,如果你想。这也是我对概念的重新理解 covered elsewhere . 当你说
底层的mage系统代码说“好,那么这个资源模型”
是
模型(在这种情况下不完全正确,但这是系统的想法)。
所以,既然资源模型
获取的资源模型URI
然后我们用它来查看
获取属于此模块的所有资源模型的基本类名。结果是
也就是说
然后就是Magento的标准自动加载
|
|
2
0
结果产品集合的类别是什么?你的超驰控制有效吗? 这部分看起来很可疑,如果它真的有用我很惊讶:
请改为:
中的标记引用模块。Catalog是一个模块,而Catalog_resource_eav_mysql4不是
希望能有帮助! 谢谢, 乔 |