8

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 .

4

3 に答える 3

4

ダスティン・グラハムが言ったように、それは非常にトリッキーです。最初のステップ:

  1. の下に新しいノードを追加しますglobal/catalog/product/options/custom/groups。の例を参照してください/app/code/core/Mage/Catalog/etc/config.xml

  2. カスタム オプションをレンダリングする新しいブロックを作成します。

  3. Mage_Catalog_Model_Product_Optionカスタム型オプションの保存 (saveOptions()メソッド ) とカスタム型オプションの読み込み( メソッド ) を書き直して実装しますgetProductOptionCollection

カスタムタイプがあまりカスタムでない場合:)-それで十分です。

于 2012-09-27T22:09:57.697 に答える
0

@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 を介して選択を操作できます。

于 2016-06-29T20:55:56.297 に答える