Hello!
When dealing with a bundled product, the associated bundle items when in the drop-down option, will display the product title along with the additional price. I have been tinkering yet unable to figure out how to include the SKU of the product as well. I believe the correct file would be the select.phtml within
/base/default/template/bundle/catalog/product/view/type/bundle/option/select.phtml
However through my feeble attempts, I have not been able to include the SKU. Any ideas? Below is the file for ease of access:
<?php /* @var $this Mage_Bundle_Block_Catalog_Product_View_Type_Bundle_Option_Select */ ?> <?php $_option = $this->getOption(); ?> <?php $_selections = $_option->getSelections(); ?> <?php $_default = $_option->getDefaultSelection(); ?> <?php list($_defaultQty, $_canChangeQty) = $this->_getDefaultValues(); ?> <?php $tierPriceHtml = ''; ?> <dt> <label<?php if ($_option->getRequired()) echo ' class="required"' ?>><?php echo $this->escapeHtml($_option->getTitle()) ?><?php if ($_option->getRequired()) echo '<em>*</em>' ?></label> </dt> <dd<?php if ($_option->decoratedIsLast){?> class="last"<?php }?>> <div class="input-box"> <?php /** @var $_selection Mage_Catalog_Model_Product*/ ?> <?php if ($this->_showSingle()): ?> <?php echo $this->getSelectionTitlePrice($_selections[0]); ?> <?php if ($_selections[0]->getSelectionCanChangeQty()): ?> <?php $tierPriceHtml = $this->getTierPriceHtml($_selections[0]); ?> <?php endif; ?> <input type="hidden" name="bundle_option[<?php echo $_option->getId() ?>]" value="<?php echo $_selections[0]->getSelectionId() ?>"/> <?php else:?> <select onchange="bundle.changeSelection(this)" id="bundle-option-<?php echo $_option->getId() ?>" name="bundle_option[<?php echo $_option->getId() ?>]" class="bundle-option-<?php echo $_option->getId() ?><?php if ($_option->getRequired()) echo ' required-entry' ?> bundle-option-select change-container-classname"> <option value=""><?php echo $this->__('Choose a selection...') ?></option> <?php foreach ($_selections as $_selection): ?> <?php if ($_selection->getSelectionCanChangeQty() && $this->_isSelected($_selection)): ?> <?php $tierPriceHtml = $this->getTierPriceHtml($_selection); ?> <?php endif; ?> <option value="<?php echo $_selection->getSelectionId() ?>"<?php if ($this->_isSelected($_selection)) echo ' selected="selected"' ?><?php if (!$_selection->isSaleable()) echo ' disabled="disabled"' ?>><?php echo $this->getSelectionTitlePrice($_selection, false) ?></option> <?php endforeach; ?> </select> <?php endif; ?> </div> <span id="bundle-option-<?php echo $_option->getId() ?>-tier-prices"> <?php echo $tierPriceHtml; ?></span> <span class="qty-holder"> <label for="bundle-option-<?php echo $_option->getId() ?>-qty-input"><?php echo $this->__('Qty:') ?> </label><input onkeyup="bundle.changeOptionQty(this, event)" onblur="bundle.changeOptionQty(this, event)" <?php if (!$_canChangeQty) echo ' disabled="disabled"' ?> id="bundle-option-<?php echo $_option->getId() ?>-qty-input" class="input-text qty<?php if (!$_canChangeQty) echo ' qty-disabled' ?>" type="text" name="bundle_option_qty[<?php echo $_option->getId() ?>]" value="<?php echo $_defaultQty ?>"/> </span> </dd>
Solved! Go to Solution.
After a day of racking my brain (as I don't know much php at all) I have found a solution, though maybe not the prettiest or most elegant, it works.
Within the said file;
/base/default/template/bundle/catalog/product/view/type/bundle/option/select.phtml
I added to the top:
<?php $_product = $this->getProduct(); ?>
And within the line that spits out each dropdown option, I added:
<?php echo $this->__('SKU: ') . $this->htmlEscape($_selection->getData('sku'));?>
Which then prints out each SKU for each different dropdown item after its title and price. Hope it can help someone.
After a day of racking my brain (as I don't know much php at all) I have found a solution, though maybe not the prettiest or most elegant, it works.
Within the said file;
/base/default/template/bundle/catalog/product/view/type/bundle/option/select.phtml
I added to the top:
<?php $_product = $this->getProduct(); ?>
And within the line that spits out each dropdown option, I added:
<?php echo $this->__('SKU: ') . $this->htmlEscape($_selection->getData('sku'));?>
Which then prints out each SKU for each different dropdown item after its title and price. Hope it can help someone.