【发布时间】:2011-01-31 22:55:05
【问题描述】:
所以我正在编写一个功能,我在其中获取一个类别的父类别 ID,并希望在 Magento 中获取其中一个父类别的 url_key。我想在不必加载类别的情况下做到这一点,发现了这个方法getAttributeRawValue,可以在这里找到/app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Abstract.php。基本上,似乎没有必要加载整个实体然后只获取与该实体 ID 关联的属性值。
它得到了我需要的东西,但我想知道它是否比加载类别和获取属性要好得多。加载类别本质上是在做同样的事情,但对每个属性都做吗?
【问题讨论】:
-
您能否发布完整的代码 sn-p 以便我们查看调用的上下文?
-
加载原始值不会避免任何覆盖?首先是类别模型的
_afterLoad方法,然后可能是自定义getter。我什至没有检查相关事件。这些行为可能会在您不知情的情况下被第三方扩展更改。我相信正确的做法是使用完整的模型方法,然后缓存您的结果。 -
但如果它只是获得一个 url_key 或类似的类别名称,那么任何类型的覆盖都无关紧要,对吧?我的意思是,一个 url_key 就是一个 url_key。我使用它的目的是将它放在类名的 body 标记上。
-
你可能是对的,但@clockworkgeek 的观点仍然成立。
标签: php performance optimization magento profiling