특정 옵션의 수량을 입력 할 수 있도록 제품 정보> 사용자 정의 옵션 양식을 성공적으로 수정했습니다. 이제 '제목'과 '고정 가격'옆에있는 제품보기 페이지의 드롭 다운 목록에 수량이 표시되도록 노력하고 있습니다. 몇 가지 조사를 통해 Magento 1.8.1.0 : 제품 옵션 드롭 다운 목록에서 수량 표시 select.phtml
, 내가하는 옵션 레이아웃에 대한 책임있는 파일을 추적 할 수있었습니다 :응용 프로그램/디자인/프론트 엔드/기본/MY_TEMPLATE/템플릿/카탈로그/제품 /보기/옵션/형/select.phtml
그러나 이제 코드를 수정하여 드롭 다운 목록에 수량을 표시해야하는지 확실하지 않습니다. 어떤 도움을 많이 주시면 감사하겠습니다! 여기
는 select.phtml 파일의 코드입니다 :<?php
// 시작 내 사용자 지정
$_option = $this->getOption();
$configValue = $this->getProduct()->getPreconfiguredValues()->getData('options/' . $_option->getId());
$store = $this->getProduct()->getStore();
if ($_option->getType() == Mage_Catalog_Model_Product_Option::OPTION_TYPE_DROP_DOWN
|| $_option->getType() == Mage_Catalog_Model_Product_Option::OPTION_TYPE_MULTIPLE) {
$require = ($_option->getIsRequire()) ? ' required-entry' : '';
$extraParams = '';
$select = $this->getLayout()->createBlock('core/html_select')
->setData(array(
'id' => 'select_'.$_option->getId(),
'class' => $require.' product-custom-option'
));
if ($_option->getType() == Mage_Catalog_Model_Product_Option::OPTION_TYPE_DROP_DOWN) {
$title_options = ($_option->getIsRequire())?$this->htmlEscape($_option->getTitle())." *":$this->htmlEscape($_option->getTitle()) ;
$select->setName('options['.$_option->getid().']')
->addOption('', $title_options);
} else {
$select->setName('options['.$_option->getid().'][]');
$select->setClass('multiselect'.$require.' product-custom-option');
}
foreach ($_option->getValues() as $_value) {
if($_value->getPrice(($_value->getPriceType() == 'percent'))== 0){
$sign = '+';
$priceStr = $sign . $this->helper('core')->currencyByStore(0, $store, true, false);
}
else{
$priceStr = $this->_formatPrice(array(
'is_percent' => ($_value->getPriceType() == 'percent'),
'pricing_value' => $_value->getPrice(($_value->getPriceType() == 'percent'))
), false);
}
$select->addOption(
$_value->getOptionTypeId(),
$_value->getTitle() . ' ' . $priceStr . '',
array('price' => $this->helper('core')->currencyByStore($_value->getPrice(true), $store, false))
);
}
if ($_option->getType() == Mage_Catalog_Model_Product_Option::OPTION_TYPE_MULTIPLE) {
$extraParams = ' multiple="multiple"';
}
if (!$this->getSkipJsReloadPrice()) {
$extraParams .= ' onchange="opConfig.reloadPrice()"';
}
$select->setExtraParams($extraParams);
if ($configValue) {
$select->setValue($configValue);
}
$selectHtml = $select->getHtml();
}
// 내 사용자 지정
>
끝? getOption(); ?> getIsRequire()) 에코 '클래스 = "필수"'? >> getIsRequire()) 에코 '* '?> htmlEscape ($ _ 옵션 -> 인 getTitle())?> * /?>decoratedIsLast) {?> 클래스> = "마지막"
<div class="input-box">
getType로() == Mage_Catalog_Model_Product_Option :: OPTION_TYPE_DROP_DOWN || $ _option-> getType로() == Mage_Catalog_Model_Product_Option :: OPTION_TYPE_MULTIPLE) {?>
<?php echo $selectHtml; ?>
<?php
} else{
echo $this->getValuesHtml(); ?>
<?php } ?>
<?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>