Bonjour,
j'ai utilisé un tag de bootstrap dont le code est le suivant :
<?php echo $article['Post']['vendu']==0 ? $this->Form->postLink(
$this->Html->tag('i', '', array('class' => array('icon-pencil','boutil'),'title'=>'Modifier'
)),
array('action' => 'edit', $article['Post']['id']),
array('escape'=>false)
) : ''; ?>
j'ai l'ation edit au niveau de mon controller et la vue edit approprié, mais des que on clique sur le tag Modifier, on m'affiche la modification est terminée sans avoir ouvert la vue edit.ctp pour pouvoir editer les données.
avez vous une explication ?
et merci à l'avance.
Mais si! :-)
$this->Html->link(
$this->Html->tag('i', '', array('class' => array('icon-pencil', 'boutil'), 'title' => 'Modifier')),
array('action' => 'edit', $article['Post']['id']),
array('escape' => false)
)
Retourne:
<a href="/.../edit/1"><i class="icon-pencil boutil" title="Modifier"></i></a>
YO. As-tu lu ce que fait la méthode postLink
de l'helpeur Form
sur la doc de cakephp?
FormHelper::postLink(string $title, mixed $url = null, array $options =[])
Crée un lien HTML, mais accède à l’Url en utilisant la méthode POST
. Requiert que JavaScript soit autorisé dans votre navigateur.
Cette méthode crée un élément <form>
. Donc n’utilisez pas cette méthode dans un formulaire existant. En remplacement vous devriez ajouter un bouton submit en utilisant FormHelper::submit().
[http://book.cakephp.org/2.0/fr/core-libraries/helpers/form.html#FormHelper::postLink]()
C'est pratique pour modifier une donnée rapidement sans devoir à passer par une page d'édition/supression ou c'est aussi pratique pour qu'une personne ne puisse accéder à une page qu'en ayant une méthode (http) spécifique.
Par exemple:
$options
) ['data' => ['status' => !$status]]
)form:_method=delete:action=/auth/logout
=> La page /auth/logout
sera appelée avec la méthode http delete
. Mais toi, si tu ne veux qu'un simple lien, sans envoyer de données, il te faut alors utiliser l'helpeur HtmlHelper::link(string $title, mixed $url = null, array $options =[])
(aka $this->Html->link
)
J'espère avoir répondu à ta question.
Merci beaucoup pour votre rèponse
mais le p'helpeur HtmlHelper::link ne permet pas d'afficher le tag (l'icone de modification), comme son prototype indique.