Выдано 134538 лицензий

Добавление фото в отзывы

Добавление фото в отзывы
#
nikolajgromkov
91
Здравствуйте, пытаюсь добавить фото в отзывы, помогите разобраться.
Вроде всё прописал, но не работает.

Сначала создал свойство у отзывов с типом файл, вывел его в XSL.

получилось что-то подобное:

<input name="property_246" type="file" id="property_246"/>

В $_FILES файл добавляется, массив выводится примерно такой:


array(5) { ["name"]=> string(23) "product-detail-mod6.jpg" ["type"]=> string(10) "image/jpeg" ["tmp_name"]=> string(14) "/tmp/phpg26f1s" ["error"]=> int(0) ["size"]=> int(91008) }


В форме отзывов сначала получил свойства

$oComment_Property_List = Core_Entity::factory('Shop_Comment_Property_List', $oShop->id);
$aProperties = $oComment_Property_List->Properties->findAll();

проверил, там были нужные.

Далее по аналогии как делал с магазином прописал:


$aFileData = Core_Array::getFiles("property_{$oProperty->id}", array());

if (is_array($aFileData) && isset($aFileData['name'])){
   $sFileName = $aFileData['name'];

   $oFileValue = $oProperty->createNewValue($oComment->id);

   if (Core_File::isValidExtension($sFileName, array('JPG', 'JPEG', 'GIF', 'PNG')))
   {
      $oFileValue->file_name = Core_Str::stripTags($sFileName);
      $oFileValue->file_small_name = Core_Str::stripTags($sFileName);
      $oFileValue->save();

      try {
         $oComment_Property_List->createPropertyDir($oComment);

         Core_Image::instance()->resizeImage($aFileData['tmp_name'], $oShop->image_large_max_width, $oShop->image_large_max_height, $oComment_Property_List->getDirPath($oComment) . $oComment_Property_List->getLargeFileName($oComment, $oFileValue, $sFileName));

         $oFileValue->file = $oComment_Property_List->getLargeFileName($oComment, $oFileValue, $sFileName);

         Core_Image::instance()->resizeImage($aFileData['tmp_name'], $oShop->image_small_max_width, $oShop->image_small_max_height, $oComment_Property_List->getDirPath($oComment) . $oComment_Property_List->getSmallFileName($oComment, $oFileValue, $sFileName));

         $oFileValue->file_small = $oComment_Property_List->getSmallFileName($oComment, $oFileValue, $sFileName);

         $oFileValue->save();
      }
      catch (Exception $e) {};
   }
   
}


Направьте пожалуйста, куда копать.
Ускорение сайтов / Любые работы по сайту / Обращайтесь в nivaks-studio.ru
Re: Добавление фото в отзывы
#
nikolajgromkov
91
Отбой. Как всегда невнимательность Нужно сначала отзыв сохранить через $oComment->save, а потом уже добавлять допсвойства.
Ускорение сайтов / Любые работы по сайту / Обращайтесь в nivaks-studio.ru
Re: Добавление фото в отзывы
#
admevg
1
Здравствуйте!

Что-то не получилось внедрить что бы загружались фото к отзывам в товарах магазина..
Добавил доп. свойство в отзывы "фото" с кодом-98 и с XML-тег "foto"

В шаблоне прописал <input name="foto" type="file" id="foto"/>

Единственное что поменял в коде для тдс
$aFileData = Core_Array::getFiles("property_{$oProperty->id}", array());
поменял на
$aFileData = Core_Array::getFiles("foto", array());
а то выводил предупреждение.
Но изображение из отзыва в свойство не подгружается.
Еще пробовал $aFileData = Core_Array::getFiles("property_98", array());
и $aFileData = Core_Array::getFiles("98", array());
Как должно быть правильно
Может быть кто-то решил эту проблему. Не пойму в чем может быть ошибка.

Или что-то еще нужно в тдс указать.
ТДС и шаблон стандартные из последней демо-версии интернете магазина
Авторизация