Magento目录型号产品图片

时间:2015-01-30 08:37:04

标签: php image magento product

我有一个Magento网站,我在其中使用扩展程序,其中包括创建具有更好压缩的新产品图像并将其存储在专用路径下。 我还有一个构建xml站点地图的例程,包括图像。 我的问题是,当新图像加载到产品页面中时,我仍然可以从我的例程中获取/ media / catalog / product / cache /等旧的URL。

执行的代码是这样的:

$collection = Mage::getResourceModel('xsitemap/catalog_product_xml')
            ->getCollection($this->_storeId, false, $limit, $this->_counter);

$this->_counter += $limit;
foreach ($collection as $item) {
    if ($isProductImages) {
        $imageUrl = array();
        $product = Mage::getModel('catalog/product');
        $product->setStore($this->_storeId);
        $product->load($item->getId());
        if(is_object($product)) {
            $imageObj = Mage::helper('catalog/image')->init($product, 'image');
            $urlIm = $imageObj->__toString();
            $imageUrl[] = $urlIm;
        }
    }
}

很明显,如果我从扩展程序外部运行此代码,使用Magento root下的临时类,我会为同一产品获取不同的URL,正好是新的图像URL。 如果说明相同,我不明白为什么我会得到不同的结果。 顺便说一下,我的临时课就是这样写的:

<?php
require_once 'app/Mage.php';
umask(0);
Mage::app();

class Pippo {

    public $_helper;
    public $_storeId;
    public $_storeBaseUrl;

    public function __construct() {

    }

    public function __init() {
        $this->_storeId = 1;
        $this->_helper = Mage::helper('xsitemap');
        $this->_helper->init($this->_storeId);
        $this->_storeBaseUrl        = "http://www.example.com";

        $isProductImages     = $this->_helper->isProductImages();

        $collection = Mage::getResourceModel('xsitemap/catalog_product_xml')
                    ->getCollection(1, false);

        foreach ($collection as $item) {
            $url     = $this->_storeBaseUrl . $item->getUrl();
            //$lastmod = $this->_getItemChangeDate($item);
            if ($isProductImages) {
                $imageUrl = array();
                $product = Mage::getModel('catalog/product');
                $product->setStore($this->_storeId);
                $product->load($item->getId());
                if(is_object($product)) {
                    $imageObj = Mage::helper('catalog/image')->init($product, 'image');
                    $urlIm = $imageObj->__toString();
                    $imageUrl[] = $urlIm;
                    var_dump($imageUrl); exit;
                }   
            }
        }
    }   
}
$pippo = new Pippo();
$pippo->__init(); 
?>   

0 个答案:

没有答案