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


Where would I find the definition of a function in 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,但目前它没有显示否。的浴室。您可以在此处查看示例产品:http://book.bnbtlv.com/index.php/bathroom-test.html。如果你滚动到页面中间,你会注意到浴室没有价值。卧室是4间卧室。

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

最后,当我转到管理页面上的"管理产品"页面并单击产品,然后单击"产品信息"时,我看到房间数量,但没有看到浴室数量。如何让浴室数量显示在此页面上并可由管理员编辑?

谢谢

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

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

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

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

$_product->getTotalrooms()是Magento的Magicgetter-setter方法的一部分,该方法适用于模型实例的数据对象。

print_r($_product->getData()); 将让您了解与您的产品。您可以通过以下方式直接获取任何数据

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

命名信念是第一个字母大写,而不是字母在下划线之后是大写的->get

二传手方法也是如此。 $_product->setTotalrooms('5')->save();将为您的产品将总房间字段保存为 5。

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