Bonjour
Dans un filtre en frontend (tout comme dans le backend généré) je n'arrive pas à filtrer dans un textarea (misc).
C'est à dire rechercher une expression "cde" et sortir "abcde", "cdefg"... etc comme en SQL avec un LIKE %$misc%.
Voici un morceau des codes.
Dans l'action c'est du "classique" (buildQuery, setQuery, getQuery, disponible sur demande...)
Schema
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
Table:
  columns: 
    ...
    misc: { type: string(4000) }
    ...
TableForm.class.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class TableForm extends BaseTableForm {
 
    public function configure() {
        $this->useFields(array(..., misc, ....));
 
$this->setWidgets(array(
...
'misc' => new sfWidgetFormTextarea(array(), array('rows' => 5, 'cols' => 28)),
...));
 
$this->setValidators(array(
...
'misc' => new sfValidatorString(array('max_length' => 4000, 'required' => false)),
...));
 
$this->widgetSchema->setNameFormat('table[%s]');
}
}
TableFormFilter.class.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
class FrcapFormFilter extends BaseFrcapFormFilter {
public function configure() {
...
 $this->widgetSchema['misc'] = new sfWidgetFormTextArea(array(), array('rows' => 5, 'cols' => 30));
...
}
}
Si quelqu'un voit ce qui manque / cloche....
Ce sera Noël pour moi....