2016-07-17 5 views
0

SKUを使用して、製品のすべてのデータに外部ファイルからアクセスする方法がありますか?外部からvirtuemart製品データにアクセス

私はHow can I get prodcut data of a VirtueMart 2 product in an external file?

を見て、私の希望IDとプロダクトIDを交換しようとしましたが、無駄にしている:短期間で

if (!class_exists('VmConfig')) require(JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_virtuemart'.DS.'helpers'.DS.'config.php'); 
VmConfig::loadConfig(); 
if (!class_exists('VmModel')) require(JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_virtuemart'.DS.'helpers'.DS.'vmmodel.php'); 

$productModel = VmModel::getModel('Product'); 
$product = $productModel->getProduct(Product_ID); 

、私は、製品にアクセスする方法を探していますデータ。

+1

ちょうどvar_dump($ product)を行い、データをチェックしてください。 –

+0

はい、製品IDです。しかし、私はそれを製品SKUで動作させることができますか?だから私は参照としてSKUを使用することができます – ak1652

答えて

1

skuは一意ではない可能性があります。私のために働く解決策を見つけました。これがあなたを助けることを願ってください。これは、skuによって製品を外部呼び出しするために必要な完全なコードです。

<?php 

define('_JEXEC', 1); 

define('JPATH_BASE', 'C:\Server\www\joomla');//you will have diff location for your site 

define('DS', DIRECTORY_SEPARATOR); 

require_once (JPATH_BASE .DS.'includes'.DS.'defines.php'); 
require_once (JPATH_BASE .DS.'includes'.DS.'framework.php'); 
jimport('joomla.application.module.helper'); 
jimport('joomla.application.component.helper'); 

$mainframe = JFactory::getApplication('site'); 
$mainframe->initialise(); 

function getproductBySKU($sku){ 
    $db = JFactory::getDbo(); 
    $db->setQuery(true); 
    $db->setQuery("SELECT virtuemart_product_id FROM #__virtuemart_products WHERE product_sku= $sku"); 
    $productids = $db->loadAssocList(); 
    return $productids; 
} 

function getProduct($id) 
{ 
    if (!class_exists('VmConfig')) require(JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_virtuemart' . DS . 'helpers' . DS . 'config.php'); 
    VmConfig::loadConfig(); 
    if (!class_exists('VmModel')) require(JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_virtuemart' . DS . 'helpers' . DS . 'vmmodel.php'); 

    $productModel = VmModel::getModel('Product'); 
    $product = $productModel->getProduct($id); 
    return $product; 
} 

$products = getproductBySKU(1);//In this example SKU is 1 having 2 products 
var_dump($products);//Gives the product id's in the SKU 
foreach($products as $product){ 
    var_dump(getProduct($product)); 
} 
+0

ラブリー、ありがとう! 1つの小さな問題がありました。私のSKUは文字列だったので、SQLを「$ sku」に少し修正しなければなりませんでした。 – ak1652

+0

@ ak1652これらの変更を行った後は、それは機能していますか? –

+0

はいそれは:)))) – ak1652

関連する問題