如何在magento中为属性添加注释?

如何在magento中为属性添加注释?,magento,attributes,Magento,Attributes,我使用管理面板在Magento中创建了一个新的产品属性。但我找不到该属性的注释放在何处(即应该显示在输入字段下方作为有关该属性的额外信息的文本) 我是否遗漏了什么,或者这不可能在管理面板中实现 这是一个关于属性上注释的示例: 我使用的是Magento 1.7 CE。无法通过管理面板实现 顺便说一句,您确实应该通过编程方式添加属性。(如果您的数据库崩溃,那么您的任务就完成了) 您需要修改eav_属性表的“note”列 您可以在升级脚本中使用updateAttribute()命令对其进行修改。例如

我使用管理面板在Magento中创建了一个新的产品属性。但我找不到该属性的注释放在何处(即应该显示在输入字段下方作为有关该属性的额外信息的文本)

我是否遗漏了什么,或者这不可能在管理面板中实现

这是一个关于属性上注释的示例:


我使用的是Magento 1.7 CE。

无法通过管理面板实现

顺便说一句,您确实应该通过编程方式添加属性。(如果您的数据库崩溃,那么您的任务就完成了)

您需要修改eav_属性表的“note”列

您可以在升级脚本中使用
updateAttribute()
命令对其进行修改。例如:

$installer->updateAttribute(Mage_Catalog_Model_Product::ENTITY, 'color', 'note','my comment');

嗯,这可能有点晚了,但无论如何,我今天遇到了一个类似的问题,并用以下直观的方式解决了它:

首先,我的问题是: 如何在扩展搜索页面中获取自定义顺序中的属性

为此,我在这里发现了一些东西: --他们告诉我们: 您可以使用mysql表中的自定义未使用字段“note”:“eav_属性” 因此,您可以在 app\code\core\Mage\CatalogSearch\Model\Advanced.php 命令由 i、 e

from:
->setOrder('main_table.attribute_id','asc')

收件人:
->setOrder('main_table.note','asc')
但是,您仍然有一个问题,如何正确地编辑内容,而不必在mysql客户机中直接编辑任何内容;从现在起,我遇到了你的问题,我的解决方案:

型号:获取/设置

  • 在app/code/core/Mage/Eav/Model/Entity/Attribute/Abstract.php中
  • grep:class Mage\u Eav\u Model\u Entity\u Attribute\u Abstract ex
  • 添加:搜索后最佳:“n getName”

/**
*获取属性注释
*
*@返回字符串
*/
公共函数getNote()
{
返回$this->_getData('note');
}
/**
*设置属性注释
*
*@param string$name
*@return Mage\u Eav\u Model\u Entity\u Attribute\u Abstract
*/
公共函数setNote($note)
{
返回$this->setData('note',$note);
}

控制器:设置

  • 在app/code/core/Mage/Adminhtml/controllers/Catalog/Product/AttributeController.php中
  • (好的,这是一个快捷方式,我想你可以在“note_text”的某个地方添加一些属性,但我没有magento的计划)
  • 搜索:“默认值”并扩展:
  • 发件人:

$defaultValueField=$model->getDefaultValueByInput($data['frontend_input']);
如果($defaultValueField){
$data['default_value']=$this->getRequest()->getParam($defaultValueField);
}

  • 致:

$defaultValueField=$model->getDefaultValueByInput($data['frontend_input']);
如果($defaultValueField){
$data['default_value']=$this->getRequest()->getParam($defaultValueField);
$data['note']=$this->getRequest()->getParam('note_text');
}

查看

  • 在./app/code/core/Mage/Eav/Block/Adminhtml/Attribute/Edit/Main/Abstract.php中
  • 之后:

    $fieldset->addField('default\u value\u text','text',数组(

  • 加:

    $fieldset->addField('note_text','text',array(
    'name'=>'note_text',
    'label'=>Mage::helper('eav')->\uuuu('Note Value'),
    'title'=>Mage::helper('eav')->\uuuu('Note Value'),
    'value'=>$attributeObject->getDefaultValue(),
    ));

最后,我通过以下方式初始化了mysql表中的note字段:

update eav_attribute set note=lpad(attribute_id,10,'0000000000') where attribute_id not in(84,100);

id为84和100的属性已经有了一些注释。

直接编辑magento核心文件不是一个好主意。Bixi的答案确实是一个好主意。这可能是一个愚蠢的问题。但是我应该将addAttribute命令添加到哪个文件?您必须将其添加到数据库升级脚本中。请参阅