我在哪里可以找到Magento中函数的定义?

时间:2013-12-01 15:53:16

标签: php magento

我正在用他的Magento网站帮助一个朋友,我的PHP和Magento经验很少。在实际代码方面,我没有做太多的事情,但是我们想做的一个改变实际上涉及到改变代码。

代码包含以下内容:

$model = Mage::getModel('catalog/product');
$_product = $model->load($entity_id);
$bedroom = $_product->getTotalrooms();

以上工作正常,我想补充以下内容:

enter code here`$bathroom = $_product->getTotalbathrooms();

我已经在“属性”页面中添加了总浴室,并试图使其与总房相同,我现在看到的唯一区别是,在系统列中,对于总房间,它说“是”但是对于总浴室,它说“不”。 我更新了表单中的html以添加新地点并更新了产品页面的html,但目前它没有显示no。浴室。 您可以在此处查看示例产品:http://book.bnbtlv.com/index.php/bathroom-test.html。如果您滚动到页面中间,您会发现浴室没有价值。卧室是4。但

我遇到的一个问题是getTotalrooms是在任何地方定义的,还是以某种方式自动创建的?如果它是手动定义的,那么那里我也可以在那里定义getTotalbathrooms? 另外,我在哪里可以找到调用setTotalrooms的地方?我猜到目前我的产品从未调用过setTotalbathrooms。

最后,当我进入管理页面上的“管理产品”页面并单击产品然后单击“产品信息”时,我看到没有房间,但我看不到浴室的数量。如何获得此页面上显示的浴室数量并可由管理员编辑?

由于

2 个答案:

答案 0 :(得分:1)

首先,getTotalRooms()未在nmagento中的任何位置定义,它会从您创建的属性中获取。

我认为您的问题是您错过了将已创建的属性添加到属性集中,然后使用重新索引选项重新索引数据。

在属性页面上创建属性后,您需要将该属性添加到产品正在使用的属性集中。

参考此视频: http://www.youtube.com/watch?v=MqhCcCpR4DI

答案 1 :(得分:1)

$_product->getTotalrooms()是Magento的Magic getter-setter方法的一部分,它适用于Model实例的数据对象。

print_r($_product->getData());会告诉您与您相关的所有数据 产品。您可以通过

直接获取任何数据

$_product->getData('my_attribute');$_product->getMyAttribute();

命名定罪是->get之后,在下划线为大写之后,第一个字母大写为大写字母。

同样适用于setter方法。 $_product->setTotalrooms('5')->save(); 为您的产品节省的总房间数为5.

我认为您在$bathroom = $_product->getTotalbathrooms();遇到的问题是您在这里使用了错误的命名。检查print_r($_product->getData());并更正。