Всё правильно, но неполностью сделали, поэтому ошибка такая.
В функции getPriceArray в условие if($all) добавьте:
- Код: Выделить всё
if($all){
return array(
...
self::PRICE_PER_TEST => tt('Price per test', 'apartments'),
)
}
Откройте файл: protected/modules/apartments/views/backend/_form.php
в самом верху добавьте:
- Код: Выделить всё
$urls = array(
...
Apartment::TYPE_TEST => $this->createUrl('/apartments/backend/main/'.$this->action->id,
array('id' => $model->isNewRecord? '': $model->id, 'type' => Apartment::TYPE_TEST)),
)
После этого при смене типа при добавлении/редактивания объявления выдаст ошибку:
CDbCommand не удалось исполнить SQL-запрос: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'reference_values.for_test' in 'where clause'.
Необходим запрос:
- Код: Выделить всё
ALTER TABLE `re_dev_apartment_reference_values` ADD `for_test` TINYINT( 1 ) NOT NULL DEFAULT '1' AFTER `for_sale`;
Затем почистите кеш в папке: protected\runtime\cache\