在 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 中获取产品自定义字段值的主要内容,如果未能解决你的问题,请参考以下文章