商店「;标签";使用下拉列表而不是“引用”;“价值”;在magento表中
我在存储自定义模块中的下拉列表值时遇到问题。我在后端创建了一个表单来存储“郊区”,另一个表单用来保存“地区”。在该地区表格中,有一个下拉列表,其中的值是从郊区表(即郊区名称)中填充的。我的问题是,在保存此区域时,下拉列表的值存储在数据库表中(即“1”、“2”),但我想存储标签(即所选名称)。我该怎么做,有人能帮忙吗?现在,在管理部分中为下拉列表调用的主要方法来自此类: 从上面的Source_Model字段可以看到,Mage_Eav_Model_Entity_Attribute_Source_表。 方法是这样的:商店「;标签";使用下拉列表而不是“引用”;“价值”;在magento表中,magento,Magento,我在存储自定义模块中的下拉列表值时遇到问题。我在后端创建了一个表单来存储“郊区”,另一个表单用来保存“地区”。在该地区表格中,有一个下拉列表,其中的值是从郊区表(即郊区名称)中填充的。我的问题是,在保存此区域时,下拉列表的值存储在数据库表中(即“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谢谢您的回复,我很感谢您的回复,但您可能没有完全理解我,或者我没有理解您。我的问题是,我必须将表单中下拉列表的标签存储在“管理”面板中的“区域”表中,到目前为止,只存储下拉列表的值。如果这可以通过你的答案实现,请更全面地澄清它,因为我对它是新手。又来了