製品用に作成されたカスタムオプションがあります。ユーザーがフロントエンドをチェックするとデフォルトのオプションが「選択してください」の代わりに表示されるように、カスタムオプションのデフォルトとしていくつかのオプションを設定する必要があります。
シンプルな製品のカスタムオプションの拡張機能のデフォルトの状態を 1つ見つけました
でも、オプションをつくっているところに出せるか探しています。
製品用に作成されたカスタムオプションがあります。ユーザーがフロントエンドをチェックするとデフォルトのオプションが「選択してください」の代わりに表示されるように、カスタムオプションのデフォルトとしていくつかのオプションを設定する必要があります。
シンプルな製品のカスタムオプションの拡張機能のデフォルトの状態を 1つ見つけました
でも、オプションをつくっているところに出せるか探しています。
回答:
に行く Mage/Catalog/Block/Product/View/Options/Type/Select.php::getValuesHtml()
コメント(59行目)のaddOption
一部
$select->setName('options['.$_option->getid().']');
->addOption('', $this->__('-- Please Select --'));
すなわち
/ *- >addOption('', $this->__('-- Please Select --'));
* /
これで問題が解決することを願っています。
私はあなたがその形で製品を持っていると思います:
$product = Mage::getModel('catalog/product');
$product->setWebsiteIds(array(1));//Your website id
$product->setAttributeSetId(9);//Your attribute code
$product->setName('A name');
.
.
more attributes you want to set.
After that you need this code:
$optionInstance = $product->getOptionInstance()->unsetOptions();
$product->setHasOptions(true);
$optionInstance->addOption($this->makeCustomOptions());
$product->setCanSaveCustomOptions(true);
$optionInstance->setProduct($product);
$product->save();
protected function makeCustomOptions(){
return $option = array(
'title' => 'Licenses',
'type' => 'drop_down',//That can be checkbox and more
'is_require' => 0,//1 if required
'values'=>array(//These are the options
array(
'title' => "30 Days",
'price' => -5,
'price_type' => "fixed",
'sku' => "30"
),
array(
'title' => "365 Days",
'price' => -3,
'price_type' => "fixed",
'sku' => "365"
),
array(
'title' => "730 Days",
'price' => -2,
'price_type' => "fixed",
'sku' => "730"
)
)
);
}
それだけです。好きなように変更できます。