How to create new product custom options type in magento, for example I have to give new image custom option type in magento which fetch image from my custom module table and I want to assign that image to my custom options image field .
3 に答える
ダスティン・グラハムが言ったように、それは非常にトリッキーです。最初のステップ:
の下に新しいノードを追加します
global/catalog/product/options/custom/groups
。の例を参照してください/app/code/core/Mage/Catalog/etc/config.xml
。カスタム オプションをレンダリングする新しいブロックを作成します。
Mage_Catalog_Model_Product_Option
カスタム型オプションの保存 (saveOptions()
メソッド ) とカスタム型オプションの読み込み( メソッド ) を書き直して実装しますgetProductOptionCollection
。
カスタムタイプがあまりカスタムでない場合:)-それで十分です。
@Mufaddal このリンクを共有してくれてありがとう。かなりの知識が必要なので、これに代わるものを提供したいと思います。
特定のドロップダウン (たとえば) の表示方法のみを変更しようとしている場合は/template/catalog/product/view/options/type/select.phtml
、次のように上書きすることもできます。
` getOption() ?>
<dt><label<?php if ($_option->getIsRequire()) echo ' class="required"' ?>><?php if ($_option->getIsRequire()) echo '<em>*</em>' ?><?php echo $this->escapeHtml($_option->getTitle()) ?></label> </dt>
<dd<?php if ($_option->decoratedIsLast){?> class="last"<?php }?>>
<div class="input-box">
<?php echo $this->getValuesHtml(); ?>
<?php if($_option->option_id == 2) : ?>
<script type="text/javascript">
jQuery('#select_2').css('display', 'none');
</script>
<?php foreach ($_option->getValues() as $_value) { ?>
<?php echo $_value->getTitle(); // the title of the option ?>
<?php echo $_value->getOptionTypeId(); // the id ?>
<?php } ?>
<!-- add custom code that triggers select in the background -->
<?php endif ?>
<?php if ($_option->getIsRequire()): ?>
<?php if ($_option->getType() == Mage_Catalog_Model_Product_Option::OPTION_TYPE_RADIO || $_option->getType() == Mage_Catalog_Model_Product_Option::OPTION_TYPE_CHECKBOX): ?>
<span id="options-<?php echo $_option->getId() ?>-container"></span>
<?php endif; ?>
<?php endif;?>
</div>
`
その後、選択を非表示にして、jQuery を介して選択を操作できます。