cancel
Showing results for 
Search instead for 
Did you mean: 

Include SKU within Bundle Option DropDown

SOLVED
   Did you know you can see the translated content as per your choice?

Translation is in progress. Please check again after few minutes.

Include SKU within Bundle Option DropDown

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:') ?>&nbsp;</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>
1 ACCEPTED SOLUTION

Accepted Solutions

Re: Include SKU within Bundle Option DropDown

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.

View solution in original post

1 REPLY 1

Re: Include SKU within Bundle Option DropDown

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.