我现在到处都在寻找这个;)
我想将产品图片添加到弹出窗口中,但我不知道如何实现这一点!我一直在寻找几个小时和几个小时,然后尝试自己编写代码,但它不起作用。
所以现在我正在寻求帮助......如果有人对此有一些想法,请告诉我。Afaik 网上有更多的人希望看到“添加到购物车”弹出窗口,其中提供了更多信息。
真诚的托马斯
我现在到处都在寻找这个;)
我想将产品图片添加到弹出窗口中,但我不知道如何实现这一点!我一直在寻找几个小时和几个小时,然后尝试自己编写代码,但它不起作用。
所以现在我正在寻求帮助......如果有人对此有一些想法,请告诉我。Afaik 网上有更多的人希望看到“添加到购物车”弹出窗口,其中提供了更多信息。
真诚的托马斯
我最近自己在一个网站上自定义了添加到购物车弹出窗口。您需要编辑的文件是 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;
}
希望这可以帮助 :)