我正在尝试获取产品的自定义字段的值。我只有该产品的ID。我知道自定义字段的标题。
如何获得该自定义字段的值?
请帮忙。
PS:我很熟悉PHP,但我是Joomla / Virtuemart的新手。答案 0 :(得分:0)
这适用于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'];
您也尝试使用内部子查询。
答案 1 :(得分:-1)
$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
}