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

Posted

技术标签:

【中文标题】在 Virtuemart 中获取产品自定义字段值【英文标题】:Obtain product custom field value in Virtuemart 【发布时间】:2012-10-28 02:14:25 【问题描述】:

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

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

请帮忙。

PS:我很了解 php,但我是 Joomla/Virtuemart 的新手。

【问题讨论】:

【参考方案1】:

这适用于 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'];

您也可以尝试使用内部子查询。

【讨论】:

【参考方案2】:
    $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
    

【讨论】:

以上是关于在 Virtuemart 中获取产品自定义字段值的主要内容,如果未能解决你的问题,请参考以下文章

按元框值自定义帖子类型查询

在Oracle中如何实现字段内的值自增呢?

如何根据预先确定的约束值自定义热图颜色?

Virtuemart:在 order_done 步骤中获取 PDF 发票链接

Combobox值自定义(不通过数据库)

Android Studio基础项目-两个Activity的Intent传值自定义类数据(如数据库数据读取)。