Virtuemart 2 - 将产品图像添加到“添加到购物车”-popup

时间:2013-02-25 17:32:01

标签: php javascript joomla virtuemart

我现在一直在寻找这个;)

我想将产品图片添加到弹出窗口,但我无法弄清楚如何实现这一目标! 我现在一直在寻找几个小时和几个小时,我试图自己编码,但它不起作用。

所以现在我正在寻求帮助......如果有人对此有任何想法,请告诉我。 Afaik网上有更多人希望看到“添加到购物车”-popup,其中包含更多信息。

真诚的托马斯

1 个答案:

答案 0 :(得分:0)

我最近自己定制了网站上的添加到购物车弹出窗口。您需要编辑的文件是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;
    }

希望这会有所帮助:)