J'utilise cakephp 2.3.0. J'ai cherché dans le manuel pendant un bon bout de temps, mais je n'ai pas trouvé de réponse. J'essaye d'utiliser $ this-> html-> link, avec $ this-> html-> image. J'essaie de créer la possibilité de cliquer sur une image. Des idées sur les raisons pour lesquelles le rendu ascii des citations est généré?
Voici mon code snippet à mon avis ctp:
echo $this->html->tableCells(
array(
array(
array (
$this->Html->link($myActivity['Activity']['name'], array('controller' => 'users', 'action' => 'edit'), array('title' => '')),
array('align' => 'left')),
array ($myActivity['Activity']['status'], array('align' => 'left')),
array ($myActivity['Activity']['any_messages'], array('align' => 'left')),
$date2,
array ($this->Html->link(
$this->Html->image('pencil.jpg', array('alt' => 'Edit', 'border' => '0', 'width' => '25')),
array('controller' => 'users', 'action' => 'add'), array('title' => ''))
),
$this->Html->image('trashcan.jpg', array('alt' => 'Delete', 'border' => '0', 'width' => '25')),
$this->Html->image('copy.png', array('alt' => 'Copy', 'border' => '0', 'width' => '25')),
)
)
);
Vous trouverez ci-dessous le résultat HTML réel du code ci-dessus. Comme vous pouvez le constater, le code HTML généré affiche la version ascii de guillemets (") et '<' et '>':
<tr>
<td align="left">
<a href="/activities/index.php/users/add" title="">Running</a>
</td>
<td align="left">Live</td>
<td align="left">no</td>
<td>02/18/13</td>
<td>
<a href="/activities/index.php/users/edit" title=""><img src="/activities/app/webroot/img/pencil.jpg" alt="Edit" border="0" width="25" /></a>
</td>
<td>
<img src="/activities/app/webroot/img/trashcan.jpg" alt="Delete" border="0" width="25">
</td>
</tr>
Voici ce à quoi le HTML devrait ressembler:
<tr>
<td align="left">
<a href="/activities/index.php/users/add" title="">Running</a>
</td>
<td align="left">Live</td>
<td align="left">no</td>
<td>02/18/13</td>
<td>
<a href="/activities/index.php/users/edit" title="">
<img src="/activities/app/webroot/img/pencil.jpg" alt="Edit" border="0" width="25"></a>
</td>
<td>
<img src="/activities/app/webroot/img/trashcan.jpg" alt="Delete" border="0" width="25">
</td>
</tr>
Vous devez ajouter l'option escape
au tableau d'options de vos appels link()
. Réglez-le sur false
, comme ceci:
echo $this->Html->link(
$this->Html->image('mydog.jpg'), '/lol.html', array('escape' => false)
);
Oui Il est possible de créer une image en tant que balise d'ancrage. Vous avez juste besoin de définir escape = false pour cela comme ci-dessous: -
<?php
$thumb_img = $this->Html->image('yourimage.png',array('alt'=>'yoursite.com','class'=>'yourclass'));
echo $this->Html->link( $thumb_img, array('controller'=>'yourcontroller','action'=>'youraction'), array('escape'=>false));
?>
echo $this->Html->image('imagename',array('alt'=>'myimage','class'=>'img-responsive'));
Ceci est normal image sans aucun lien, maintenant pour l'envelopper avec l'utilisation de balise link
echo $this->Html->link($this->Html->image('imagename',array('alt'=>'myimage', 'title'=>'myimage','class'=>'img-responsive')), [
'controller' => 'controllerName',
'action' => 'actionName',
'id' => $value['id'], //if any parameters are passed
],['escape' => false]);
De même, vous pouvez affecter le tag image à une variable et l'utiliser
$myImageVar = $this->Html->image('imagename',array('alt'=>'myimage','class'=>'img-responsive'));
echo $this->Html->link($myImageVar, [
'controller' => 'controllerName',
'action' => 'actionName',
'id' => $value['id'], //if any parameters are passed
],['escape' => false]);
Essaye ça :
echo $this->Html->link('', array(
'controller' => 'Mycont',
'action' => 'deletepic',
$id
), array(
'confirm' => 'Are you sure you want to delete the image?',
'class' => 'deleteImg'
));
J'ai lié l'image à la classe deleteImg.