Magento: getProductUrl not returning URL ReWrites


Magento: getProductUrl not returning URL ReWrites

令我非常沮丧的是,我似乎无法获得以下代码来实现我想要的结果。

以下代码提供的URL如下所示。。。

mywebsite.co.uk/catalog/product/view/id/5980/s/classic-army-ca063m-stoner-lmg-eg/category/263/

我所寻求的理想结果将更符合这一点。。。

mywebsite.co.uk/classic-army-ca063m-stoner-lmg-eg.html

或者这个。。。

mywebsite.co.uk/aegs/classic-army-ca063m-stoner-lmg-aeg.html

我恐怕要说,我花了好几个小时阅读并尝试替代代码建议,但这只疲惫、疲惫不堪的老山羊就是想不通。因此,如果有人能伸出善意之手,向我展示我的错误,我将不胜感激。

public function _construct() {
    parent::_construct();
    $this->_init('pticker/pticker');
}
public function fetchProducts() {
    $_productCollection = Mage::getModel('catalog/product')->getCollection();
    $_productCollection->addFieldToFilter(array
        (array('attribute' => 'Status', 'eq' => '1'),
    ));
    $_productCollection->addFieldToFilter(array
        (array('attribute' => 'appearinticker', 'eq' => '1'),
    ));
    $product = array();
    $linkText= Mage::getStoreConfig('pticker/color/linktext');
    if($linkText == ''){$linkText = 100;}
    if (count($_productCollection) > 0) {
        $count = 0;
        $i = 0;
        foreach ($_productCollection as $_product) {
            $model = Mage::getModel('catalog/product');
            $_product = $model->load($_product->getId());
            $title= $_product->getTickertitle();
            if($title == ''){$title = $_product->getName();}
            if(strlen($title) > $linkText){
            $title = substr($title,0, $linkText);
            $title .= '...';
            }
            $product[$i]['title'] = htmlspecialchars($title);
            $product[$i]['link'] = $model->getProductUrl();
            $i++;
        }
    }
   // print_r($product);
    return $product;
}
<?php 
$_productCollection->addFieldToFilter(array
        (array('attribute' => 'appearinticker', 'eq' => '1'),
    ));

//add below line after product collection filter to rewrite URL  .
$_productCollection->addUrlRewrite();