0

私は今どこでもこのようにこれを探していました;)

ポップアップに商品画像を追加したいのですが、どうすればいいのかわかりません!私は今何時間も探していて、その隣でこれを自分でコーディングしようとしましたが、うまくいきません。

だから今私は助けを求めています...誰かがこれについていくつかのアイデアを持っているなら私に知らせてください。Afaikネット上には、「カートに追加」ポップアップを表示したい人が増えています。ポップアップには、さらに多くの情報が表示されます。

心からトーマス

4

1 に答える 1

0

最近、サイトのカートに追加するポップアップを自分でカスタマイズしました。編集する必要があるファイルは components/com_virtuemart/controllers/cart.php です (私の記憶が正しければ、この関数は addJS と呼ばれます)。

VirtueMart の API ドキュメントはhttp://docs.virtuemart.net/api-vm2/にありますが、VM データを取得するために独自のプラグインを作成しました。次に、VM API に頭を悩ませるのではなく、標準の PHP を使用することができます。

私のやり方で行うことにした場合は、プラグインからカスタム クラスを呼び出して、次のように画像を出力できます。

$cart_image = plgMyCoolPlugin::_getImage($this->product->virtuemart_product_id);
echo '<img src='.$cart_image.'/>';

システムプラグインにしない場合は、プラグインタイプをインポートする必要があることに注意してください。

JPluginHelper::importPlugin( 'mynewplugintype' );

プラグインで使用する関数は次のとおりです。

    function _getImage($id)
    {       
        $db   =& JFactory::getDBO();    
        $sql  = "   SELECT
                            b.`file_url`
                    FROM
                            ".$db->nameQuote('#__virtuemart_product_medias')." AS a
                    INNER JOIN 
                            ".$db->nameQuote('#__virtuemart_medias')." AS b ON a.`virtuemart_media_id` = b.`virtuemart_media_id`  
                    WHERE
                            a.".$db->nameQuote('virtuemart_product_id')." = ".$id."
                    AND
                            b.".$db->nameQuote('file_mimetype')." = 'image/jpeg'
                    AND
                            b.".$db->nameQuote('file_type')." = 'product'
                    AND
                            b.".$db->nameQuote('file_is_forSale')." = '0'";

        $query = $db->setQuery($sql);
        $row  = $db->loadResultArray();
        if($db->getErrorNum()) {
            JError::raiseError( 500, $db->stderr());
        }
        if(empty($row)) $row[] = JURI::base().'images/defaultimage.jpg';
        return $row;
    }

お役に立てれば :)

于 2013-02-25T22:06:40.443 に答える