我一直致力于定制销售相关产品脚本,该脚本显示4种随机产品。
问题是:
正常产品网址是:
/商店/ $产品名
这有时会生成url:/ $ productname /
或url like:/ catalog / 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>
答案 0 :(得分:3)
尝试
$this->getUrl('shop').$product->getUrlPath()
而不是
$product->getProductUrl()
图片和产品标题。
答案 1 :(得分:0)
如果您的索引是最新的,那么
$product->getProductUrl()
应该给你正确的产品网址 不要尝试从url_key,url_path和基本URL等部分构建url。如果您将网站移至其他服务,则会遇到一些问题。此外,如果您更改产品网址中类别的配置设置,则可能会遇到问题。