내가 이벤트에 대한 관찰자를 만들어"파일이 업로드되지 않았습니다"젠토 오류에도 파일은 특정 폴더
다음과 같이 내가 내 사용자 지정 탭에서 파일을 업로드하고있는 응용 프로그램을 만드는 중이라서 업로드됩니다 catalog_product_save_after
이라고합니다. 특정 기능에서는 해당 파일을 카탈로그/제품 폴더에 업로드하고 오류없이 해당 폴더에 해당 파일을 업로드합니다.
하지만 특정 제품에 이미지를 할당하려고 할 때 다음 오류가 발생합니다.
내가 system.log
을 선택하면 파일 E:\xampp\htdocs\magento\lib\Varien\File\Uploader.php on line 152
에서 File was not uploaded
는 내가 2012-08-24T11:33:15+00:00 ERR (3): User Error: Some transactions have not been committed or rolled back in E:\xampp\htdocs\magento\lib\Varien\Db\Adapter\Pdo\Mysql.php on line 3645
이 오류를 참조하십시오.
public function Savedata($observer)
{
$params = Mage::app()->getRequest()->getParams();
$product = $observer->getEvent()->getProduct();
$product_id = $product->getId();
$filesData = array();
$keysData = array_keys($_FILES);
foreach($keysData as $keys)
{
$uploader = new Varien_File_Uploader("$keys");
$uploader->setAllowedExtensions(array('jpeg', 'jpg', 'png', 'tiff'));
$uploader->setAllowRenameFiles(true);
$uploader->setFilesDispersion(false);
$path = Mage::getBaseDir('media') . DS . "catalog" . DS . "product";
if(!is_dir($path))
{
mkdir($path);
}
$extension = pathinfo($_FILES["$keys"]['name'], PATHINFO_EXTENSION);
$date = new DateTime();
$file_name = $keys . "_" . $product_id . "." . $extension;
$_FILES["$keys"]['name'] = $file_name;
$uploader->save($path, $_FILES["$keys"]['name']);
$filesData[] = $path .DS. $_FILES["$keys"]['name'];
}
print_r($filesData);
///till this works file.. when i add following code, program dies.
try
{
$productData = Mage::getModel('catalog/product')->load($product_id);
print_r($productData->getData());
foreach($filesData as $file)
{
$productData->addImageToMediaGallery($file, "image" ,false, false);
}
$productData->save();
$productData = Mage::getModel('catalog/product')->load($product_id);
print_r($productData->getData());
}
catch (Exception $e)
{
echo $e->getMessage() . "||" . $e->getCode() . "||" . $e->getFile() . "||" . $e->getLine();
}
exit();
}
내가 잘못 가고 어떤 제안을 다음과 같이
내 관찰자의 기능은 무엇입니까? 왜이 오류가 발생합니까? 내가
예 .. 같은 생각입니다. 아주 좋은 설명입니다. 고마워. – KuKu