我正在尝试获取产品自定义字段的值。我只有那个产品的 ID。我知道自定义字段的标题。
如何获得该自定义字段的值?
请帮忙。
PS:我很了解 PHP,但我是 Joomla/Virtuemart 的新手。
我正在尝试获取产品自定义字段的值。我只有那个产品的 ID。我知道自定义字段的标题。
如何获得该自定义字段的值?
请帮忙。
PS:我很了解 PHP,但我是 Joomla/Virtuemart 的新手。
这适用于 VM2.x
VM 将自定义字段值存储在 #__virtuemart_customs
产品和自定义字段之间的关系在#__virtuemart_product_customfields 中维护
你有标题和产品 ID,所以你可以试试这个
$db = &JFactory::getDBO();
$sql = "SELECT F.custom_value #__virtuemart_customs AS C LEFT JOIN #__virtuemart_product_customfields AS F ON F.virtuemart_customfield_id = C.virtuemart_custom_id where (C.custom_title='$your_customtitle' and F.virtuemart_product_id = '$product_id')";
$db->setQuery($sql);
$db->query();
$res = $db->loadAssoc();
echo $res['custom_value'];
您也尝试使用内部子查询。
$db = JFactory::getDBO();
$query = $db->getQuery(true);
$query->select('virtuemart_product_id,custom_value');
$query->from('#__virtuemart_product_customfields');
$db->setQuery((string)$query);
$results = $db->loadObjectList();
if ($results){
foreach($results as $result)
{
// do your stuff here
}