2012-12-03 68 views
2

我一直在困難中。我正在使用另一臺服務器進行圖片上傳。首先讓我詳細說明這個問題。需要顯示目錄圖像未找到,而不是佔位符在magento

當我從媒體文件夾中手動刪除圖像時,現在佔位符圖像正在顯示。

最初

目錄/產品/高速緩存/ 1 /圖像/ 9df78eab33525d08d6e5fb8d27136e95/C/O /控制欄 - 白 - small.jpg

刪除圖像之後手動

目錄/產品/高速緩存/ 1 /圖像/ 9df78eab33525d08d6e5fb8d27136e95 /圖像/目錄/產品/佔位符/ image.jpg的

我的要求是我的店還是應該獲取相同的圖像URL作爲在數據庫中刪除,因爲圖像路徑之前仍然存在。

請幫忙。

回答

0

這是一個核心magento行爲,以便沒有圖像的產品將顯示佔位符而不是破碎的圖像,所以除非您在app/code/core/Mage/Catalog/Model中對核心圖像/幫助程序進行了很多更改/Product/Image.php唯一的另一種方法是更改​​佔位符。

您是否想過更改佔位符圖像?

在管理中的系統>配置>目錄>產品圖像佔位符下,您可以上傳新文件。

core_config_data表

+0

呀,這是Magento的一個默認功能,但由於使用另一臺服務器的圖像上傳,我希望讓它獨立的圖像文件在Magento媒體。我遵循了你所建議的相同概念,並進行了一個非常簡單的修復,我在3個寶貴的日子裏收集了這個修理。 –

0

我解決我的問題。我提到了解決方案。

去OnePica_ImageCDN-1.0.9 \ OnePica \ ImageCdn \型號\適配器\ Amazons3.php

替換此

公共職能的getURL($文件名)

{

$type = Mage::app()->getStore()->isCurrentlySecure() ? 'url_base_secure' : 'url_base'; 

    $base_url = Mage::getStoreConfig('imagecdn/amazons3/' . $type); 

    $filename = $base_url . $this->getRelative($filename); 

    return str_replace('\\', '/', $filename); 

} 

by

public function getUrl($ filename)

{

$type = Mage::app()->getStore()->isCurrentlySecure() ? 'url_base_secure' : 'url_base'; 

$base_url = Mage::getStoreConfig('imagecdn/amazons3/' . $type); 


    $product = Mage::registry('current_product'); 

    $productId = $product->getId(); 

    $resource = Mage::getSingleton('core/resource')->getConnection('core_write'); 

    $imageName = $resource->fetchOne("select value from catalog_product_entity_varchar where attribute_id=86 && entity_id = ".$productId); 

    $filename = $base_url . $this->getRelative($filename); 

    $filename = substr($filename, 0, -22); 

    $filename = $filename.$imageName; 

    return str_replace('\\', '/', $filename); 
} 
相關問題