如何在magento产品的自定义选项中添加输入ID?

时间:2016-05-09 12:21:26

标签: php magento

所有我试图在我的一些magento产品的自定义选项中为我的输入添加ID,目前其生成如下:

<input type="text" onchange="opConfig.reloadPrice()" id="options_35_text" class="input-text  validate-length maximum-length-20 product-custom-option" name="options[35]" value="">

ID是通过magento生成的,理想情况下我希望该选项为其提供自己的ID,而不是生成一个,

这个想法很简单,当有人在个性化选项中选择“是”时,它会显示“姓名”和“名称”。数字盒,我已经让它在一个产品上工作,但每个产品的输入ID是不同的所以我只是混淆了如何做到这一点,我搜索互联网,并告诉我如何添加自定义输入而不是添加另一列作为我可以使用我自己的ID:

enter image description here

enter image description here

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)

目前没有办法(没有自己的自定义)为新属性添加/定义个人ID。

根据属性的类型(日期,文件,选择,文本/输入),您可以找到app/design/frontend/base/default/template/catalog/product/view/options/type/中的模板。正如您在这些文件中看到的那样,ID是动态生成的。

输入/ textareas的示例,文件app/design/frontend/base/default/template/catalog/product/view/options/type/text.phtml

<?php $_option = $this->getOption(); ?>
<dt><label<?php if ($_option->getIsRequire()) echo ' class="required"' ?>><?php if ($_option->getIsRequire()) echo '<em>*</em>' ?><?php echo  $this->escapeHtml($_option->getTitle()) ?></label>
    <?php echo $this->getFormatedPrice() ?></dt>
<dd<?php if ($_option->decoratedIsLast){?> class="last"<?php }?>>
    <div class="input-box">
    <?php if ($_option->getType() == Mage_Catalog_Model_Product_Option::OPTION_TYPE_FIELD): ?>
        <input type="text" onchange="opConfig.reloadPrice()" id="options_<?php echo $_option->getId() ?>_text" class="input-text<?php echo $_option->getIsRequire() ? ' required-entry' : '' ?> <?php echo $_option->getMaxCharacters() ? ' validate-length maximum-length-'.$_option->getMaxCharacters() : '' ?> product-custom-option" name="options[<?php echo $_option->getId() ?>]" value="<?php echo $this->escapeHtml($this->getDefaultValue()) ?>" />
    <?php elseif ($_option->getType() == Mage_Catalog_Model_Product_Option::OPTION_TYPE_AREA): ?>
        <textarea id="options_<?php echo $_option->getId() ?>_text" onchange="opConfig.reloadPrice()" class="<?php echo $_option->getIsRequire() ? ' required-entry' : '' ?> <?php echo $_option->getMaxCharacters() ? ' validate-length maximum-length-'.$_option->getMaxCharacters() : '' ?> product-custom-option" name="options[<?php echo $_option->getId() ?>]" rows="5" cols="25"><?php echo $this->escapeHtml($this->getDefaultValue()) ?></textarea>
    <?php endif; ?>
    <?php if ($_option->getMaxCharacters()): ?>
        <p class="note"><?php echo Mage::helper('catalog')->__('Maximum number of characters:')?> <strong><?php echo $_option->getMaxCharacters() ?></strong></p>
    <?php endif; ?>
    </div>
</dd>

当然,您可以通过覆盖来自定义此模板。为此,您将此文件复制到自定义设计所在的路径,即。即app/design/frontend/default/<YOUR NEW THEME NAME>/template/catalog/product/view/options/type/text.phtml。然后,您可以调整模板,但需要确保其他字段仍然适用于您所做的自定义。