В таблице создал два дополнительных поля (costto_ru и costto_en) .
Внес изменения в в файлы Price.php
- Код: Выделить всё
public function rules() {
return array(
array('cat_id', 'required'),
array('name', 'i18nRequired'),
array('name, cost, costto', 'i18nLength', 'max' => 255),
array('is_bold', 'boolean'),
array($this->getI18nFieldSafe(), 'safe'),
array('cat_id, date_created, active, is_bold', 'safe', 'on' => 'search'),
);
public function i18nFields(){
return array(
'name' => 'varchar(255) not null',
'cost' => 'varchar(255) not null',
'costto' => 'varchar(255) not null',
);
}
public function attributeLabels() {
return array(
'№' => tc('№'),
'id' => tc('ID'),
'cat_id' => tc('Разделитель'),
'name' => tc('Наименование'),
'name_separator' => tc('Текст в разделителе'),
'cost' => tc('Цена до'),
'costto' => tc('Цена от'),
'is_bold' => tc('Выделить жирным текстом'),
'date_created' => tc('Дата добавления'),
'dateCreated' => tc('Дата обновления'),
'active' => tc('Статус'),
);
}
public function search() {
$criteria = new CDbCriteria;
$lang = Yii::app()->language;
$criteria->compare($this->getTableAlias().'.cat_id', $this->cat_id);
$criteria->compare($this->getTableAlias().".name_{$lang}", $this->{'name_'.$lang}, true);
$criteria->compare($this->getTableAlias().".cost_{$lang}", $this->{'cost_'.$lang}, true);
$criteria->compare($this->getTableAlias().".costto_{$lang}", $this->{'costto_'.$lang}, true);
$criteria->compare($this->getTableAlias().'.active', $this->active, true);
$criteria->order = 'cat.sorter ASC, '.$this->getTableAlias().'.sorter ASC';
$criteria->with = array('cat');
return new CustomActiveDataProvider($this, array(
'criteria' => $criteria,
'pagination' => array(
'pageSize' => /*param('adminPaginationPageSize', 20)*/ 100,
),
));
}
Соответственно добавил поля в views/backend/_form.php, admin.php
views/index.php, widgetPrice_list.php
Но почему то не срабатывает пишет
CException
Не определено свойство "Price.costto".