在Virtuemart中获取产品自定义字段值

时间:2012-11-07 22:48:09

标签: joomla2.5 joomla-extensions virtuemart

我正在尝试获取产品的自定义字段的值。我只有该产品的ID。我知道自定义字段的标题。

如何获得该自定义字段的值?

请帮忙。

PS:我很熟悉PHP,但我是Joomla / Virtuemart的新手。

2 个答案:

答案 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
    }