2016-05-09 49 views
0

所有我試着去的ID在我的一些Magento的產品的自定義選項添加到我的投入,目前它的產生如下:通過Magento的生成如何將輸入ID添加到我在magento產品中的自定義選項中?

<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和理想我想要的選項給它我自己的ID而不是產生一個,

這個想法很簡單,當有人選擇是的個性化選項它會顯示名稱&數字框,我得到它在一個產品上工作,但輸入ID是不同的產品,所以我只是困惑如何做到這一點,我搜索互聯網,並在那裏告訴我如何添加自定義輸入,而不是添加另一列作爲我可以用我自己的ID:

enter image description here

enter image description here

任何幫助,將不勝感激。

+0

我認爲輸入ID magento生成使用它的選項ID。所以在任何情況下,您都更容易獲得id。像「options _ <?php echo $ optionsId;?> _ id」。現在你可以得到所有的ID。根據這個做你的定製。 Magento使用一個匹配。嘗試找到它。 –

回答

1

目前沒有辦法(沒有您自己的定製)爲新屬性添加/定義單個ID。

根據屬性的類型(日期,文件,選擇,文本/輸入),您可以在app/design/frontend/base/default/template/catalog/product/view/options/type/中找到這些模板。正如你在這些文件中看到的那樣,ID是動態生成的。

例,用於輸入/文字區域,文件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> 

當然,你可以通過覆蓋自定義此模板。爲此,您將此文件複製到您的自定義設計所在的路徑中,即i。即app/design/frontend/default/<YOUR NEW THEME NAME>/template/catalog/product/view/options/type/text.phtml。然後您可以調整模板,但需要確保其他字段仍然適用於您所做的自定義。

+0

我設法將自己的專欄添加到本指南中的自定義選項菜單中:http://www.ashrafulabedein.com/magento-adding-extra-feild-css-class-in-custom-options/但它沒有保存到數據庫:/ – MrJoshFisher

+0

這不是修改核心文件的正確方法,即Magento的'app \ code \ core \ Mage \ Adminhtml \ Block \ Catalog \ Product \ Edit \ Tab \ Options \ Option.php',因爲所有更改都將在下次更新時消失。請考慮編寫您自己的模塊。 – codedge

+0

我們不打算更新magento作爲我們擁有的主題不再被開發,所以如果我們更新magento它可能會破壞我們的主題:/ – MrJoshFisher

相關問題