Выбор изображений на удаление, добавление новых изображений.
Выбор изображений на удаление, добавление новых изображений.
Выбор изображений на удаление, добавление новых изображений — типичная задача, когда изображений, связанных с записью, может быть несколько (CActiveRecord, CMultiFileUpload).
Есть список пользователей.
1. С записью конкретного пользователя может быть связано несколько изображений;
2. Время от времени изображения могут меняться. Должна быть возможность удалять одни и добавлять другие изображения;
3. Изображения не только должны быть закачаны на сервер, но и должна быть создана миниатюра (thumbnail), то есть должна быть возможность изменить размер изображения;
4. Изображения должны храниться в каталогах имеющих определенную структуру — /images/user/id_фирмы в которой работает пользователь.
http://lisette.su/blog/imgdoc-uploading-task/
https://github.com/sergmoro1/MultiFileU ... rkToDelete
Есть список пользователей.
1. С записью конкретного пользователя может быть связано несколько изображений;
2. Время от времени изображения могут меняться. Должна быть возможность удалять одни и добавлять другие изображения;
3. Изображения не только должны быть закачаны на сервер, но и должна быть создана миниатюра (thumbnail), то есть должна быть возможность изменить размер изображения;
4. Изображения должны храниться в каталогах имеющих определенную структуру — /images/user/id_фирмы в которой работает пользователь.
http://lisette.su/blog/imgdoc-uploading-task/
https://github.com/sergmoro1/MultiFileU ... rkToDelete
Re: Выбор изображений на удаление, добавление новых изображе
Спасибо, интересно.
Только вот "..inherit model from CActiveRecordWithImages.." - лучше бы, наверное, через поведение сделать.
Вместо simple_image лучше CImageHandler (тут на форуме выкладывали). Там функций поболее - ватермарки, например, накладывать.
Только вот "..inherit model from CActiveRecordWithImages.." - лучше бы, наверное, через поведение сделать.
Вместо simple_image лучше CImageHandler (тут на форуме выкладывали). Там функций поболее - ватермарки, например, накладывать.
Разработка на Yii: monoray.ru
Открытое бесплатное решение для создания сайтов по аренде/продаже недвижимости: Open Real Estate
Открытое бесплатное решение для создания сайтов по аренде/продаже недвижимости: Open Real Estate
Re: Выбор изображений на удаление, добавление новых изображе
Почему бы не засунуть в поведение все это:
Зачем нужно унаследовать User от вашей моедли? Что если я переписал до вас CActiveRecord?
Что увидит пользователей если его изображение не прошло валидацию? Из вашего кода если отправка через AJAX, он ничего не увидит.
Советую все это дело оформить в виде поведения, многие проблему отпадут, а гибость расширения улучшется.
Код: Выделить всё
$images = CUploadedFile::getInstancesByName('User[images]');
$imageModel = new ImageModel($this->sizes, $model->firm_id);
$imageModel->validate($model, $images);
Что увидит пользователей если его изображение не прошло валидацию? Из вашего кода если отправка через AJAX, он ничего не увидит.
Советую все это дело оформить в виде поведения, многие проблему отпадут, а гибость расширения улучшется.
Re: Выбор изображений на удаление, добавление новых изображе
Спасибо, обязательно посмотрю и попробую)Koduc писал(а):"..inherit model from CActiveRecordWithImages.." - лучше бы, наверное, через поведение сделать.
Вместо simple_image лучше CImageHandler (тут на форуме выкладывали). Там функций поболее - ватермарки, например, накладывать.
Re: Выбор изображений на удаление, добавление новых изображе
Обязательно попробую, спасибо)vova07 писал(а):Почему бы не засунуть в поведение все это
Re: Выбор изображений на удаление, добавление новых изображе
Потому что в CActiveRecordWithImage добавлена пара методов, важных для обработки изображений. Но, возможно вы правы, и сделав поведение, наследование не понадобится. Что касается переписывания, пожалуйста. Это всегда свободно, главное не забыть вызвать parent.vova07 писал(а):Зачем нужно унаследовать User от вашей модели? Что если я переписал до вас CActiveRecord?
Последний раз редактировалось sergmoro1 2014.03.30, 14:28, всего редактировалось 3 раза.
Re: Выбор изображений на удаление, добавление новых изображе
Отправка обычная и проверка введенных значений тоже. Ajax не используется. Закачка и сохранение файлов происходит только после валидации введенных в форму значений.vova07 писал(а):Что увидит пользователь если его изображение не прошло валидацию? Из вашего кода если отправка через AJAX, он ничего не увидит.
Стараюсь использовать классы, уже определенные во framework-е. В данном случае это CMultiFileUpload. Конечно, существуют другие варианты. Например тот, что вы предложили в комментарии к предыдущему посту. Но тут мне пока поделиться нечем.
Re: Выбор изображений на удаление, добавление новых изображе
Думал что это через AJAX, но если это стандартно то все гуд.
Касательно унаследования, подразумевалось ситуация когда я например переписал для себя CActiveRecord и все свои модели наследую от нового класа, с вашим подходом мне нужно будет или скопировать ваши методы в мой новый класс, или с моего класса в ваш актив рекорд, таким образом это не гибко, что нельзя сказать о поведениях.
Касательно унаследования, подразумевалось ситуация когда я например переписал для себя CActiveRecord и все свои модели наследую от нового класа, с вашим подходом мне нужно будет или скопировать ваши методы в мой новый класс, или с моего класса в ваш актив рекорд, таким образом это не гибко, что нельзя сказать о поведениях.
Re: Выбор изображений на удаление, добавление новых изображе
Тут Вы правы.vova07 писал(а):таким образом это не гибко, что нельзя сказать о поведениях.
Тем не менее еще один вариант. Все еще без использования поведения, но теперь с ajax загрузкой.
Одна модель Image на всё приложение.
https://github.com/sergmoro1/OneImageModelForAllProject