如何将产品选择小部件插入后端形式?
题
Magento有一个小部件,可以选择产品。我需要将其嵌入我的形式中。更明确的是,我将提供屏幕截图:
从这个小部件我只需要产品ID。我可以看到我需要这样的东西:
<id_path translate="label">
<visible>1</visible>
<required>1</required>
<label>Product</label>
<type>label</type>
<helper_block>
<type>adminhtml/catalog_product_widget_chooser</type>
<data>
<button translate="open">
<open>Select Product...</open>
</button>
</data>
</helper_block>
<sort_order>10</sort_order>
</id_path>
但尚未找到如何使用它。我将感谢任何帮助。
解决方案 2
这就是我要寻找的:
$product1Link = $fieldset->addField('product1_link', 'label', array(
'name' => 'product1_link',
'label' => Mage::helper('abc_productbundles')->__('Product 1'),
'class' => 'widget-option',
'value' => $model->getProduct1Link(),
'required' => true,
));
$model->unsProduct1Link();
$helperBlock = $this->getLayout()->createBlock('adminhtml/catalog_product_widget_chooser');
if ($helperBlock instanceof Varien_Object) {
$helperBlock->setConfig($this->getChooserConfig())
->setFieldsetId($fieldset->getId())
->setTranslationHelper(Mage::helper('abc_productbundles'))
->prepareElementHtml($product1Link);
}
其他提示
我假设您正在创建一个自己的小部件 - 以下内容不适用于普通管理员表格。
您只是将那个剪切的 <parameters>
小部件配置(`widget.xml')的部分。
当用户选择产品时,参数 id_path
将设置在您的小部件中。
在您的小部件块内部,您可以得到这样的参数:
$this->getData('id_path');
ID路径包含诸如“产品/123”之类的内容 - 您可能只需要产品ID:
list($dummy, $productId) = explode("/", $this->getData('id_path'))