根据产品ID显示单个图像

时间:2012-11-25 21:24:42

标签: magento module

我创建了一个模块,通过将videoId粘贴到每个产品的文本字段中,在Magento的CMS页面上显示YouTube视频,然后该视频显示在每个自定义CMS产品页面上。我现在遇到的问题是我需要为“播放”按钮拉出一个图像,这是每个产品的徽标,但我不知道如何做到这一点。

我尝试创建另一个名为videothumbnail的属性并选择媒体图像僵尸程序我无法在管理产品部分看到该字段,所以我有点卡住了。

这是显示每个页面的YouTube视频的代码。您将看到我目前拥有的图像将显示在所有CMS页面上,即使它们是不同的产品,如果可能,我需要为每个页面分配图像。

  <?php $_product = Mage::getModel('catalog/product')->load($this->getProductId()); ?>
<?php if ($_product->getId() && $_product->getVideoid()): ?>
<ul class="list">
    <h3 class="product-name">Video</h3>
   <li> <a class="fancybox-video" href="http://www.youtube.com/embed/<?php echo $_product->getVideoid(); ?>">
    <img src="<?php echo $this->getSkinUrl('images/x5-play.png');?>" /></a> </li>
</ul>
<?php endif;?>

2 个答案:

答案 0 :(得分:0)

假设您创建了一个名为videothumbnail的新媒体图像

转到管理员 - &gt;目录 - &gt;属性 - &gt;管理属性

然后为“商店所有者的目录输入类型”

创建“媒体图像”的新属性

然后将其添加到管理员中的“管理属性集” - &gt;目录 - &gt;属性

(您可能需要对目录平台进行重新索引)

<?php $_product = Mage::getModel('catalog/product')->load($this->getProductId()); ?>
<?php if ($_product->getId() && $_product->getVideoid()): ?>
<ul class="list">
    <h3 class="product-name">X5 Mop Video</h3>
   <li> 
       <a class="fancybox-video" href="http://www.youtube.com/embed/<?php echo $_product->getVideoid(); ?>">
       $_helper = Mage::helper('catalog/output');
       $_img = '<img id="image" src="' . Mage::helper('catalog/image')->init($_product, 'videothumbnail')->resize(410,420) . '" width="410" height="420" />';
       echo $_helper->productAttribute($_product, $_img, 'image');
   </li>
</ul>
<?php endif;?>

答案 1 :(得分:0)

如果你有视频ID,那么你可以非常轻松地从YouTube中提取实时缩略图:

How do I get a YouTube video thumbnail from the YouTube API?

如果产品没有指定Magento视频缩略图,您应该考虑将其用作后备广告。