Удаление цены из опций товара в корзине оформления заказа magento

Я ищу способ удалить значение элемента-опции из корзины оформления заказа, просто удалив текст, как выделено ниже: введите здесь описание изображения

Я считаю, что это находится в файле app/design/frontend/base/default/template/checkout/cart/item/default.phtml как «item-option»

<?php if ($_options = $this->getOptionList()):?>
        <dl class="item-options">
            <?php foreach ($_options as $_option) : ?>
            <?php $_formatedOptionValue = $this->getFormatedOptionValue($_option) ?>
            <dt><?php echo $this->htmlEscape($_option['label']) ?></dt>
            <dd<?php if (isset($_formatedOptionValue['full_view'])): ?> class="truncated"<?php endif; ?>><?php echo $_formatedOptionValue['value'] ?>
                <?php if (isset($_formatedOptionValue['full_view'])): ?>
                <div class="truncated_full_value">
                    <dl class="item-options">
                        <dt><?php echo $this->htmlEscape($_option['label']) ?></dt>
                        <dd><?php echo $_formatedOptionValue['full_view'] ?></dd>
                    </dl>
                </div>
                <?php endif; ?>
            </dd>
            <?php endforeach; ?>
        </dl>
        <?php endif;?>

Спасибо за помощь


person user994319    schedule 15.04.2013    source источник
comment
К вашему сведению, у Magento теперь есть собственный сайт StackExchange: magento.stackexchange.com.   -  person John Conde    schedule 15.04.2013


Ответы (2)


Чтобы решить эту проблему, вы должны переопределить класс *Mage_Bundle_Helper_Catalog_Product_Configuration*.

Создайте в локальном пуле новую папку Mage с соответствующими подпапками помощника.

/---app
|   /---code
|       /---local
|           /---Mage
|               /---Bundle
|                   /---Helper
|                       /---Catalog
|                           /---Product
|                               /---Configuration.php

Скопируйте помощник и отредактируйте метод getBundleOptions. Вы должны удалить в $option['value'] этот код

Mage::helper('core')->currency($this->getSelectionFinalPrice($item, bundleSelection)

Чтобы получить этот новый метод

   public function getBundleOptions(Mage_Catalog_Model_Product_Configuration_Item_Interface $item)
    {
        $options = array();
        $product = $item->getProduct();

        /**
         * @var Mage_Bundle_Model_Product_Type
         */
        $typeInstance = $product->getTypeInstance(true);

        // get bundle options
        $optionsQuoteItemOption = $item->getOptionByCode('bundle_option_ids');
        $bundleOptionsIds = $optionsQuoteItemOption ? unserialize($optionsQuoteItemOption->getValue()) : array();
        if ($bundleOptionsIds) {
            /**
            * @var Mage_Bundle_Model_Mysql4_Option_Collection
            */
            $optionsCollection = $typeInstance->getOptionsByIds($bundleOptionsIds, $product);

            // get and add bundle selections collection
            $selectionsQuoteItemOption = $item->getOptionByCode('bundle_selection_ids');

            $selectionsCollection = $typeInstance->getSelectionsByIds(
                unserialize($selectionsQuoteItemOption->getValue()),
                $product
            );

            $bundleOptions = $optionsCollection->appendSelections($selectionsCollection, true);
            foreach ($bundleOptions as $bundleOption) {
                if ($bundleOption->getSelections()) {
                    $option = array(
                        'label' => $bundleOption->getTitle(),
                        'value' => array()
                    );

                    $bundleSelections = $bundleOption->getSelections();

                    foreach ($bundleSelections as $bundleSelection) {
                        $qty = $this->getSelectionQty($product, $bundleSelection->getSelectionId()) * 1;
                        if ($qty) {
                            $option['value'][] = $qty . ' x ' . $this->escapeHtml($bundleSelection->getName());

                        }
                    }

                    if ($option['value']) {
                        $options[] = $option;
                    }
                }
            }
        }

        return $options;
    } 
person miroku    schedule 16.04.2013

Вы также можете добиться того же результата с помощью чистого css. Попробуйте следующий код в вашем css, чтобы удалить цены на товары в комплекте.

.item-options dd span.price{ display:none; }

person itsandy    schedule 23.04.2013