カスタムのPOS管理者Magento拡張機能があります。POSページの管理製品グリッドにサムネイルを追加しようとしています。すべての製品にサムネイル画像がある場合は、100%正常に機能します。しかし、画像のない製品があると、コードは完全に壊れます。
このコードを変更してサムネイルがあるかどうかを確認し、ない場合はプレースホルダーを表示するにはどうすればよいですか(代替のHTMLで問題ありません)。
<?php
class MDN_PointOfSales_Block_Widget_Grid_Column_Renderer_Thumbnail
extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
{
public function render(Varien_Object $row)
{
$cProduct = Mage::getModel("catalog/product");
$cProductId = $row->getId();
$cProduct->load($cProductId); // works for product IDs w/ a thumbnail. Breaks if no thumbnail set.
// For example, the following line works, loading the thumbnail for the 5533 product for all rows in the grid:
// $cProduct->load(5533);
$cMyUrl = $cProduct->getThumbnailUrl();
$html = '<img ';
$html .= 'src="' . $cMyUrl . '"';
$html .= 'class="grid-image ' . $cProductId . '"/>';
return $html;
}
}
?>
サムネイルがない場合、ページ全体でエラーが発生します: http ://www.screencast.com/t/zk6jVChiAC