I hope you can help me. I've done all steps like here 
"http://stackoverflow.com/questions/10590199/cakephp-basic-help-to-use-cakedc-search-plugin";
 
but the searcher doesn't anything. 

My project is about one User's List and I want to filter for the fields 
'apellidos' or 'dni'.

In my Controller I've the component declared and this:

    public function index() {
        $this->Prg->commonProcess();
    $this->paginate = array(
        'conditions' => $this->User->parseCriteria($this->passedArgs));
    $this->set('users', $this->paginate());
        $this->User->recursive = 0;
        $this->User->order = 'User.cod_cliente';
        $this->User->conditions = 'User.nombre';
        if($this->Session->read('Auth.User.group_id')==5)
        {
            //$this->set('categorias', 
$this->User->find('all',array('fields'=>array('group_id','cod_cliente','nombre','apellidos','dni','id'))));
        }else
        {
            $this->User->conditions = 
array('User.cod_centro'=>$this->Session->read('Auth.User.cod_centro'));
            //$this->set('categorias', 
$this->User->find('all',array('fields'=>array('group_id','cod_cliente','nombre','apellidos','dni','id'),'conditions'=>array('User.cod_centro'=>$this->Session->read('Auth.User.cod_centro')))));
            }
        $this->set('categorias', $this->Paginator->paginate());
        $this->set('title_for_layout', __('Listado de usuarios')." - 
".__('Administración'));
    }

        public $presetVars = array(
    array('field' => 'apellidos', 'type' => 'value'),
    array('field' => 'dni', 'type' => 'value'),);

     public $actsAs = array('Containable','Search.Searchable','Acl' => 
array('type' => 'requester'));
    
    public $filterArgs = array(
        array('name' => 'apellidos', 'type' => 'query', 'method' => 
'filterApellidos'),
        array('name' => 'dni', 'type' => 'query', 'method' => 'filterDni'),
        );     
and here are also the functions: 

    
            public function filterApellidos($data, $field = null) {
            if (empty($data['apellidos'])) {
                return array();
            }
            $apellidosField = '%' . $data['apellidos'] . '%';
            return array(
                'OR' => array(
                    $this->alias . '.apellidos LIKE' => $apellidosField,
                    ));
        }

         public function filterDni($data, $field = null) {
            if (empty($data['dni'])) {
                return array();
            }
            $dniField = '%' . $data['dni'] . '%';
            return array(
                'OR' => array(
                    $this->alias . '.dni LIKE' => $dniField,
                    ));
        }
        // Built a list of search options (unless you have this list 
somewhere else)
        public function __construct($id = false, $table = null, $ds = null) 
{
        $this->statuses = array(
                    '' => __('All', true),
                     0 => __('Bid', true),
                     1 => __('Cancelled', true),
                    2 => __('Approved', true),
                    3 => __('On Setup', true),
                    4 => __('Field', true),
                    5 => __('Closed', true),
                    6 => __('Other', true));
         parent::__construct($id, $table, $ds);
         }

Finally, in the View I have this:

    <div><?php
        echo $this->Form->create('Usuario', array(
            'url' => array_merge(array('action' => 'index'), 
$this->params['pass'])
            ));
        echo $this->Form->input('apellidos', array('div' => false, 'empty' 
=> true)); // empty creates blank option.
        echo $this->Form->input('dni', array('div' => false, 'empty' => 
true));
        echo $this->Form->submit(__('Search', true), array('div' => false));
        echo $this->Form->end();
    ?>
        </div>

Could you tell me what I'm doing wrong, please? Thanks a lot!!

Belén

-- 
Like Us on FaceBook https://www.facebook.com/CakePHP
Find us on Twitter http://twitter.com/CakePHP

--- 
You received this message because you are subscribed to the Google Groups 
"CakePHP" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to cake-php+unsubscr...@googlegroups.com.
To post to this group, send email to cake-php@googlegroups.com.
Visit this group at http://groups.google.com/group/cake-php.
For more options, visit https://groups.google.com/d/optout.

Reply via email to