Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Panda58dev

Новичок
  
  • Публикаций

    21
  • Зарегистрирован

  • Посещение

О Panda58dev

  • День рождения 06.02.2000

Техническая поддержка

  • Текущий статус
    Работаю

Информация

  • Пол
    Мужчина
  • Город:
    Пенза сити :D

Посетители профиля

255 просмотров профиля

Достижения Panda58dev

Apprentice

Apprentice (3/14)

  • First Post
  • Collaborator
  • Week One Done
  • One Month Later
  • One Year In

Последние медали

6

Репутация

  1. Всё, разобрался, нужно было немного с кодировками поколдовать и правильно url сформировать. Всех благодарю, особенно @Blast ! Удачного дня
  2. Хм, похоже у меня какие то проблемы с dataType. Сейчас везде поставил json но в url почему то там где должно быть содержимое файл стоит [object%20Object] Вообще сейчас я путаюсь, что куда мне нужно кодировать json в base64 или наоборот. В результате мне нужен json массив в файле...
  3. @Blast угу, то есть, я генерирую ссылку для скачивания и записываю всю строку в url? Сделал почти так же как в Вашем примере, но выполняется .error хотя код ответа 200, разумеется подумал на ошибки PHP, но в журнале ошибок нет, error_get_last() тоже возвращает пустоту. Странное дело. Контроллер: public function getTplFile(){ if (isset($this->request->post['tpl_name'])) { $this->load->model('user/users_perm_plus'); // $data = $this->model_user_users_perm_plus->getTplPermData($this->request->post['tpl_name']); // (array) $data // $data['tpl_name'] = $this->request->post['tpl_name']; $data = 'test'; $file_name = 'upp_tpl_' . $this->request->post['tpl_name'] . '.json'; $file_data = 'data:text/plain;base64,' . base64_encode($data); $json['file_name'] = $file_name; $json['file_data'] = $file_data; $this->response->addHeader('Content-Type: text/plain'); $this->response->addHeader('Content-Disposition: attachment; filename="' . $file_name . '"'); $this->response->setOutput(json_encode($json)); // $error = error_get_last(); // $this->response->setOutput($error); } } AJAX: function getTplFile(tpl_name) { $.ajax({ url: '<?php echo $link_to_getTplFile; ?>&token=<?php echo $token; ?>', method: 'POST', dataType: 'text/plain', data: { tpl_name: tpl_name }, beforeSend: function () { $('.panel-title').html('<i class="fa-green fa fa-spinner fa-pulse fa-3x fa-fw"></i><?php echo $text_loading; ?>'); }, complete: function () { $('.panel-title').html('<i class="fa fa-table"></i>'); }, success: function(json) { console.log(json); $('#tpl-file-link').attr('href', json['file_data']).attr('download', json['file_name']); document.getElementById("tpl-file-link").click(); }, error: function (error) { console.log(error); } }); } Ответ сервера:
  4. Вообще не понял. У меня есть уже контроллер, который отдаёт файл. AJAX-ом он не обрабатывается... ocStore 2.3.0.2.4 если что...
  5. опять же - Вы предлагаете хранить файл на сервере.
  6. Да нет, суть заключается в том, что бы файл создавался "на лету" и не хранился на сервере.
  7. Здравствуйте! Есть задача - нужно, что бы на сервере формировался файл, который мог бы скачать пользователь, этим занимается отдельный метод в контроллере, который вызывается посредством AJAX запроса. На "Хабр Q&A" решение подобной задачи уже есть. Проблема заключается в том, что оно по какой то причине не работает - все заголовки отправляются, на фронт всё приходит, но вот файл никакой не качается. Скрины с ответом сервера и кодом прилагаю. Пробовал ответ сервера делать через "echo" - результат точно такой же.
  8. Капец, зачем такой балаган разводить, если ТС уже справился?))
  9. Мой способ может не работать, просто потому что у Вас не дефолтный шаблон, или шаблон, который не поддерживает bootstrap. Ну или просто не туда вставили строку можно Ваш product.tpl?
  10. Может костыль но на дефолтной локалке (ocStore v2.3.0.2.4), вроде работает: \catalog\view\theme\default\template\product\product.tpl строка 135 <li><?php echo $text_stock; ?> <?php echo ($stock == 0)? '<span class="label label-danger">' . $stock . '</span>' : '<span class="label label-success">' . $stock . '</span>'; ?></li>
  11. Она "привязывается" к типам устройств, и имеет множество методов анализа юзер-агента: ссылка.
  12. @ocdev_pro помог и всё разъяснил, с AJAX проблем не было, просто я обращался к методу модели, которого не было. Всем спасибо!
  13. Точно, основной шаблон и метод index загружаются
  14. Окей, с запросом разобрался, оказывается проблема и правда была в url: контроллер, метод index(), в нём подключаю js файл и передаю в шаблон url: $this->document->addScript('view/javascript/users_perm_plus/users_perm_plus.js'); $data['getPerms'] = $this->url->link('user/user_permission/getPerms', 'token=' . $this->session->data['token'] . $url, true); Тут-то и вся проблема - указал не тот контроллер ) Но теперь другая проблема есть: кидает вот такую ошибку:
×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.