Пользовательский модуль добавить в корзину сообщение об успехе Magento - PullRequest
1 голос
/ 16 марта 2012

В моем пользовательском модуле я хочу показать сообщение об успешном добавлении в корзину.У меня есть следующий фрагмент кода в моем файле .phtml:

echo '<form action="/checkout/cart/add/product/'.$_product->getId().'/" method="get">'."\n";
$_attributes = $_product->getTypeInstance(true)->getConfigurableAttributesAsArray( $_product );
echo '<div class="product-attribute-options">'."\n";
$_child_products = Mage::getModel( 'catalog/product_type_configurable' )->getUsedProducts( null, $_product );
foreach( $_child_products as $_child_product ):
    if( $_child_product->isSaleable() ):
        $_child_product_qty = Mage::getModel('cataloginventory/stock_item')->loadByProduct( $_child_product->getId() )->getQty();
        if( $_child_product_qty > 0 ):
            $_child_product_size_label = $_child_product->getResource()->getAttribute('size')->getFrontend()->getValue( $_child_product );
            $_child_product_size_val = Mage::getResourceModel('catalog/product')->getAttributeRawValue( $_child_product->getId(), 'size', Mage::app()->getStore()->getId() );
            echo '<button value="'.$_child_product_size_val.'">'.$_child_product_size_label.'</button>'."\n";
        endif;
    endif;
endforeach;
echo '<input type="hidden" class="super_attribute_val" name="super_attribute[145]" value="" />'."\n";
echo '</div>'."\n";
echo '<input type="hidden" name="qty" value="1" />'."\n";
echo '<div class="add-to-cart">'."\n";
echo '<button class="button btn-cart"><span>'.$this->__('Buy Now').'</span></button>'."\n";
echo '</div>'."\n";
echo '</form>'."\n";

При нажатии кнопки «Купить сейчас» он добавляет товар в корзину, но я также хочу показать зеленое сообщение об успехе сверху.

РЕДАКТИРОВАНИЕ

Мне посоветовали вызвать следующую функцию:

function showMessage(txt, type) {
    var html = '<ul class="messages"><li class="'+type+'-msg"><ul><li>' + txt + '</li></ul></li></ul>';
    $('messages').update(html);
}

Но, учитывая мою форму, я не уверен, куда это вызыватьфункция от.У меня есть:

echo '<button class="button btn-cart"><span>'.$this->__('Buy Now').'</span></button>'."\n"; 

и при нажатии на кнопку он отправляет форму с действием get.

1 Ответ

1 голос
/ 16 марта 2012

Я думаю, что этот код может помочь вам:

Mage::getSingleton(‘customer/session’)->addMessage("Your message");

Кроме того, этот ответ может быть интересным для вас.

Может быть, вам нужно использовать $this->getMessagesBlock()->getGroupedHtml();в вашем шаблоне.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...