商店「;标签";使用下拉列表而不是“引用”;“价值”;在magento表中

商店「;标签";使用下拉列表而不是“引用”;“价值”;在magento表中,magento,Magento,我在存储自定义模块中的下拉列表值时遇到问题。我在后端创建了一个表单来存储“郊区”,另一个表单用来保存“地区”。在该地区表格中,有一个下拉列表,其中的值是从郊区表(即郊区名称)中填充的。我的问题是,在保存此区域时,下拉列表的值存储在数据库表中(即“1”、“2”),但我想存储标签(即所选名称)。我该怎么做,有人能帮忙吗?现在,在管理部分中为下拉列表调用的主要方法来自此类: 从上面的Source_Model字段可以看到,Mage_Eav_Model_Entity_Attribute_Source_表。

我在存储自定义模块中的下拉列表值时遇到问题。我在后端创建了一个表单来存储“郊区”,另一个表单用来保存“地区”。在该地区表格中,有一个下拉列表,其中的值是从郊区表(即郊区名称)中填充的。我的问题是,在保存此区域时,下拉列表的值存储在数据库表中(即“1”、“2”),但我想存储标签(即所选名称)。我该怎么做,有人能帮忙吗?

现在,在管理部分中为下拉列表调用的主要方法来自此类: 从上面的Source_Model字段可以看到,Mage_Eav_Model_Entity_Attribute_Source_表。 方法是这样的:

public function getAllOptions($withEmpty = true)
    {
        if (is_null($this->_options)) {
            $this->_options = Mage::getResourceModel('eav/entity_attribute_option_collection')
                ->setAttributeFilter($this->getAttribute()->getId())
                ->setStoreFilter($this->getAttribute()->getStoreId())
                ->setPositionOrder('asc')
                ->load()
                ->toOptionArray();
        }
        $options = $this->_options;
        if ($withEmpty) {
            array_unshift($options, array('label'=>'', 'value'=>''));
        }
        //print_r($options);
        return $options;
    }
现在,这个方法所做的是获取这个模型“eav/entity\u attribute\u option\u collection”的所有记录,用于我们的attribute\u id和store\u id 然后用“标签”和“值”填充数组。 您需要更改该表中字段的源\模型,将其设置为“eav/实体\属性\源\表2”。所以只是复制了同一个类,给它起了一个新名字,等等

你所需要做的就是改变这个方法

public function getAllOptions($withEmpty = true)
    {     
        $options[] = array('label' => '', 'value'=>'');
        $options[] = array('label' => 'Test1', 'value'=>'1');
        $options[] = array('label' => 'Test2', 'value'=>'2');
        $options[] = array('label' => 'Test3', 'value'=>'3');
        $options[] = array('label' => 'Test4', 'value'=>'4');
        $this->_options = $options;
        print_r($options);
        return $options;
    }

您可以使用简单的javascript代码实现此功能

<select name="menu" id="menu">
<option value="1">label 1</option>
<option value="2">label 2</option>
</select>
<input type="text" name="selectedMenu" id="selectedMenu" value="">

<script type="text/javascript">

</script>

标签1
标签2
JSFIDLE演示 这是


您好,Dakshika谢谢您的回复,我很感谢您的回复,但您可能没有完全理解我,或者我没有理解您。我的问题是,我必须将表单中下拉列表的标签存储在“管理”面板中的“区域”表中,到目前为止,只存储下拉列表的值。如果这可以通过你的答案实现,请更全面地澄清它,因为我对它是新手。又来了