Zak
unread,Jun 22, 2010, 4:37:25 AM6/22/10Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Sign in to report message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to Cakephp-fra
Bonjour tout le monde,
Bon je me suis décidé, je me lance dans l'aventure cakephp que je
trouvé géniale.
Mais débutant que je suis, j'ai à des moments des problèmes de
partout.
Pour le moment, mes tables sont correctement dessinées, les modèles,
les vues et les controlleurs sont tout bon et j'arrive à naviguer dans
l'appli.
Ce que j'essaye de faire, c'est un espèce de moteur de recherche (un
formulaire ou l'on saisit un identifiant), et il me ressort la vue
juste pour l'id saisi.
Ma table sur laquelle je désire faire la recherche est sites.
Elle comporte deux champs qui m'interessent: id (clé primaire) et g2r
(qui est une référence de produit).
Je veux donc en tapant un g2r avoir en sorti la vue pour le site dont
le g2r est celui saisi.
J'ai essayé de mettre en place ce que j'ai lu sur le net par rapport à
la fonction search, mais ca ne veut pas fontionner, je suis sur que
j'ai des faute, mais puisque je ne suis pas encore développeur dans
l'ame; je passe à travers.
dans le header de ma page principe j'ai inséré ceci:
<?php
echo $form->create("Site",array('action' => 'search'));
echo $form->input("q", array('label' => 'Search for'));
echo $form->end("Search");
?>
puis dans le controlleur de sites j'ai mi ceci
<?php
function search() {
$this->set('results',$this->Site->search($this->data['Site']
['q']));
} ?>
dans le modèle de site j'ai ajouté ceci
class Site extends AppModel {
var $name = 'Site';
var $displayField = 'name';
var $actsAs = array ('Searchable');
var $validate = array(
'g2r' => array(
'rule' => array('minLength', 1)
)
);
?>
et j'ai créé search.ctp ou j'ai mis ceci:
<?php // app/views/sites/search.ctp ?>
<h1>recherche</h1>
<p><?php echo $html->link("View Site", "/sites/view"); ?>
<table>
<!-- Here's where we loop through our $results array, printing out
site info -->
<?php foreach ($results as $Site): ?>
<tr>
<td><?php echo $site['Site']['id']; ?></td>
<td><?php echo $html->link($site['Site']['g2r'],'/sites/view/'.
$site['Site']['id']);?></td>
<td><?php echo $html->link('Edit', '/sites/edit/'.$site['Site']
['id']);?></td>
<td><?php echo $site['Site']['created']; ?></td>
</tr>
<?php endforeach; ?>
</table>
-----------
Voila, en espérant que quelqu'un puisse me venir en aide, je vous en
serai très remerciant!
Je retourne cuisiner entretemps ;-)