2017-01-10 68 views
0

我正在將產品目錄導入到Prestashop商店,但由於產品顯示的是帶有審訊標誌的默認圖像,因此圖像網址被破壞時出現問題。如何從Prestashop導入跳過損壞的圖片網址?

我的想法是跳過那些url並且不要使用默認未知圖片。任何想法呢?

這是當圖像的URL被打破

enter image description here

這是因爲圖像消失的一些圖像默認

enter image description here

+0

你好,請您提供迄今(示例代碼)做了什麼讓社區可以幫助你更好的。 – Yaje

+0

這個想法只是使用一些驗證,可能在Prestashop 1.6.1.10核心跳過這些網址。但我沒有代碼顯示,我正在使用一個模塊導入名爲的XML:**高級XML和CSV導入器** –

+1

我建議通過[XPATH](http:// http://)查找映像上的SRC屬性。 en.wikipedia.org/wiki/XPath)。然後只有運行代碼才能導入它,如果它不匹配默認圖像的URL。但是,由於您沒有提供任何代碼,因此我無法確切說明您應該如何執行此操作。 –

回答

0

感謝您的幫助。我可以做那個腳本,但是這個解決方案不會很有用,因爲我每小時導入目錄。

我想出了一個解決方案,這是增加了一些更改導入模塊,所以現在的模塊之前進口的URL它會檢查和file_exists()而不是拋出一個新的異常將do unset()該圖像的URL,以便與該是足夠的我的解決方案謝謝大家。

這是代碼:

// Get images real path, and check exists 
    foreach ($images as $key => $img) { 
     /*if (preg_match('/:\/\//', $images[$key]->value)) { 
      continue; 
     }*/ 

     $url = $images[$key]->value; 

     $filename = explode('=',$url)[1]; 

     $images[$key]->value = _PS_ROOT_DIR_.'/testimg/'.$filename.'.jpg'; 

     if (!file_exists($images[$key]->value)) 
     { 
      unset($images[$key]); 
      //throw new Exception("File {$images[$key]->value} not found."); 
     } 
    } 
0

產品的圖像中列出的產品中使用的默認圖像在ps_image表中。您應該執行一個腳本,刪除/img/p/文件夾中不存在的所有圖像。

您可以在backffoffice圖像選項菜單中進行圖像大小調整,但我不確定這是乾淨的數據庫。

祝你好運。