Closed FajeSu closed 8 years ago
скорее всего вот так
в файле /protected/extensions/onflyedit/OnFlyEditField.php
вернуть метод prepareFieldData()
:
protected function renderDataCellContent($row, $data)
{
$htmlOptions = CMap::mergeArray(
array(
'data-grid-id' => $this->gridId,
'data-grid-update' => $this->gridUpdate
),
$this->elementOptions
);
$primaryKey = $data instanceof BActiveRecord ? $data->getPrimaryKey() : $data['id'];
Yii::app()->controller->widget('OnFlyWidget', array(
'type' => empty($this->dropDown) ? OnFlyWidget::TYPE_INPUT : OnFlyWidget::TYPE_DROPDOWN,
'ajaxUrl' => $this->ajaxUrl,
'attribute' => $this->prepareFieldData(), /* <----- */
'primaryKey' => $primaryKey,
'value' => $data[$this->name],
'items' => $this->dropDown,
'htmlOptions' => $htmlOptions
));
}
/**
* @param null|string $name
*
* @return string
*/
protected function prepareFieldData($name = null)
{
if( $name === null )
$name = $this->name;
return $name;
}
в файле /protected/modules/menu/components/grid/BFrontendMenuGridPositionColumn.php
изменить метод:
/**
* @param null $name
*
* @return string
*/
protected function prepareFieldData($name = null)
{
if( $this->temporaryData instanceof BFrontendMenuGridAdapter )
$name = $this->temporaryData->getType();
return parent::prepareFieldData($name);
}
В файле
/protected/extensions/onflyedit/OnFlyEditField.php
в строке 128 сейчас указывается полеposition
, а нужно получать класс элемента меню, как это происходило раньше в файле/protected/modules/menu/components/grid/BFrontendMenuGridPositionColumn.php
в строке 39Может надо так написать?
И в файле
/protected/modules/menu/components/grid/BFrontendMenuGridPositionColumn.php
методprepareFieldData()
вообще удалить, раз он не используется?