[ICMS2] Сохранение данных из базы данных в файл на ПК пользователя
- Предыдущая
- 1
- 2
- 3
- Следующая
- Показаны 16-30 из 34
Как же я долго ждал твоего появления
Вообщем я так и понял, что где то я чего-то намудрил, что где то логику не догоняю.
Вообщем я уже решил сделать как говоришь ты, то есть сначала вывести страницу а затем уже делать выдачу.
Спасибо за ссылку — счас почитаю.
Попробую более подробней описать требуемую мне логику.
Мне необходимо выгрузить файлы с моего компонента "Мои патчи".
Имеем список всех патчей.
В блоке "Действия" есть пимпа "Выгрузить".
Нажимая её происходит следующие:
1. вытягивание из базы данных относительно выбранного патча.
2. приведение этих данных к определенному формату и сохранение их во временный файл в папке кеша.
3. передача данного файла пользователю на компьютер
4. удаление временного файла.
Как-то так.
Не выходит аленький цветочек
Зачем тогда редиректы? Просто давайте ссылку на экшен, который возвращает файл.Мне вообще то как бы всеравно на какой странице будет отдан файл
С точки зрения пользователя это будет выглядеть так: нажал на ссылку, открылась новая вкладка в браузере, немножко подумала, предложила сохранить файл, после выбора места закрылась. И всё. То есть это ничем не отличается от простой прямой ссылки на файл.
Не сочтите за пижонство, но вроде мы на "ты" не переходили.как говоришь ты
Сори. Не коим образом не хотел обидеть. Старая инетовская привычка.Не сочтите за пижонство, но вроде мы на "ты" не переходили.
На счет редиректов я не где не говорил. Либо упомянул по не знанию.
Ваш вариант не совсем подходит, так как если будет список из сотни патчей и каждый раз для того чтобы скачать нужно будет нажимать — туда-сюда, думаю будет не айсь
Скорее всего я не могу донести основную поставленную задачу, поэтому Вы не понимаете сути.
Попутный вопрос. Вот есть в двойке возможность к статье добавить файл. И при выводе пользователю — он показывается и его можно скачать.
Не могу найти код данной функции (вывод в контенте). Не подскажете?
Я об этом месте
вот код шаблона вывода tpl
<?php 'class' => 'add', 'title' => LANG_MYPATCH_ADD, 'href' => href_to($this->controller->root_url, 'patch_add') )); ?> <a href="<?php echo $patchfile ?> ">Скачать</a> <?php $this->renderGrid($this->href_to('patch_ajax'), $grid);
Я понял проблему. Так происходит потому, что админка показывает анимацию загрузки по событию onbeforeunload на каждой странице. Чтобы это обойти используйте не прямую ссылку на загрузку, а JS-функцию обертку. В этой функции перенаправляете на экшен загрузки, затем удаляете оверлей с крутилкой.Почему при нажатии на "Скачать" снова появляется этот чертов круг от AJAX — я же ничего не прошу перегружать — просто хочу скачать файл и все.
Например, ссылка на скачку будет выглядеть так:
javascript:downloadPatch("/url/to/static/download/id")
function downloadPatch(url){ window.location.href = url; $('.loading_overlay').hide(); }
P.S. Я после десятой попытки переписать код по другому стал подумывать что явно нужно использовать что-то другое чем PHP
Вот код:
Правильно я его написал?
<script> function downloadPatch(url){ window.location.href = url; $('.loading_overlay').hide(); } </script> <?php 'class' => 'add', 'title' => LANG_MYPATCH_ADD, 'href' => href_to($this->controller->root_url, 'patch_add') )); ?> <a href=javascript:downloadPatch("<?php echo $patchfile?>")>Скачать</a> <?php $this->renderGrid($this->href_to('patch_ajax'), $grid);
$('.loading_overlay').hide();
$('.loading-overlay').hide();
Скрипт срабатывает — но почему-то не убирает данный класс.
вот как сработало:
$('.loading-overlay').toggleClass('loading-overlay');
Например по нажатию мышки на странице в любом места.
Помогите — а то я в яве вообще нуб.
- Предыдущая
- 1
- 2
- 3
- Следующая
- Показаны 16-30 из 34