1

以下のスクリプトを見つけて、それが機能すると言われていますが、ファイル/スクリプトがどこでどのように機能するのかわかりません。誰かが私に光を当てるのを手伝ってくれることを望んでいました.

Magento にインポートする方法は複数あります。カスタム xml データ ファイルを使用するか、単に php スクリプトを使用するかです。

 <?php
ini_set('memory_limit', '128M');

require_once 'path-to-Mage.php';
Mage::app();

Mage::app()->setCurrentStore(4); //desired store id
$review = Mage::getModel('review/review');
$review->setEntityPkValue(147);//product id
$review->setStatusId(1);
$review->setTitle("title"); 
$review->setDetail("detail");
$review->setEntityId(1);                                      
$review->setStoreId(Mage::app()->getStore()->getId());                     
$review->setStatusId(1); //approved
$review->setCustomerId(273);//null is for administrator
$review->setNickname("Me");
$review->setReviewId($review->getId());
$review->setStores(array(Mage::app()->getStore()->getId()));                    
$review->save();
$review->aggregate();
?>

これが私のphpスクリプトなら、どこに置くのですか?また、インポートに使用するxmlスクリプトを作成するのを手伝ってくれる人はいますか?

あらゆる助けを前もって感謝します

メーガン

4

2 に答える 2

0

現在インポートしたいレビューの形式は何ですか?

このスクリプトを拡張する必要があるようです。たとえば、レビューを含むファイルを開き、それらを循環して、このループ内で上記のコードを使用し、「タイトル」や「詳細」などを実際のレビュー情報に置き換えます。

以下のコメントに基づいて編集*****

PHPとMagentoのコーディング経験があることを前提としています。そうでない場合は、開発者の支援を受ける必要があります。

<?php 
ini_set('memory_limit', '128M'); 

require_once 'path-to-Mage.php'; 
Mage::app(); 
$fp = fopen($fileLocation, 'r');
Mage::app()->setCurrentStore(4); //desired store id 
while($line = fgetcsv($fp)) {
     $review = Mage::getModel('review/review'); 
 $review->setEntityPkValue($line[0]);//product id 
 $review->setStatusId($line[1]); 
 $review->setTitle($line[2]);  
 $review->setDetail($line[3]); 
 $review->setEntityId($line[4]);                                       
 $review->setStoreId(Mage::app()->getStore()->getId());                      
 $review->setStatusId($line[5]); //approved 
 $review->setCustomerId($line[6]);//null is for administrator 
 $review->setNickname($line[7]); 
 $review->setReviewId($review->getId()); 
 $review->setStores(array(Mage::app()->getStore()->getId()));                     
 $review->save(); 
 $review->aggregate(); 
}

?>

明らかに、$fileLocationをCSVファイルのディレクトリの場所とファイル名に置き換える必要があります。CSVの各行は、配列$lineに読み込まれます。列は配列内の要素番号にマップされます。たとえば、$line[0]は行の最初の列です。データがCSV列と一致するように、要素参照を変更する必要があります。

これはあなたが始めるのに十分です。

于 2012-09-04T03:14:30.127 に答える