2011-11-12 96 views
4

我想輸出一個帶有超鏈接的圖像,而不是僅僅使用cakePHP的formHelper :: postLink函數的文本超鏈接。cakePHP formHelper postLink鏈接圖像

有誰知道如何做到這一點?我嘗試了很多東西,但無法正常工作。

<?php echo $this->Form->postLink(
    'Delete', 
    array('action' => 'delete', $country['Country']['id']), 
    array('confirm' => __('Are you sure you want to delete ').$country['Country']['name'].'?') 
)?> 

因此,而不是'刪除'我想顯示一個圖像。

回答

2

如果我正確理解你的問題,我不認爲你想使用$this->Form->postLink

我覺得這個頁面正是你追求的:http://book.cakephp.org/view/1441/image

這使用$this->Html->image創建圖像,然後你可以傳遞一個URL作爲參數之一來指定周圍的錨點鏈接。

+2

很好,我想他要的「後形式的」安全與圖片代替文字結合起來,刪除鏈接等:)這樣的圖片和鏈接本身woudn't足夠了。 – mark

-4

功能delete_image(){

if ($this->Session->read('Auth.User.id')) { 

     $this->User->id = $this->Session->read('Auth.User.id'); 
     $this->User->updateAll(
          array('User.image' => "''"), 
          array('User.id' => $this->User->id) 
          ); 

     $this->Session->setFlash('The image has been deleted.'); 
     $this->redirect(array('action' => 'profile'));  
     } 
} 
+2

這沒有任何意義,這與顯示圖像無關。 – Oldskool

1

可以在圖像包的鏈接元素中,但你需要逃生選項設置爲false,像這樣:

echo $this->Html->link(
    $this->Html->image('your_image_here.jpg', array(
     'alt' => 'Alternative Text for your image', 
     'title' => 'Optional tooltip text for your image' 
    ), 
    array(
     'controller' => 'YourController', 
     'action' => 'someAction' 
    ), 
    array(
     'escape' => false // Add this to avoid Cake from printing the img HTML code instead of the actual image 
    ) 
); 

這應該做訣竅。

4

試試這個:

echo $this->Form->postLink(
    $this->Html->image('delete.png', 
     array("alt" => __('Delete'), "title" => __('Delete'))), 
    array('action' => 'delete', $items['Item']['id']), 
    array('escape' => false, 'confirm' => __('Are you sure?')) 
); 
9

下面是我的作品。

echo $this->Form->postLink(
    $this->Html->image('icn_trash.png', array('alt' => __('Effacer'))), //le image 
    array('action' => 'delete', $artist['Artist']['id']), //le url 
    array('escape' => false), //le escape 
    __('Êtes-vous sûr de vouloir effacer artiste #%s?', $artist['Artist']['id']) //le confirm 
); //le voila 
0
echo $this->Html->link(
    $this->Html->image("recipes/6.jpg", array("alt" => "Brownies")), 
    array(
     'controller' => 'recipes', 
     'action' => 'view', 
     'id' => 6, 
     'comments' => false 
    ) 
) 
+0

在回答時,有助於添加一點解釋*爲什麼*您的答案解決了OP的問題。 – larsAnders