许多扩展(包括我写的那个)包含一个助手类,它只是扩展抽象基类而不添加任何功能.助手通常看起来像这样:
class MyCompany_MyModule_Helper_Data extends Mage_Core_Helper_Abstract {
}
Run Code Online (Sandbox Code Playgroud)
因此,扩展类仅用于抽象类提供的内容,尤其是用于翻译.另一方面,Magento中的所有Block和Controller类都继承了__()
翻译方法 - 在我正在开发的扩展中,我甚至不需要调用助手类.
我可以删除帮助程序类并将其从中删除config.xml
吗?我已经尝试过了,并且扩展似乎没有正常工作,但是由于Magento的复杂性,我总是有点担心会有一些我不知道的含义.
对于后端模块,我需要检查产品ID是否有效,即:是否有具有该ID的产品?我找到了两个解决方案,但我对其中任何一个都不满意:
Directy查询catalog_product_entity
表.非常快,但绝对不是很优雅,我担心可能会有我不知道的问题.
使用以下代码:
$product = Mage::getModel('catalog/product')->load($productID)
if ($product->getId()) {
//valid id
}
else {
//not a valid id
}
Run Code Online (Sandbox Code Playgroud)
这应该有效但速度很慢,因为我必须一次检查几个ID.由于我不需要实际的产品数据,因此加载它并没有多大意义.
有更好的建议吗?