Virtuemart 2 -将产品图像添加到“添加到卡通”-弹出框中


Virtuemart 2 - Add the product image to the "add to cart"-popup

我一直在寻找这个像现在到处都是;)

我想在弹出窗口中添加产品图像,但我不知道如何实现这一点!我已经搜索了几个小时和几个小时,然后试图自己编码这个,但它不会工作。

所以现在我在寻求帮助…如果有人对此有什么想法,请告诉我。我想网上有更多的人希望看到一个"添加到购物车"的弹出框,上面给出一些更多的信息。

sincerely Thomas

我最近在一个网站上定制了添加购物车的弹出框。你需要编辑的文件是components/com_virtuemart/controllers/cart.php(如果我没记错的话,这个函数叫做addJS)。

你可以在这里找到VirtueMart的API文档:http://docs.virtuemart.net/api-vm2/但是我写了我自己的插件来获取VM数据。然后,您就可以使用标准PHP,而不必去了解VM API。

如果你决定这样做,你可以从你的插件中调用自定义类,输出像这样的图像:

$cart_image = plgMyCoolPlugin::_getImage($this->product->virtuemart_product_id);
echo '<img src='.$cart_image.'/>';

记住,如果你不把它设置为系统插件,你需要导入你的插件类型:

JPluginHelper::importPlugin( 'mynewplugintype' );

下面是我在插件中使用的函数:

    function _getImage($id)
    {       
        $db   =& JFactory::getDBO();    
        $sql  = "   SELECT
                            b.`file_url`
                    FROM
                            ".$db->nameQuote('#__virtuemart_product_medias')." AS a
                    INNER JOIN 
                            ".$db->nameQuote('#__virtuemart_medias')." AS b ON a.`virtuemart_media_id` = b.`virtuemart_media_id`  
                    WHERE
                            a.".$db->nameQuote('virtuemart_product_id')." = ".$id."
                    AND
                            b.".$db->nameQuote('file_mimetype')." = 'image/jpeg'
                    AND
                            b.".$db->nameQuote('file_type')." = 'product'
                    AND
                            b.".$db->nameQuote('file_is_forSale')." = '0'";
        $query = $db->setQuery($sql);
        $row  = $db->loadResultArray();
        if($db->getErrorNum()) {
            JError::raiseError( 500, $db->stderr());
        }
        if(empty($row)) $row[] = JURI::base().'images/defaultimage.jpg';
        return $row;
    }

希望这对你有帮助