В базе в таблице ore_apartment создать поле типа TEXT, назвать его как надо (например, admin_text).
В /protected/modules/apartments/models/Apartment.php в функции rules() добавить это поле в строку:
- Код: Выделить всё
array('admin_text, owner_active, num_of_rooms, is_special_offer, is_free_from, is_free_to, active, metroStations', 'safe'),
И в функцию attributeLabels() добавить название поля:
- Код: Выделить всё
'admin_text' => 'Дополнительное описание',
Далее открываем файлик /protected/modules/apartments/views/backend/__form.php и там делаем что-то типа такого:
- Код: Выделить всё
<div class="row">
<?php echo $form->labelEx($model,'berths'); ?>
<?php echo $form->textField($model,'berths',array('class' => 'width150','maxlength'=>255)); ?>
<?php echo $form->error($model,'berths'); ?>
</div>
<?php
if(Yii::app()->user->getState('isAdmin')){
?>
<div class="row">
<?php echo $form->labelEx($model,'admin_text'); ?>
<?php
$this->widget('application.modules.editor.EImperaviRedactorWidget',array(
'model'=>$model,
'attribute'=>'admin_text',
'htmlOptions' => array('class' => 'editor_textarea', 'style' => 'width:950px;'),
'options'=>array(
'toolbar'=>'custom', 'lang' => Yii::app()->language,
'focus' => false,
),
));
?>
<?php echo $form->error($model,'admin_text'); ?>
</div>
<?php
}
?>
Ну и отображение поля надо добавить в /protected/modules/apartments/views/_view.php
- Код: Выделить всё
if($data->getStrByLang('description_near')){
echo '<p><strong>'.tt('Near').':</strong> '.CHtml::encode($data->getStrByLang('description_near')).'</p>';
}
echo '<b>Дополнительное описание</b>: '.$model->admin_text;
По аналогии сделать просмотр в модуле viewpdf.
Вроде должно будет работать. Поле будет видно только у админа, но пользователи тоже при некотором навыке "взлома" смогут это поле заполнить. Чтобы такого не было - нужно внести небольшие правки, например, в /protected/modules/userads/controllers/MainController.php в методы actionUpdate() и actionCreate(). Но это уже пусть будет "домашним заданием".