ggyyvv Posted September 3, 2015 Share Posted September 3, 2015 Подскажите варианты решения Нужно клиенту предоставить возможность загрузить файл при оформлении заказа (например файл с реквизитами) Форму со страницы контактов взял, а с контроллерами не могу разобраться... Link to comment Share on other sites More sharing options...
Kerm Posted September 3, 2015 Share Posted September 3, 2015 Смотря для какой версии. Я вот делал недавненько, но напрочь забыл для какой версии престы я это делал...в общем это решение либо для 1.5 либо для 1.6. Делаешь в общем в форме шаблона новый input: <input type="hidden" name="MAX_FILE_SIZE" value="8388608" /> <input accept="image/jpg,image/png,image/jpeg,image/gif" type="file" name="fileUpload" id="fileUpload" /> Далее в функции обработки данных из формы нужно добавить это: $extension = array('.png', '.jpeg', '.gif', '.jpg'); $file_attachment = Tools::fileAttachment('fileUpload'); Далее такой код: if (!empty($file_attachment['name']) && $file_attachment['error'] != 0){ $this->errors[] = Tools::displayError('An error occurred during the file-upload process.'); } else if (!empty($file_attachment['name']) && !in_array(Tools::strtolower(substr($file_attachment['name'], -4)), $extension) && !in_array(Tools::strtolower(substr($file_attachment['name'], -5)), $extension)){ $this->errors[] = Tools::displayError('Bad file extension'); } else { if (isset($file_attachment['rename']) && !empty($file_attachment['rename']) && rename($file_attachment['tmp_name'], _PS_MODULE_DIR_.$this->name.'/upload_images/'.basename($file_attachment['rename']))) { $comment->file_name = $file_attachment['rename']; @chmod(_PS_MODULE_DIR_.$this->name.'/upload_images/'.basename($file_attachment['rename']), 0664); } } В общем используя эти строчки кода можно их легко модифицировать под свои нужды. Link to comment Share on other sites More sharing options...
ggyyvv Posted September 3, 2015 Author Share Posted September 3, 2015 а если версия 1.6 второе и третье куда добавлять? Link to comment Share on other sites More sharing options...
Kerm Posted September 3, 2015 Share Posted September 3, 2015 Для 1.6 должно подходить. В общем там не чего сложного нет, сам пишешь что клиенту делаешь, если делаешь то должен разбираться в престе или хотя бы в программировании. Подставить я писал куда, в функцию которая обрабатывает данные полученные при отсылке данных из формы в шаблоне. Link to comment Share on other sites More sharing options...
ggyyvv Posted September 3, 2015 Author Share Posted September 3, 2015 если заказ в один шаг, такой подход тоже подойдет? Link to comment Share on other sites More sharing options...
Kerm Posted September 3, 2015 Share Posted September 3, 2015 Если там заказ отправляется по средствам Ajax на сервер то тогда нужно еще понимать что через Ajax файлы нельзя передать, есть костыли, но это костыли..и тем более не кроссбраузерные, вроде IE 10+ Приведенный Выше мной пример, был не на странице оформления заказа...а в блоке комментариев на странице товара, клиенту нужна была возможность отправки фото купленного товара клиентом, я привел код выше для образца. Link to comment Share on other sites More sharing options...
ggyyvv Posted September 3, 2015 Author Share Posted September 3, 2015 а в чем проблема то? почему нельзя сделать в форме заказа в один шаг загрузку файлов наподобие того как она сделана в форме "Свяжитесь с нами"? Link to comment Share on other sites More sharing options...
Kerm Posted September 3, 2015 Share Posted September 3, 2015 Проблемы не какой нет если Вы специалист. Link to comment Share on other sites More sharing options...
ggyyvv Posted September 3, 2015 Author Share Posted September 3, 2015 Уважаемый Kerm! сори, если показалось что решил похамить. Я только начинаю разбираться с контроллерами, поэтому хотел прояснить причину. Link to comment Share on other sites More sharing options...
ggyyvv Posted September 3, 2015 Author Share Posted September 3, 2015 А можно было бы из оформления заказа в 5 шагов сделать оформление в 1 шаг, если мне не нужны шаги с 3 по 5? Возможно ли соединить 1 шаг со 2 на одной странице и тогда на ней подключить php-ную загрузку файла? Link to comment Share on other sites More sharing options...
Kerm Posted September 4, 2015 Share Posted September 4, 2015 Можно все, но я думаю там много возни будет с этим. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now