Подскажите как лучше организовать управление картинками...

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
serzhiio
Сообщения: 60
Зарегистрирован: 2011.01.30, 14:09

Подскажите как лучше организовать управление картинками...

Сообщение serzhiio »

Что на данный момент есть:
1. Модель "Страна" + контроллер и отображение
2. Модель "Место" + контроллер и отображение
3. Модель "Изображения" + контроллер и отображение
Все по умолчанию от GII :)

Допустим я создаю новое "Место" и в одном из полей модели выбираю страну, здесь вопросов нет, дальше мне нужно к одному месту прикрепить любое количество изображение, за хранение и вывод которых отвечает модель "Изображения".

Вопрос: Как лучше организовать управление (добавление/редактирование) изображениями при редактировании "Места"? Т.е. мне нужно добавить изображения ("image/create") находясь по сути в управлении "place/update".
Как это лучше сделать? Может есть уже готовые наработки, а я не знаю :)

P.S.: Yii изучаю не очень давно, поэтому многого не знаю ещё.
karagodin
Сообщения: 26
Зарегистрирован: 2010.07.03, 06:26
Контактная информация:

Re: Подскажите как лучше организовать управление картинками.

Сообщение karagodin »

посмотрите пример блога (http://yiiframework.ru/doc/blog/ru/start.overview), там комментарий добавляется на странице топика.
serzhiio
Сообщения: 60
Зарегистрирован: 2011.01.30, 14:09

Re: Подскажите как лучше организовать управление картинками.

Сообщение serzhiio »

Большое спасибо за наводку..
serzhiio
Сообщения: 60
Зарегистрирован: 2011.01.30, 14:09

Re: Подскажите как лучше организовать управление картинками.

Сообщение serzhiio »

Появился вот какой вопрос.
Допустим, я сохраняю новую модель её данные я записываю, но с данными модели POST'ом передаются также прикреплённые изображения, которые нужно сохранить в другой модели (Изображения). В этой же модели содержится экшн для сохранения. Каким образом воспользоваться экшеном одной модели в экшене другой...?

Оговорюсь, что сохранить надо одновременно переданные несколько файлов как разные экземпляры модели Изображения.
Аватара пользователя
mihan007
Сообщения: 31
Зарегистрирован: 2011.01.28, 11:05
Откуда: Санкт-Петербург
Контактная информация:

Re: Подскажите как лучше организовать управление картинками.

Сообщение mihan007 »

а что мешает при сохранении создавать столько экземпляров класса модели изображения сколько надо?
например в контроллере пишем так:

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

<?
public function actionSave()
{
    if (isset($_POST['place']))
    {
       $place = new Place;
       $place->attributes = $_POST['place'];
       if ($place->save())
       {
            foreach ($imagesFile as $imageFile) //цикл по изображениям, будет чуть сложнее в реальном коде
            {
                $image = new Image; //новый экемпляр модели
                $image->attributes = getAttributesFromImageFile($imageFile); //вытягиваем всю нужную информация из пришедшего файла
                $image->place_id = $place->id; //привязываем наше изображение к месту по внешнему ключу
                $image->save(); //сохраняем, во время сохранения в модели уже делаем все нужные операции - перемещаем в нужное место, ресайзим и т.д.
            }
       }
    }
}
?>
с уважением,
Куклин Михаил

контакты: +79313601666 | mihan007@ya.ru | https://paradox777.ru
Ответить