2013-08-07 112 views
1

我一直在努力定制销售相关产品脚本,它显示4个随机产品。错误的产品网址magento

问题是:

正常产品网址为:

/商店/ $产品名

这有时被生成的URL,如:/ $产品名称/

或网址,如:/目录/ product/view/id/$ productID/4/s/$ productname/category/$ categoryid/

我想让所有网址都一样:/ shop/$ productname

<div class="upsell"> 
<h2>You might be interested in</h2> 
    <?php // List mode ?> 
    <?php $_iterator = 0; ?> 
    <?php // Grid Mode ?> 
    <table class="products-grid upsell" id="upsell-product-table"> 
        <tbody> 
        <tr> 
    <?php $_collectionSize = $_productCollection->count() ?> 
    <?php $_columnCount = $this->getColumnCount(); $_columnCount=4; ?> 
    <?php $i=0; foreach ($_productCollection as $_product): ?> 
     <?php if ($i++%$_columnCount==0): ?> 
     <?php endif ?> 
      <td> 
      <?php // Initiate product model 
$product = Mage::getModel('catalog/product'); 

// Load specific product whose tier price want to update 
$product ->load($_product->getId()); ?> 
       <a href="<?php echo $product->getProductUrl() ?>" title="<?php echo $this->stripTags($this->getImageLabel($product, 'small_image'), null, true) ?>" class="product-image"><img src="<?php echo $this->helper('catalog/image')->init($product, 'small_image')->resize(170); ?>" width="125" height="125" alt="<?php echo $this->stripTags($this->getImageLabel($_product, 'small_image'), null, true) ?>" /></a> 
       <h3 class="product-name"><a href="<?php echo $product->getProductUrl() ?>" title="<?php echo $this->stripTags($product->getName(), null, true) ?>"><?php echo $_helper->productAttribute($product, $product->getName(), 'name') ?></a></h3> 
       <?php echo $this->getPriceHtml($product, true) ?> 

      </td> 
     <?php endforeach; ?> 
     </tr> 
     </tbody> 
     </table> 
</div> 

回答

3

尝试的

$this->getUrl('shop').$product->getUrlPath() 

代替

$product->getProductUrl() 

两个形象和产品称号。

+0

就是这样!感谢亲的答案。 –

+0

工程,但是,为什么!? –

0

如果你的索引是最新的,然后

$product->getProductUrl() 

应该给你正确的产品网址。
不要尝试从url_key,url_path和基础url中自行构建url。如果您将您的网站移至其他服务,您将遇到一些问题。此外,如果您更改产品网址中类别的配置设置,您可能会遇到问题。

+0

我的索引似乎是最新的,但它不工作,只是部分链接工作正常,可以删除所有重写url解决它?并再次创建它们? –

+0

您可以尝试它,但先备份。 – Marius

+0

清除所有重写,仍然是相同的问题。 –