php - poner - YII: ¿Pasar datos a un widget desde un controlador?
yii framework 2018 (1)
dataProvider ya tiene todos los datos incluidos
$dataProvider->data
$dataProvider->getData()
Para colocarlo en el diseño principal puede crear otra variable en su controlador
class Controller extends CController
{
public $data_exchange='''';
...
}
Será fácil de manipular en todas partes del código con $this->data_exchange
similar a las breadcrumbs
de breadcrumbs
en su diseño principal
$this->widget(''searchSidebar'', array(
''id'' => ''searchSidebar'',
''data'' => $this->data_exchange
/* where $this refer to any class which extends Controller */
));
En su código de vista, defina sus datos como:
$this->data_exchange = $dataProvider->data
Tengo una página de búsqueda que pasa datos a la función de renderizado:
public function actionIndex() {
$this->render(
''searchResults'',
array(
''dataProvider'' => $dataProvider,
''searchQuery'' => $searchQuery,
)
);
}
El problema es que también necesito pasar estos datos de aquí a un widget que aparece en la barra lateral. El widget se muestra actualmente en layout / main.php de la siguiente manera:
<?php
$this->widget(''searchSidebar'', array(
''id'' => ''searchSidebar'',
));
?>
¿Cómo voy a pasar los datos a este ancho desde el controlador sin tener que volver a hacer la consulta?