在 magento 中添加下拉列表作为自定义字段

发布于 2024-11-16 11:13:51 字数 272 浏览 2 评论 0原文

我按照 magento 添加自定义中所述添加了自定义字段管理中客户帐户表单的输入字段

但我想要一个选择列表,而不仅仅是文本输入列表。我不知道必须设置哪种参数以及如何告诉可能值的列表。

请帮忙:)

谢谢,

Plantex

I added custom fields as described in magento add custom input field to customer account form in admin

But I want a select list, not only a text input one. I don't know which kind of parameter I have to set and how to tell the list of possible values.

Please help :)

Thanks,

Plantex

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

各自安好 2024-11-23 11:13:51

您可能会执行以下操作:

$setup->addAttribute('customer', 'custom_attribute', array(
    'type'      =>  'text',
    'label'     =>  'Customer Custom Attribute',
));

使用这些值代替:

$setup->addAttribute('customer', 'custom_attribute', array(
    'type'      =>  'int',
    'label'     =>  'Customer Custom Attribute',
    'input'     =>  'select',
    'source'    =>  'eav/entity_attribute_source_boolean',
));

typeint 因为您通常会存储所选值的索引,而不是值本身。 inputselect,因此管理渲染器知道要使用哪个控件。这里显示的source是一个常见的示例,它提供了带有数字索引的“是”和“否”值的数组。

Magento 代码中已有许多源模型可供您使用,您也可以创建自己的模型,查看任何现有模型以了解它如何返回数组。如果您自己制作并且使用文本索引而不是数字,则必须将 type 更改回 text

Where you might do something like:

$setup->addAttribute('customer', 'custom_attribute', array(
    'type'      =>  'text',
    'label'     =>  'Customer Custom Attribute',
));

Use these values instead:

$setup->addAttribute('customer', 'custom_attribute', array(
    'type'      =>  'int',
    'label'     =>  'Customer Custom Attribute',
    'input'     =>  'select',
    'source'    =>  'eav/entity_attribute_source_boolean',
));

The type is int because you will typically be storing the index of the value chosen, not the value itself. The input is select so the admin renderer knows which control to use. The source shown here is a common example, it provides an array of "Yes" and "No" values with numeric indexes.

There are many source models already in the Magento code that you can use and you can create your own too, look at any existing one to see how it returns an array. If you make your own and if it uses text indexes instead of numeric then the type will have to be changed back to text.

反目相谮 2024-11-23 11:13:51

尝试将其添加到您的模块设置文件中

'value'  => array('notate_to_zero'=>array(0=>'Bleu',0=>'Rouge',0=>'Vert',0=>'Violet',0=>'Noir',0=>'Orange'))
                    ),

或查看此 --> http://inchoo.net/ecommerce/magento/如何创建自定义属性源类型/

Try adding this at your module setup file

'value'  => array('notate_to_zero'=>array(0=>'Bleu',0=>'Rouge',0=>'Vert',0=>'Violet',0=>'Noir',0=>'Orange'))
                    ),

or look at this --> http://inchoo.net/ecommerce/magento/how-to-create-custom-attribute-source-type/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文