0

我创建了一个模块,通过将 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;?>
4

2 回答 2

0

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

通过转到管理 -> 目录 -> 属性 -> 管理属性

然后为“商店所有者的目录输入类型”创建一个新的“媒体图像”属性

然后将其添加到管理 -> 目录 -> 属性中的“管理属性集”

(您可能需要对平面表进行重新索引)

<?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;?>
于 2012-11-26T00:11:26.723 回答
0

如果您有视频 ID,则可以非常轻松地从 YouTube 中提取实时缩略图,以减少麻烦,但控制较少:

如何从 YouTube API 获取 YouTube 视频缩略图?

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

于 2012-11-26T00:18:44.037 回答