Дополнительное поле в таблице ore_images

Вопросы и ответы по изменению функционала, смене дизайна, переносу сайта и т.п.

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

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

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

Дополнительное поле в таблице ore_images

Сообщение Sheff » 22 май 2014, 13:19

Доброго времени суток!
Хочу создать дополнительное поле sku_object в таблице images с артикулом (аналог встроенного id_object) и поле sku_apart в apartment по которому буду сопоставлять картинки с апартаментами.
Вопрос, как сделать условие, что если поле sku_object == 0, то выводим картинки как есть (не меняем код) сопоставляя id_object и file_name , else выводим в карточке картинки сопоставляя по значению поля sku_object?

подозреваю что это делается в файле \protected\modules\apartments\models\Apartment.php строка
'images' => array(self::HAS_MANY, 'Images', 'id_object', 'order' => 'images.sorter'),

тк менял \protected\modules\images\models\Images.php но на вывод не повлияло
Спасибо!
Sheff
Незнакомец
 
Сообщения: 8
Зарегистрирован: 22 май 2014, 13:02
Очки репутации: 0

Re: Дополнительное поле в таблице ore_images

Сообщение Koduc » 22 май 2014, 23:31

Смотрите файл /protected/modules/images/views/widgetImages.php
Именно в через этот файл идет вывод изображений, там можете попробовать вставить нужные условия.
-- Меньше знаешь - крепче спишь --
Аватара пользователя
Koduc
Ведущий разработчик
Ведущий разработчик
 
Сообщения: 902
Зарегистрирован: 28 дек 2011, 09:11
Очки репутации: 20

Re: Дополнительное поле в таблице ore_images

Сообщение Sheff » 22 май 2014, 23:44

Спасибо.
Sheff
Незнакомец
 
Сообщения: 8
Зарегистрирован: 22 май 2014, 13:02
Очки репутации: 0

Re: Дополнительное поле в таблице ore_images

Сообщение Sheff » 23 май 2014, 10:17

посмотрел, да там выводятся доп изображения, главное выводится protected\modules\apartments\views\_view.php
но это немного не то что хотелось, интересует именно логика из какой таблицы берется изображение и по какому параметру сопоставляется (id_object поле). Почему когда меняю в \protected\modules\images\modelsimages.php таблицу, изменения не происходят, а когда меняюю \protected\modules\apartments\models\Apartment.php то меняется?
Sheff
Незнакомец
 
Сообщения: 8
Зарегистрирован: 22 май 2014, 13:02
Очки репутации: 0

Re: Дополнительное поле в таблице ore_images

Сообщение Sheff » 23 май 2014, 19:19

Может кэш, но вроде чистил...
И еще, один вопросик, как получить id апартамента в той функции что в первом моем сообщении(\protected\modules\apartments\models\Apartment.php)
Sheff
Незнакомец
 
Сообщения: 8
Зарегистрирован: 22 май 2014, 13:02
Очки репутации: 0

Re: Дополнительное поле в таблице ore_images

Сообщение Koduc » 26 май 2014, 07:57

Sheff писал(а):И еще, один вопросик, как получить id апартамента в той функции что в первом моем сообщении(\protected\modules\apartments\models\Apartment.php)

Там можно получить через $this->id

По поводу таблиц. В Apartment.php описывается как раз связь с нужной таблицей и по нужному полю. Там указано, что связывается с моделью Images по полю id_object там. То есть, id_object в таблице картинок указывает на id в таблице объявлений. Соответсвенно, вы можете сделать как-то аналогичную связь с другой таблицей или изменить эту
-- Меньше знаешь - крепче спишь --
Аватара пользователя
Koduc
Ведущий разработчик
Ведущий разработчик
 
Сообщения: 902
Зарегистрирован: 28 дек 2011, 09:11
Очки репутации: 20

Re: Дополнительное поле в таблице ore_images

Сообщение Sheff » 26 май 2014, 08:03

Говорит что не определоно apartmant.id. в relations пытаюсь получить ид. Хотелось бы ьам условие если есть поле то релатион с моим полем а если у this-> id нет поля то по дефрлту с id_object
Отправил запрос через форму на платную дороботку.
Sheff
Незнакомец
 
Сообщения: 8
Зарегистрирован: 22 май 2014, 13:02
Очки репутации: 0

Re: Дополнительное поле в таблице ore_images

Сообщение andipas » 26 май 2014, 08:18

Вам нужно почитать о relation в yii, в двух словах не объяснить - https://www.google.ru/search?q=relation ... eDNKDxgfgL
Часто задаваемые вопросы. Для правки файлов notepad++, netbeans, phpStorm. Для правки CSS firebug.
Аватара пользователя
andipas
Разработчик
Разработчик
 
Сообщения: 695
Зарегистрирован: 28 дек 2011, 22:37
Очки репутации: 30

Re: Дополнительное поле в таблице ore_images

Сообщение Sheff » 26 май 2014, 10:35

if ($relations['images'].'id_object'==0){
$relations['images'] = array(self::HAS_MANY, 'Images', 'id_ref', 'order' => 'images.sorter');
return $relations;}
else{
$relations['images'] = array(self::HAS_MANY, 'Images', 'id_object', 'order' => 'images.sorter');
return $relations;
}
почти сделал что хотел, но почему-то стандартные не срабатывают
Sheff
Незнакомец
 
Сообщения: 8
Зарегистрирован: 22 май 2014, 13:02
Очки репутации: 0

Re: Дополнительное поле в таблице ore_images

Сообщение Sheff » 26 май 2014, 10:57

но все равно придется еще както соединять с полем в таблице ore_apartment...
Прошу помочь платно с реализацией двух одинаковых полей (допустим id_ref) в ore_images и ore_apartment, текстовых, чтобы если поле в ore_images.id_object ==0 тогда ore_images.id_object=ore_images.id_ref где ore_apartment.id = ore_apartment.id_ref
Sheff
Незнакомец
 
Сообщения: 8
Зарегистрирован: 22 май 2014, 13:02
Очки репутации: 0

След.

Вернуться в Вопросы и помощь по изменениям

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

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