Magento - 在帐户区域显示自定义属性(前端)

时间:2013-01-10 16:47:21

标签: magento custom-attributes account

我已经使用此模块创建者来获取自定义属性(采用“文件”类型)。 http://www.silksoftware.com/magento-module-creator/

这可以在管理区域中看到。我还使用本教程创建的客户的其他自定义属性: http://www.fontis.com.au/blog/magento/know-more-about-your-customers-adding-custom-signup-attributes

这也有效。我使用模块创建者的原因是因为我不确定如何将输入类型设置为“文件”。

通过fontis教程创建的属性可以根据需要显示在前端(仅在注册表单中需要)。

我遇到的问题是在前端登录帐户区域的自定义区域中。我需要的是检索在模块创建者中创建的'文件'属性的值。有人能指出我正确的方向如何展示这些吗?我尝试过getAttributeName,但这不起作用。

谢谢。

1 个答案:

答案 0 :(得分:0)

如果您发布自定义模块中的代码,我们可以为您提供更多帮助。

同时,这里有一些可以帮到你的信息:

  • 每当您使用模块在DB中存储某些内容时,都会有一个Model类(允许您访问必要的数据)
  • 您可以通过查看模块etc/config.xml文件
  • 找到类名
  • 在文件中查找名为<models>
  • 的部分
  • <models>的子节点是命名空间的名称(见下文)
  • 名为<class>的“命名空间”的子节点包含您需要的其他信息
  • 接下来,您需要使用Mage::getModel('namespace/class_name')->load($id);调用模型以获取系统中所有自定义属性记录的集合

将其分解为可管理的部分:

我们假设这是您的config.xml包含的内容:

<models>
    <customattribute> // this is your namespace
         <class>Mycompany_Customattribute_Model</class> //this tells you wher to find your model files
          <resourceModel>customattribute_resource</resourceModel>
    </customattribute>

...
</models>

这意味着您的“命名空间”是“customattribute”。

接下来,您需要找到包含您的模型的文件。

在这种情况下,我们查看<class>节点以给我们文件位置(在本例中为app/code/local/Mycompany/Customattrbute/Model),现在我们需要去那里看看那里的文件(让我们说它是叫'File.php')

要获取我们称之为以下函数的所有数据:

Mage::getModel('customattribute/file')->load();

这将为我们提供所有数据。

如果我们想缩小范围,我们可以使用以下功能:

Mage::getResourceModel('customattribute/file')->addFieldToFilter('name_of_filed_in_db', 'value_we_want');