protected function renderItem($options, $templateData)
    {
        //apply editable if not set 'editable' params or set and not false
        $apply = !empty($options['name']) && (!isset($options['editable']) || $options['editable'] !== false);

        if ($apply) {
            //ensure $options['editable'] is array
            if (!isset($options['editable'])) $options['editable'] = array();

            //merge options with defaults: url, params, etc.
            $options['editable'] = CMap::mergeArray($this->_data, $options['editable']);

            //options to be passed into EditableField (constructed from $options['editable'])
            $widgetOptions = array(
                'model' => $this->data,
                'attribute' => $options['name']
            );

            //if value in detailview options provided, set text directly (as value here means text)
            if (isset($options['value']) && $options['value'] !== null) {
                $widgetOptions['text'] = $templateData['{value}'];
                $widgetOptions['encode'] = false;
            }

            $widgetOptions = CMap::mergeArray($widgetOptions, $options['editable']);

            $widget = $this->controller->createWidget('WhEditableField', $widgetOptions);

            //'apply' maybe changed during init of widget (e.g. if related model has unsafe attribute)
            if ($widget->apply) {
                ob_start();
                $widget->run();
                $templateData['{value}'] = ob_get_clean();
            }
        }

        parent::renderItem($options, $templateData);
    }
protected function renderItem($options, $templateData)
    {
        //apply editable if not set 'editable' params or set and not false
        $apply = !empty($options['name']) && (!isset($options['editable']) || $options['editable'] !== false);

        if ($apply) {
            //ensure $options['editable'] is array
            if (!isset($options['editable'])) $options['editable'] = array();

            //merge options with defaults: url, params, etc.
            $options['editable'] = CMap::mergeArray($this->_data, $options['editable']);

            //options to be passed into EditableField (constructed from $options['editable'])
            $widgetOptions = array(
                'model' => $this->data,
                'attribute' => $options['name']
            );

            //if value in detailview options provided, set text directly (as value here means text)
            if (isset($options['value']) && $options['value'] !== null) {
                $widgetOptions['text'] = $templateData['{value}'];
                $widgetOptions['encode'] = false;
            }

            $widgetOptions = CMap::mergeArray($widgetOptions, $options['editable']);

            $widget = $this->controller->createWidget('WhEditableField', $widgetOptions);

            //'apply' maybe changed during init of widget (e.g. if related model has unsafe attribute)
            if ($widget->apply) {
                ob_start();
                $widget->run();
                $templateData['{value}'] = ob_get_clean();
            }
        }

        parent::renderItem($options, $templateData);
    }
protected function renderItem ( $ options , $ templateData ) { //apply editable if not set 'editable' params or set and not false $ apply = ! empty ( $ options [ 'name' ] ) && ( ! isset ( $ options [ 'editable' ] ) || $ options [ 'editable' ] !== false ) ; if ( $ apply ) { //ensure $options['editable'] is array if ( ! isset ( $ options [ 'editable' ] ) ) $ options [ 'editable' ] = array ( ) ; //merge options with defaults: url, params, etc. $ options [ 'editable' ] = CMap :: mergeArray ( $ this -> _data , $ options [ 'editable' ] ) ; //options to be passed into EditableField (constructed from $options['editable']) $ widgetOptions = array ( 'model' => $ this -> data , 'attribute' => $ options [ 'name' ] ) ; //if value in detailview options provided, set text directly (as value here means text) if ( isset ( $ options [ 'value' ] ) && $ options [ 'value' ] !== null ) { $ widgetOptions [ 'text' ] = $ templateData [ '{value}' ] ; $ widgetOptions [ 'encode' ] = false ; } $ widgetOptions = CMap :: mergeArray ( $ widgetOptions , $ options [ 'editable' ] ) ; $ widget = $ this -> controller -> createWidget ( 'WhEditableField' , $ widgetOptions ) ; //'apply' maybe changed during init of widget (e.g. if related model has unsafe attribute) if ( $ widget -> apply ) { ob_start ( ) ; $ widget -> run ( ) ; $ templateData [ '{value}' ] = ob_get_clean ( ) ; } } parent :: renderItem ( $ options , $ templateData ) ; }
Renders an item

@param array $options
@param string $templateData
Renders an item