как поставить загрузчик фото в Добавить заказ

Предложения по улучшению, новым модулям и т.д.

Модераторы: Xpycm, Koduc

Правила форума
ВНИМАНИЕ! Форум не является средством гарантированной поддержки клиентов и пользователей. Поэтому на быстрый ответ тут рассчитывать не нужно, как и на ответ вообще. Сотрудники отвечают по мере своих возможностей.

На форуме действует ограничение в 3 сообщения / сутки.
Если Вы хотите сказать "спасибо", то воспользуйтесь функцией "Повысить репутацию" - зелёная иконка "плюс" под ником ответившего.

как поставить загрузчик фото в Добавить заказ

Сообщение vanred79 » 23 июн 2019, 09:33

Здравствуйте! появилась необходимость добавить фото в форму Добавить заказ. Как я понял в движке для загрузки используется ext.EAjaxUpload.qqFileUploader. Согласно инструкции поставил этот код в файл \protected\modules\project\controllers\backend\MainController.php:
Код: Выделить всё
public function actionUpload()
{
Yii::import("ext.EAjaxUpload.qqFileUploader");

$folder='uploads/';// folder for uploaded files
$allowedExtensions = array("jpg"),//array("jpg","jpeg","gif","exe","mov" and etc...
$sizeLimit 10 1024 1024;// maximum file size in bytes
$uploader = new qqFileUploader($allowedExtensions$sizeLimit);
$result $uploader->handleUpload($folder);
$result=htmlspecialchars(json_encode($result), ENT_NOQUOTES);
echo 
$result;// it's array
 

а этот код в файл \protected\modules\project\views\backend\main\_form.php:
Код: Выделить всё
$this->widget('ext.EAjaxUpload.EAjaxUpload',
            array(
                
'id'=>'uploadFile',
                
'config'=>array(
                    
'action'=>Yii::app()->createUrl('/project/backend/main'),
                    
'allowedExtensions'=>array("jpg","jpeg","gif""png"),//array("jpg","jpeg","gif","exe","mov" and etc...
                    
'sizeLimit'=>1*1024*1024,// maximum file size in bytes
                    
'minSizeLimit'=>1024,// minimum file size in bytes
                    
'onComplete'=>"js:function(id, fileName, responseJSON){ profile.showAva(responseJSON); }",
                    
'multiple'=>false,
                    
'showMessage'=>"js:function(message){ notify.error(message); }"
                
)
            )); 

Но загрузчик не работает

Подозреваю, что ошибка, в этой строке 'action'=>Yii::app()->createUrl('/project/backend/main'), подскажите пожалуйста как правильно заполнить action.

Еще вопрос по этой строке
Код: Выделить всё
$folder='uploads/';// folder for uploaded files 
как правильно путь прописать в этом движке?
Вся недвижимость Астаны у нас на сайте
vanred79
Местная знаменитость
Местная знаменитость
 
Сообщения: 660
Зарегистрирован: 02 фев 2013, 18:42
Откуда: Казахстан
Очки репутации: 2

Re: как поставить загрузчик фото в Добавить заказ

Сообщение vanred79 » 26 июн 2019, 20:05

Здравствуйте! С загрузчиком вроде разобрался, но получается записать название файла в БД. В БД создан столбец name_image в таблице ojc_project, в модели name_image добавлен в public function rules()

Вот код в контроллере:
Код: Выделить всё
public function actionUpload(){    
    
Yii::import("ext.EAjaxUpload.qqFileUploader");
    
$user UserModule::user();
    
$folder=HUser::getUploadDir($userHUser::UPLOAD_PRODUCT) . DIRECTORY_SEPARATOR;
    
$allowedExtensions = array("jpg");//array("jpg","jpeg","gif","exe","mov" and etc...
    
$sizeLimit 1024 1024;// maximum file size in bytes
    
$uploader = new qqFileUploader($allowedExtensions$sizeLimit);
    
$result $uploader->handleUpload($folder);    
    
$fileName $result['filename'];//GETTING FILE NAME    
    
    
$project = new Project();
    
$project->name_image $fileName;
    
$project->save();
    
    
$return htmlspecialchars(json_encode($result), ENT_NOQUOTES);

    echo 
$return;// it's array
    
}     

Код создает папку и сохраняет фото как нужно, но не сохраняет название файла в БД.

Подскажите пожалуйста почему
Код: Выделить всё
$project->name_image $fileName
не сохраняет название файла в БД? Делал код по аналогии с Порфолио. Подскажите, что не так с кодом?
Вся недвижимость Астаны у нас на сайте
vanred79
Местная знаменитость
Местная знаменитость
 
Сообщения: 660
Зарегистрирован: 02 фев 2013, 18:42
Откуда: Казахстан
Очки репутации: 2

Re: как поставить загрузчик фото в Добавить заказ

Сообщение andipas » 28 июн 2019, 11:49

Код: Выделить всё

$project
->save();
 


посмотрите какие ошибки при сохранении данных модели, по простому это можно сделать так:

Код: Выделить всё
if($project->save()) {
   echo 'Успешно сохранили';
}
 else {
   echo CHtml::errorSummary($project);
}
 
Часто задаваемые вопросы. Для правки файлов notepad++, netbeans, phpStorm. Для правки CSS firebug.
Аватара пользователя
andipas
Разработчик
Разработчик
 
Сообщения: 695
Зарегистрирован: 28 дек 2011, 22:37
Очки репутации: 30

Re: как поставить загрузчик фото в Добавить заказ

Сообщение vanred79 » 29 июн 2019, 20:39

andipas писал(а):
Код: Выделить всё

$project
->save();
 


посмотрите какие ошибки при сохранении данных модели, по простому это можно сделать так:

Код: Выделить всё
if($project->save()) {
   echo 'Успешно сохранили';
}
 else {
   echo CHtml::errorSummary($project);
}
 

Здравствуйте!
После вставки этого кода перестал работать загрузчик см Скрин
И при нажатии кнопки Добавить не выходит ничего, ни Успешно сохранили, ни ошибки
Вложения
скрин.jpg
скрин.jpg (141.37 КБ) Просмотров: 10029
Вся недвижимость Астаны у нас на сайте
vanred79
Местная знаменитость
Местная знаменитость
 
Сообщения: 660
Зарегистрирован: 02 фев 2013, 18:42
Откуда: Казахстан
Очки репутации: 2

Re: как поставить загрузчик фото в Добавить заказ

Сообщение vanred79 » 03 июл 2019, 23:04

Здравствуйте! Подскажите пожалуйста возможно ли получить название изображения и передать ее в public function actionCreate() ?
Просто в actionCreate
Код: Выделить всё
$projectj->name_image 'название фото'
нормально сохраняется в БД.
Вся недвижимость Астаны у нас на сайте
vanred79
Местная знаменитость
Местная знаменитость
 
Сообщения: 660
Зарегистрирован: 02 фев 2013, 18:42
Откуда: Казахстан
Очки репутации: 2

Re: как поставить загрузчик фото в Добавить заказ

Сообщение vanred79 » 04 июл 2019, 07:49

Здравствуйте! Возник такой вопрос возможно ли передать название файла загруженного ext.EAjaxUpload.qqFileUploader в $_POST['Project'] ? Если да, то как это можно сделать?
Вся недвижимость Астаны у нас на сайте
vanred79
Местная знаменитость
Местная знаменитость
 
Сообщения: 660
Зарегистрирован: 02 фев 2013, 18:42
Откуда: Казахстан
Очки репутации: 2

Re: как поставить загрузчик фото в Добавить заказ

Сообщение vanred79 » 04 июл 2019, 18:17

Можете подсказать на Open Job CMS другие загрузчики фото подойдут? C yii2 или только с yii1 подходят? Если у вас есть ссылки на расширения загрузчиков фото, которые в БД пишут, скиньте пожалуйста
Вся недвижимость Астаны у нас на сайте
vanred79
Местная знаменитость
Местная знаменитость
 
Сообщения: 660
Зарегистрирован: 02 фев 2013, 18:42
Откуда: Казахстан
Очки репутации: 2

Re: как поставить загрузчик фото в Добавить заказ

Сообщение andipas » 05 июл 2019, 09:10

vanred79 писал(а):Можете подсказать на Open Job CMS другие загрузчики фото подойдут? C yii2 или только с yii1 подходят? Если у вас есть ссылки на расширения загрузчиков фото, которые в БД пишут, скиньте пожалуйста


Подойдут любые загрузчики, главное правильно их использовать. Описание одного из способов загрузки изображений - https://monoray.ru/86-yii/70-behaviors-v-yii

После вставки этого кода перестал работать загрузчик см Скрин
И при нажатии кнопки Добавить не выходит ничего, ни Успешно сохранили, ни ошибки


Потому что это ajax загрузчик и ошибки вы увидите только в панели управления разработчика, в Firefox она вызывается клавишей F12, вкладка "сеть".
https://developer.mozilla.org/ru/docs/T ... rk_Monitor - Ajax - это XHR-запросы
Часто задаваемые вопросы. Для правки файлов notepad++, netbeans, phpStorm. Для правки CSS firebug.
Аватара пользователя
andipas
Разработчик
Разработчик
 
Сообщения: 695
Зарегистрирован: 28 дек 2011, 22:37
Очки репутации: 30

Re: как поставить загрузчик фото в Добавить заказ

Сообщение vanred79 » 05 июл 2019, 11:24

andipas писал(а):
vanred79 писал(а):Можете подсказать на Open Job CMS другие загрузчики фото подойдут? C yii2 или только с yii1 подходят? Если у вас есть ссылки на расширения загрузчиков фото, которые в БД пишут, скиньте пожалуйста


Подойдут любые загрузчики, главное правильно их использовать. Описание одного из способов загрузки изображений - https://monoray.ru/86-yii/70-behaviors-v-yii

andipas спасибо! https://monoray.ru/86-yii/70-behaviors-v-yii нормально заработал и то, что нужно было
Вся недвижимость Астаны у нас на сайте
vanred79
Местная знаменитость
Местная знаменитость
 
Сообщения: 660
Зарегистрирован: 02 фев 2013, 18:42
Откуда: Казахстан
Очки репутации: 2


Вернуться в Улучшения

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3

cron