Доп. свойство заказа типа "Файл"

#
Re: Доп. свойство заказа типа "Файл"
Доп.свойство то я создал. В админке файл к нему цепляется нормально.
Добавил обработчик в handler.php
Но у меня корзина в 1 шаг и это поле нужно встроить в ТДС корзины.
Я так понимаю нужно мой инпут в форме заказа,  например с именем add_file, как то дальше обработать
<input type="add_file" name="file" size="0" value="">

Но как не могу сообразить...

#
Re: Доп. свойство заказа типа "Файл"
Galaxy писал(а):
Доп.свойство то я создал. В админке файл к нему цепляется нормально.
Добавил обработчик в handler.php
Но у меня корзина в 1 шаг и это поле нужно встроить в ТДС корзины.
Я так понимаю нужно мой инпут в форме заказа,  например с именем add_file, как то дальше обработать
<input type="add_file" name="file" size="0" value="">

Но как не могу сообразить...

Доп.свойство у меня выглядит например так:
<input name="property_59" type="file" id="property_59">
E-mail: info@syrbek.ru / телега: @syrbek /skype: activexm / syrbek.ru / Поддержка сайтов / г. Москва [HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, Git, SVN, Redmine]
#
Re: Доп. свойство заказа типа "Файл"
Заменил в инпуте имя и ид на property_ид_моего свойства - не помогло.
По условию в  handler.php информация о доп.све должна попасть в сессию, но этого этого похоже не происходит...
#
Re: Доп. свойство заказа типа "Файл"
Подозреваю, что у меня еще чего то не хватает в ТДС корзины..
#
Re: Доп. свойство заказа типа "Файл"
Galaxy писал(а):
Подозреваю, что у меня еще чего то не хватает в ТДС корзины..

Проверьте в ТДС корзины:
$_SESSION['hostcmsOrder']['properties']

Если там нет вашего файла то кладите туда.
E-mail: info@syrbek.ru / телега: @syrbek /skype: activexm / syrbek.ru / Поддержка сайтов / г. Москва [HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, Git, SVN, Redmine]
#
Re: Доп. свойство заказа типа "Файл"
Да, в ТДС корзины не было кода

      // Additional order properties
      $_SESSION['hostcmsOrder']['properties'] = array();

      $oShop_Order_Property_List = Core_Entity::factory('Shop_Order_Property_List', $oShop->id);

      $aProperties = $oShop_Order_Property_List->Properties->findAll();
      foreach ($aProperties as $oProperty)
      {
         // Св-во может иметь несколько значений
         $aPropertiesValue = Core_Array::getPost('property_' . $oProperty->id);

         if (!is_null($aPropertiesValue))
         {
            !is_array($aPropertiesValue) && $aPropertiesValue = array($aPropertiesValue);
            foreach ($aPropertiesValue as $sPropertyValue)
            {
               $_SESSION['hostcmsOrder']['properties'][] = array($oProperty->id, $sPropertyValue);
            }
         }
      }

Взял из последней версии.
Теперь ругается что файл не соответствует формату:
"Разрешены форматы gif, jpg, png, bmp, eps, tif, rtf, pdf, doc, docx, xls, xlsx, rar, zip, tar"
Хотя файл с расширением jpg  
#
Re: Доп. свойство заказа типа "Файл"
Galaxy писал(а):
Теперь ругается что файл не соответствует формату:
"Разрешены форматы gif, jpg, png, bmp, eps, tif, rtf, pdf, doc, docx, xls, xlsx, rar, zip, tar"
Хотя файл с расширением jpg  

print_r($_SESSION['hostcmsOrder']['properties']); exit;

?
E-mail: info@syrbek.ru / телега: @syrbek /skype: activexm / syrbek.ru / Поддержка сайтов / г. Москва [HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, Git, SVN, Redmine]
#
Re: Доп. свойство заказа типа "Файл"
Array ( [0] => Array ( [0] => 211 [1] => file_image5555.jpg ) )

Если добавить форме  enctype="multipart/form-data" то ошибки на расширение нет, файл не крепится и Array ()
#
Re: Доп. свойство заказа типа "Файл"
Решил используя данные из Core_Array::getFiles, в нем есть необходимая информация для дальнейшей обработки.
В начало вашего обработчика добавил и все получилось.

    case 2: // File
                            $value = array(Core_Array::getFiles("property_211"));
                            $value = $value[0];

Спасибо за поддержку Seri!

#
Re: Доп. свойство заказа типа "Файл"
во-первых:
ругается на Ваш код:

                            $kernel = & singleton('kernel');
                            $ext = $kernel->GetExtension($value['name']);

это код для пятёрки
во-вторых, как не крути - файл во вложении не отправляется,
в ЦА к заказу не прикрепляется
Знания имеют свои пределы, и только глупость человеческая не знает границ...
Авторизация