vista una layouts framework crear activeform php yii widget

php - una - yii2 html::a



cómo ejecutar el widget yii cuando se hace clic en el botón (1)

Tengo este widget:

<?php class Search extends CWidget { public $dataProvider = null; public function init() { $criteria = new CDbCriteria(); if ( isset($_GET[''file'']) ) { $criteria->compare(''fileName'', $_GET[''file''], true, ''OR''); $criteria->compare(''tags'', $_GET[''file''], true, ''OR''); } $this->dataProvider = new CActiveDataProvider("Files", array( ''criteria'' => $criteria, //''countCriteria'' => $criteria, ''pagination''=>array( // results per page ''pageSize''=>1, ), )); } public function run(){ $this->render(''site/result'', array( ''dataProvider'' => $this->dataProvider, ''pages'' => $this->dataProvider->pagination, )); } } ?>

cómo puedo ejecutar este widget solo cuando se hace clic en el botón de búsqueda, y cómo ver su resultado en la vista reuslt que se encuentra en el sitio de la carpeta


Tal vez no te haya entendido bien, pero creo que tienes un poco de confusión sobre el widget. Evita hacer una
larga respuesta, hice un modelo en la parte inferior

Pregunta 1: ¿Cómo puedo ejecutar este widget solo cuando se hace clic en el botón de búsqueda?

La idea es colocar el contenido del widget en div oculto y luego agregar un script jQuery para mostrarlo luego de hacer clic en el botón de búsqueda.

<div id=''search-result'' style="display:none"><?php $this->widget(...) ?></div> <script> $(''#search-button-id'').click({ // do something $(''#search-result'').show(); })</script>

Pregunta 2: ¿cómo ver su resultado en la vista reutilizar que se encuentra en el sitio de la carpeta?

Imao, te recomiendo que no hagas esto. El widget es una parte independiente, puede usarlo para muchos propósitos específicos y muchas ubicaciones de su proyecto, de modo que simplemente coloque una vista simple para que el widget lo represente por sí solo, en lugar de intentar renderizar una vista fuera del alcance del widget. Debería verse como a continuación

/your-app/protected/extensions/widgets/search/Search.php /your-app/protected/extensions/widgets/search/views/result.php // view for rendering