2013-02-21 14 views
8

cakephp 2.3.0 kullanıyorum. El kitabında epeyce aradım ama cevabı bulamadım. $ This-> Html-> image ile birlikte $ this-> Html-> bağlantısını kullanmaya çalışıyorum. Bir resmin üzerine tıklamak için yeteneği yaratmaya çalışıyorum. Tırnakların ascii oluşturulmasının neden oluşturulduğu hakkında herhangi bir fikir var mı? İşte

benim pasajı benim bakış CTP içinde codeset edilir:
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')), 
      ) 
     ) 
    ); 

Aşağıda yukarıdaki kodun asıl HTML sonucudur.

<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> 
:

Aşağıda
<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="">&lt;img src=&quot;/activities/app/webroot/img/pencil.jpg&quot; alt=&quot;Edit&quot; border=&quot;0&quot; width=&quot;25&quot; /&gt;</a> 
    </td> 
    <td> 
     <img src="/activities/app/webroot/img/trashcan.jpg" alt="Delete" border="0" width="25"> 
    </td> 
</tr> 

HTML gibi görünmek için ne beklenir edilir: Gördüğünüz gibi, oluşturulan HTML ASCII tırnak (") sürümünü ve '<' ve '>' gösteriyor

+0

tam d kullanabilirsiniz bin diğerlerinin rezervini (kenar çubuğuna bakın) – mark

cevap

21

Sen link() aramaların seçenekleri diziye escape seçeneği eklemek gerekir bu gibi false olarak ayarlayın.

echo $this->Html->link(
    $this->Html->image('mydog.jpg'), '/lol.html', array('escape' => false) 
); 
+0

Harika, bunun kolay bir düzeltme olacağını biliyordum. Zamanım olduğunda bugün daha sonra deneyeceğim. Sağol Matt. – Kevin

+0

Kaçış seçeneğini neden eklemek zorundasınız? – Jonathan

+0

@defaye Eğer 'false' olarak ayarlamazsanız, o zaman bağlantının içeriği, örn. '>' '>' vb. haline gelir, yani bağlantınızın içindeki HTML çalışmaz. –

0

bu deneyin:

echo $this->Html->link('', array(
    'controller' => 'Mycont', 
    'action'  => 'deletepic', 
    $id 
), array(
    'confirm' => 'Are you sure you want to delete the image?', 
    'class'  => 'deleteImg' 
)); 

Görsele, deleteImg sınıfına bağlandım.

1

Evet Bir görüntüyü bağlantı etiketi olarak yapmak mümkündür. Sadece aşağıda gibi bunun için = kaçış ayarlamak için yanlış gerekir: -

<?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)); 

?> 
+0

Cevap sürümü için teşekkürler Efendim :) –

1
echo $this->Html->image('imagename',array('alt'=>'myimage','class'=>'img-responsive')); 

Bu şimdi, herhangi bir bağlantı olmadan normale görüntü bağlantı etiketi kullanımı ile sarmak için

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]); 

Benzer şekilde, görüntü etiketini bir değişkene atayabilir ve

İlgili konular