我在产品页面上嵌入了一些额外的图片和视频,但是当我在没有设置图片的情况下创建新图片时,Magento会因为无法找到未设置的图片而创建错误。我在Magento中创建了一个名为embed3的属性,这是一个图像属性。 然后我制作了这个片段,效果很好 - 除非没有选择图片,Magento会失败:
<?php
$video3 = $_product->getEmbed3();
if (isset($video3)){
echo '<img src="';
echo $this->helper('catalog/image')->init($_product, 'embed3');
echo '"/>';
}
else
{
}
?>
这是粗鲁和丑陋的 - 我知道,任何建议/帮助将不胜感激
答案 0 :(得分:0)
您是否在产品视图中使用此代码段?
使用以下代替$video3 = $_product->getEmbed3()
。 getAttribute()始终存在于产品资源中,而magic方法则不存在。
$video3 = $_product->getResource()->getAttribute('embed3');
答案 1 :(得分:0)
可悲的是,这不起作用@F。 Haymar d'Ettory :(它只会在我的所有产品上创建错误。但我发现,虽然它在我过去创建的产品上运行良好,但是在创建新产品时,带有图片的产品也有效设置图片,Magento将其设置为“no_selection” - 然后认为isres实际上是图像集,但这里不是。所以通过创建它:
if (isset($video3)&&($video3 != 'no_selection')){
它再次起作用,仍然不漂亮,但它的工作原理。