我有一系列具有定制选项复选框的产品。但是,我无法从产品的设置设置该特定选项的默认状态。

当用户输入产品页面 /从类别页面中添加到购物车时,默认情况下,我至少需要一个复选框(选项)。

这可以从Magento管理中可行,还是需要一些额外的发展(如果是这样,可以做到这一点)?

有帮助吗?

解决方案

我不知道建议扩展名是否将其视为有效的答案(对于带有赏金的问题),但是 有人在这里声称 他写了一个扩展程序,可以完全完成您的需求。扩展可以 从这里下载. 。我还没有测试过,但是,我会发布并更新。我只浏览了代码,其中有很多。我失去了2个文件后失去了兴趣。我希望这个对你有用。

编辑
我回来了。我测试了扩展 它(几乎)有效。
如果您将其与开发人员模式一起使用,则会遇到一些错误。这是您需要更改以使其正常工作。
/app/code/local/Magebuzz/Customoption/controllers/Adminhtml/CustomoptionController.php 在第28行中有这样的:

$model->setData('value['.$option_id.']',$value[0]['option_type_id']);

这显示了“未定义的索引”警告。为了避免它,将其包裹在一个 if 陈述。

if (isset($value[0])){
    $model->setData('value['.$option_id.']',$value[0]['option_type_id']);
}

/app/code/local/Magebuzz/Customoption/Block/Adminhtml/Customoption/Edit/Tab/Form.php 在第129行中有:

foreach ($values as $value) {
    $valuesArr[$value['option_type_id']]=$value['title'];
}

$values 可能是无效的,因此将代码更改为:

if (is_array($values)){
    foreach ($values as $value) {
        $valuesArr[$value['option_type_id']]=$value['title'];
    }
}

现在应该起作用。
现在进行一些评论。

  1. Pro. 。适用于下拉列表和无线电自定义选项
  2. 神经. 。多种选择和复选框自定义选项的作品。您只能为可用值选择一个值。
  3. 不方便 但是我可以忽略它。为了设置默认值,您必须单击后端中的另一个菜单项,并在列表中查找您的产品。
  4. 骗局. 。它不适用于文本,文本方面,日期,日期,时间,文件自定义选项。但是,有了一点工作,可以更改为所有类型的正确工作(也许是文件除外)。

其他提示

不是在Magento中默认。

可以通过这种方式实现。最好在进行前备份。

$option = array(
    'title' => 'Your custom option title',  
    'type' => 'checkbox', // could be drop_down ,radio , multiple
    'is_require' => 1,
    'sort_order' => 0,
    'values' => getOptions()
    );

function getOptions(){
  return array(
     array(
       'title' => 'Option Value 1',
       'price' =>100,
       'price_type' => 'fixed',
       'sku' => 'any sku for 1',
       'sort_order' => '1'
    ),
    array(
       'title' => 'Option Value 2',
       'price' =>100,
       'price_type' => 'fixed',
       'sku' => 'any sku for 2',
       'sort_order' => '1'
    ),
  array(
       'title' => 'Option Value 3',
       'price' =>100,
       'price_type' => 'fixed',
       'sku' => 'any sku for 3',
       'sort_order' => '1'
    )

); }

//假设我们正在创建一个新产品。

$product = Mage::getModel('catalog/product');
$product->setProductOptions(array($option));
$product->setCanSaveCustomOptions(true);

//如果我们将选项添加到已经创建的产品中。

$product = Mage::getModel('catalog/product')->load($id);
$product->setProductOptions(array($option));
$product->setCanSaveCustomOptions(true);

//不要忘记保存产品

$product->save();
许可以下: CC-BY-SA归因
scroll top