si je comprends bien, tu as un formulaire du genre: (Q: question, R: réponse saisie)
Q: controller/action => R: site/page
Q: paramètre => R: contact
Avec ce formulaire tu veux créer une chaîne à stocker dans la bdd sous forme de varchar:
array('site/page', 'view' => 'contact')
Je ne comprends pas trop ton histoire de serialisation de beforeSave et d’afterFind, cela me semble bien compliqué pour une opération simple de ce genre.
Oui, je pourrais me débrouiller avec plusieurs champs, et remixer le tout dans le modèle, mais le but c’est d’avoir un seul champ dans lequel je tape directement le lien en code php, en gros pouvoir interpréter du code php venant d’un formulaire.
Recevoir par exemple le lien
$this->url = $_POST['url'];
Dans ce cas $this->url = ‘array(‘site/page’, ‘view’ => ‘contact’)’; Mais je voudrais que ça ait pour valeur $this->url = array(‘site/page’, ‘view’ => ‘contact’);
Et ensuite l’utiliser comme:
CHtml::link($model->titre,$model->url);
J’ai essayé de bidouiller avec eval() mais ça n’a pas été concluant.