0

私は、このサイトの人々の助けと Christian Young @ http://workingmagento.blogspot.ca/の素敵な記事を参考にして、単一のカテゴリの製品リストを生成する magento テンプレート モジュールを作成しました。

唯一の問題は、href URL が適切にレンダリングされないことです。

URL は次のようになります。

 <button class="button btn-cart" onclick="setLocation('http://shop.com/en/checkout/cart/add?product=&qty=1')" type="button">

URL は次のようになります。

 <button class="button btn-cart" type="button" onclick="setLocation('http://mshop.com/en/checkout/cart/add/uenc/aHR0cDovL3Nob3Btc2N0ZXN0LmNvbS9lbi9tb2JpbGU4MjAwLmh0bWw,/product/12/')">

コードは次のとおりです。

$productCollection = Mage::getModel('catalog/category')->load(4)
    ->getProductCollection()
    ->addAttributeToSelect('*')
    ->addAttributeToFilter('status', 1)
    ->addAttributeToFilter('visibility', 4)
    ->setOrder('price', 'ASC');
?>

<div class='block block-list'> 
<div class='block-title'><strong><span><?php echo $this->__('SPECIALS') ?></span></strong></div>
    <div class='block-content'> 
        <ul>
            <h2><?php echo $this->__( $this->getLabel() ); ?></h2>
            <?php foreach ($productCollection as $product): ?>
                <div class="item">
                    <a class="product-image" href="<?php echo $product->getProductUrl() ?>">
                        <img src="<?php echo $this->helper('catalog/image')->init($product, 'small_image')->resize(150); ?>" alt="<?php echo $this->htmlEscape($this->getImageLabel($product, 'small_image')) ?>" />
                    </a>
                    <a class="product-name" href="<?php echo $product->getProductUrl() ?>"><?php echo $this->htmlEscape($product->getName()) ?></a>                     
                   <?php echo $this->getPriceHtml($product, true) ?>                       
                </div>

                <div class="cms-price-box" style=" text-align:center;"></div>
                <div class="button-row" style="text-align:center;">                 
                    <button class="button btn-cart" type="button" onclick="setLocation('<?php echo $this->getUrl('')."checkout/cart/add?product=".$this->getId()."&qty=1"  ?>')" class="button"><span><?php echo $this->__('Add to Cart') ?></span></button>
                </div>
                <br/><br/>
            <?php endforeach ?>
        </ul>
     </div>
</div>
4

1 に答える 1

0

次のコードを試してください。

<?php
    /** @var $cartHelper Mage_Checkout_Helper_Cart */
    $cartHelper = Mage::helper('checkout/cart');
?>
<button class="button btn-cart" type="button" onclick="setLocation('<?php echo $cartHelper->getAddUrl($product); ?>')" class="button">

また、Mage_Checkout_Helper_Cart::getAddUrl() メソッドの 2 番目のパラメーターとして追加のオプションを追加することもできます。

于 2012-09-13T21:42:55.983 に答える