3

製品のカスタム フィールドの値を取得しようとしています。その商品のIDしか持っていません。カスタムフィールドのタイトルを知っています。

そのカスタムフィールドの値を取得するにはどうすればよいですか?

助けてください。

PS: PHP はよく知っていますが、Joomla/Virtuemart は初めてです。

4

2 に答える 2

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'];

また、内部サブクエリで試してください。

于 2012-11-09T14:52:18.010 に答える
-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
    }
于 2012-11-07T23:01:11.417 に答える