Форум русской поддержки Joomla!® CMS
06.12.2016, 20:05:48 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Как передавать изображения в своем модуле для отправки на почту?

 (Прочитано 161 раз)
0 Пользователей и 1 Гость смотрят эту тему.
aleks_lv
Захожу иногда
**

Репутация: +1/-0
Offline Offline

Пол: Мужской
Сообщений: 22


« : 11.06.2016, 18:40:19 »

Как правильно через AJAX передать изображение в модуле
со всеми данными формы
jQuery
Код:
           $.ajax({
                type: 'POST',
                processData: false,
                contentType: false,
                data: {
                    option: 'com_ajax',
                    module: 'calc',
                    format: 'raw',
                    data: new FormData(self),

                },
            })
форма
Код:
<form enctype="multipart/form-data" method="POST" id="form">
             тут еще куча инпутов
чекебоксов
                <label class="form_label">Загрузите проект/фото дома (если есть)</label>
                <div class="cont_label">
                    <label class="file_upload">
                        <span class="name_img">Выберите файл</span>
                        <span class="image_file"></span>
                        <input type="file" multiple name="file" size="40" class=" file_input">
                    </label>
                    <button type="submit"></button>
                </div>
</form>
и вот в модуле
helper.php
Код:
defined('_JEXEC') or die;
class ModCalcHelper
{
    protected $module = 0;
    protected $params = null;

    public function __construct($module){
      
    
    }

    public function repTitle($title){
     $result=str_replace("_", " ", $title);
     return $result;
    }

    public static function getAjax()
    {
    jimport('joomla.application.module.helper'); //подключаем хелпер для модуля
    $input = JFactory::getApplication()->input;
    //Далее просто получаем данные
     $file=$_FILES['file']['tmp_name'];
     var_dump($file);
     $data = $input->getString('data');  
     return $data; //вы можете что-нибудь вернуть в ответ

    }


}


но ниче не работает
что я не так делаю?
или где есть какой то образец может?
Записан
Aleks.Denezh
Практически профи
*******

Репутация: +372/-4
Offline Offline

Пол: Мужской
Сообщений: 2762



« Ответ #1 : 11.06.2016, 18:43:54 »

не понятно как вы узнаете что у вас ничего не работает ?)
У меня например так  работает:
Форма:
Код
<form action="index.php" method="post" enctype="multipart/form-data" id="formModule">
<input type="file" name="file">
<input type="hidden" name="option" value="com_ajax">
<input type="hidden" name="module" value="calc">
<input type="hidden" name="format" value="data">
</form>
 

JQ:
Код
jQuery(document).ready(function ($) {
$('#formModule').submit(function (e) {
e.preventDefault();
var form = $(this);
var formData = new FormData(form[0]);
form.find('input[type="submit"]').hide();
$.ajax({
type: 'POST', cache: false, dataType: 'json', processData: false, contentType: false, url: form.attr('action'), data: formData,
success: function (response) {
console.log(response);
}
});
});
});

PHP:
Код
public function getAjax()
{
echo  json_encode( array( 'files' => print_r( $_FILES, true ), 'request' => print_r( $_REQUEST, true ) ) );
exit;
}
« Последнее редактирование: 11.06.2016, 18:56:32 от Istaan » Записан
aleks_lv
Захожу иногда
**

Репутация: +1/-0
Offline Offline

Пол: Мужской
Сообщений: 22


« Ответ #2 : 11.06.2016, 18:57:41 »

вообще то на этом пока остановился
но вот пробую
var_dump($file);
и ответ нету
Записан
Aleks.Denezh
Практически профи
*******

Репутация: +372/-4
Offline Offline

Пол: Мужской
Сообщений: 2762



« Ответ #3 : 11.06.2016, 18:59:31 »

вообще то на этом пока остановился
но вот пробую
var_dump($file);
и ответ нету
ну дык вы делаете var_dump и где то там в скрипте, в фоне, оно выводит что пришло, но вы же эти данные никак не возвращаете вашему скрипту, оно где то там невидимо для вашего глаза выполнилось и все! Я выше написал пример кода по которому у меня работает!
Записан
aleks_lv
Захожу иногда
**

Репутация: +1/-0
Offline Offline

Пол: Мужской
Сообщений: 22


« Ответ #4 : 11.06.2016, 19:00:40 »

такой ответ
Записан
aleks_lv
Захожу иногда
**

Репутация: +1/-0
Offline Offline

Пол: Мужской
Сообщений: 22


« Ответ #5 : 11.06.2016, 19:02:03 »

спасибо
попробую
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet