Je voulais maintenant s'il y a un moyen de passer une simple chaîne à l'intérieur de url et cakephp comment la mettre à l'intérieur de l'une des entrées de mon formulaire sans écriture de code sur le côté de la vue? J'ai essayé d'appeler this-> set ("bla", "bla"); le nom du champ est bla mais rien n'a changéComment passer des données dans url en utilisant cakephp?
Répondre
Comme je l'ai compris la question que vous voulez avoir quelque chose comme ceci:
dans l'URL que vous avez quelque chose comme:
http://yourserver.com/controller/action?search=string
et vous voulez mettre cette « chaîne » dans le champ de recherche, non? Imaginons ensuite que le nom de votre champ est data [champ_recherche]. (Je saute le modèle, car pour mon exemple ce n'est pas nécessaire, mais il est possible que le nom soit data [Model] [search_field]).
Puis, vous devez faire suite à l'action de votre contrôleur:
$this->data['search_string'] = $this->params['url']['search'];
Vous pouvez transmettre des valeurs dans l'URL en utilisant html helper. Essayez:
echo $this->Html->link('View Some Page', array(
'controller' => 'yourController',
'action' => 'view',
1, // id
'?' => array('yourField' => 'valueToPass'))
);
devrait travailler pour ajouter deux (au lieu de vue)? –
Je n'ai pas compris votre question. Si vous construisez un lien en utilisant html helper, vous pouvez passer n'importe quelle valeur de n'importe quel paramètre à n'importe quelle page que vous voulez. – bancer
Oui oui c'est évident, le gâteau va-t-il savoir mettre les données dans le champ de vue? –
Une seule chose est manquante, si le formulaire rencontre une erreur de validation après soumettre, cela déclenchera un avertissement dont j'avais besoin pour ajouter le suivi: \t if (isset ($ this-> params ['url'] ['subject'])) \t \t { \t \t \t écho $ form-> caché ('sujet', tableau ('default' => $ this-> params [ 'url'] [ 'sujet'])); \t \t} \t \t autre \t \t { \t \t \t echo $ form-> caché ('sujet'); \t \t} –