Richiamo Di Un Azione E Aggiornamento Ricerca

Ho creato una pagina che tramite form mi permette di fare una ricerca tramite dataProvider(che è quella che crea il modulo gii…per interderci), ora vorrei creare dei link che richiamino un azione che esegue una query parametrica; ad esempio vorrei filtrare la tabella attività, per categoria; quindi a me servirebbe un link per ciascuna categoria: link1 = abbigliamento, link2 = sportiva ecc…; dovrei creare un azione per le categorie?e nella view inserire i link cosi echo CHtml::link(‘Sportiva’,array(‘Attivita/categoria’)); //link che richiama l’azione delle categorie?, per aggiornare i dati che ho ottenuto in precedenza con l’azione search…come procedo?..devo creare una nuova view Categoria?..o possono essere aggiornati sulla stessa?

non puoi farlo direttamente nella form?

Nella form la ricerca è libera, i link avrebbero un parametro fisso, ad esempio clicco sul link abbigliamento… e i dati filtrati saranno solo quelli che hanno come valore abbigliamento…nel campo categoria

basta mettere un dropdown nella form no? altrimenti devi fare un

linksubmit:




<?php echo CHtml::link('Link Parametrizzato', '#', array(

    'submit'=>array('controller/action', 'id'=>$model->id),

    'params'=>array('stato'=>1)

)); ?>



No nel form no!, il layout è diviso in due colonne, nel layout di ricerca(il form)…avrò i campi di ricerca: nome attivita,marca e sotto i risultati della ricerca(widget), nella colonna di sinistra avrò sempre i risultati di ricerca…ch sono uguali a quelli presenti nel layout di destra!, solo che è un mio widget(una cartina con i maker)…,i link li metto sopra tutto… capito?

no non ho capito, cmq te l’ho scritto come fare.




<?php echo CHtml::link('Link Parametrizzato', '#', array(

    'submit'=>array('controller/action', 'id'=>$model->id),

    'params'=>array('stato'=>1)

)); ?>




<div id= top_categoria>Link parametrici</div>

<div id=left>risultati della ricerca in un widget personalizzato</div>

<div id=right>Form di ricerca</div>



Non capisco come possono aggiornarsi i dati con quello che mi hai detto, scusami


<div id="mappa">		

    <div class="demo1"

  

        <?php $this->widget('zii.widgets.CMapView', array(

            'dataProvider'=>$model->search(),

            'itemView'=>'_view',

        )); ?>


    </div>

</div>


<div id="cerca">

    <?php $this->renderPartial('_search',array(

	'model'=>$model,

)); ?>

    <!-- Griglia risultati-->

    <?php $this->widget('zii.widgets.CListView', array(

	'dataProvider'=>$model->search(),

	'itemView'=>'_view2',

       

)); ?>

    

</div>

Il primo widgetha come dataprovider model->search

quindi fa riferimento a questa funzione

il secondo widget idem!;

se io inserisco dei link al di fuori della form!, su in alto a inizio pagina come menu ad esempio:




<div id=menu>

 <?php echo CHtml::link('Sportiva', '#', array(

    'submit'=>array('Attivita/Categoria', 'id'=>$model->id),

    'params'=>array('categoria'=>sportiva)

)); ?>

</div>



in questo caso farò riferimento a questa funzione che deve filtrarmi il campo categoria


public function getCategoria(){

            $criteria = new CDbCriteria();

            $criteria->compare('categoria','sportiva);

                return new CActiveDataProvider($this, array(

			'criteria'=>$criteria,));

        }