Magento如何使用指定最大长度的addAttribute添加varchar属性

时间:2014-05-07 15:58:48

标签: magento attributes varchar string-length

我正在使用magento,我正在尝试添加类型为varchar(50)的新类别属性。我添加了新属性:

$installer->addAttribute('catalog_category', 'shortdesc', array(
                    'type'              => 'varchar',
                    'backend'           => '',
                    'frontend'          => '',
                    'label'             => 'Descripción Corta',
                    'input'             => 'textarea',
                    'class'             => '',
                    'source'            => '',
                    'global'            => 1,
                    'visible'           => 1,
                    'required'          => 0,
                    'user_defined'      => 0,
                    'default'           => '',
                    'searchable'        => 0,
                    'filterable'        => 0,
                    'comparable'        => 0,
                    'visible_on_front'  => 0,
                    'unique'            => 0,
                    'position'          => 1,
                ));

但是最大长度是255.如何将属性长度更改为50?

1 个答案:

答案 0 :(得分:1)

实际上,Magento对255值进行了硬编码(从Community Edition 1.8.1.0开始)并且不接受替换它的参数。

这对你来说应该不是问题,因为VARCHAR(255)是可以存储的最大字符数,但是如果你存储的字符数少于它,它将不会占用更多的空间。如果你真的需要一个硬限制,你总是可以添加代码来观察类别之前的保存事件并在那里去掉你的字符串。

或者,在极端情况下,确实想要对数据库进行此严格限制,您可以alter the table and modify the column