编辑删除旧答案,因为我误解了这个问题。
好吧,这次我希望我能正确理解你想要什么。要从添加到购物车的产品中获取自定义选项图像的 URL,您可以从报价项目中获取它:
$item = $this->getItem();
$optionIds = $item->getOptionByCode('option_ids');
if( $optionIds ) {
$options = array();
foreach( explode( ',', $optionIds->getValue() ) as $optionId ) {
$option = $this->getProduct()->getOptionById( $optionId );
if( $option->getData( 'type' ) == 'file' ) {
$option = $item->getOptionByCode( 'option_' . $optionId );
$value = unserialize( $option->getData( 'value' ) );
var_dump( $value );
var_dump( Mage::getUrl( 'sales/download/downloadCustomOption', array( 'id' => $option->getId(), 'key' => $value[ 'secret_key' ] ) ) );
echo '<img src="' . Mage::getUrl( 'sales/download/downloadCustomOption', array( 'id' => $option->getId(), 'key' => $value[ 'secret_key' ] ) ) . '"/>';
}
}
}
输出:它 var 转储下载 url 和 $value 内容($value['fullpath'] 是图像文件的位置,但禁止从浏览器访问它 - 您必须将文件移动到媒体中的不同位置可以从网络访问的文件夹)。echo 将显示图像。
$item 是 Mage_Sales_Model_Quote_Item 类型(此代码已在 checkout/cart/index 控制器中测试 - your_page_url/index.php/checkout/cart -> 代码可以添加到 template/checkout/cart/item/default.phtml 文件的顶部看看它是如何工作的)。