J'ai trouvé un moyen d'ajouter cette fonction à la main.
Voici donc ma nouvelle classe :
sfWidgetFormDoctrineChoiceSafe.class.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| if(!function_exists('get_called_class')) {
function get_called_class($bt = false,$l = 1) {
// definition de cette fonction
}
}
class sfWidgetFormDoctrineChoiceSafe extends sfWidgetFormDoctrineChoice
{
/**
* @see sfWidget
*/
public function __construct($options = array(), $attributes = array())
{
$options['choices'] = array();
sfOutputEscaper::markClassAsSafe( get_called_class() );
parent::__construct($options, $attributes);
}
} |
Dans le modèle du formulaire, je déclare la liste de choix ainsi (donc format <ul><li> :
'expo_event_list' => new sfWidgetFormDoctrineChoiceSafe(array('multiple' => true, 'model' => 'ExpoEvent')),
Le hic est que les caractères HTML ne sont toujours pas pris en compte et apparaissent donc dans le texte.
Merci de ton aide.
Partager