3

CakePHP の HtmlHelper の image メソッドによって生成されたリンク URL に属性を設定する方法を見つけようとしています。CakePHP 2.2.1 を使用しています

たとえば、次のコード:

echo $this->Html->image("recipes/6.jpg", array(
    "alt" => "Brownies",
    'url' => array('controller' => 'recipes', 'action' => 'view', 6)
));

生成:

<a href="/recipes/view/6">
    <img src="/img/recipes/6.jpg" alt="Brownies" />
</a>

href タグに属性を追加するにはどうすればよいですか。たとえば、次のように class='picture' とします。

<a href="/recipes/view/6" class='picture'>
    <img src="/img/recipes/6.jpg" alt="Brownies" />
</a>
4

3 に答える 3

4

Html->imageメソッドを介して Anchor タグに HTML 属性を追加することはできません。その方法は、次のようにメソッドHtml->image内に配置することです。Html->link

echo $this->Html->link(
    $this->Html->image("recipes/6.jpg", array('alt' => 'Brownies')),
    array('controller' => 'recipes', 'action' => 'view', 6, array('escape'=>false', 'class'=>'picture')
);

'escpape'=>false-も含める必要があります。そうしない<img...>と、エスケープされ、次のように表示されます&lt;img ... &gt;

于 2012-09-05T13:27:08.907 に答える
-1

HTML anchor tagusingに属性を追加する場合はHtmlHelper、次の方法で使用できます。

<?php echo $this->Html->link(
$this->Html->image("loading.gif", array('alt' => 'Brownies', 'border' => '0')),
array('controller' => 'recipes', 'action' => 'view', 6),  array('class' => 'picture', 'escape' => false));
于 2012-09-05T06:17:09.567 に答える
-1

それでも答えを探している場合は$this->Html->image、オプションの URL 属性を使用する代わりに、リンクのタイトルが画像で$this->Html->linkあるオプションの属性を使用する必要があります。リンクのタイトルにある特殊文字をエスケープ解除して、画像やその他の html 要素を使用できるようにします。escape = false$this->Html->imageescape = false

ここに例があります

echo $this->Html->link(
    $this->Html->image($image['Image']['file'], 'class' => 'image', 'alt' => $image['Image']['title'])),
'path/to/image', // or an array('controller' => 'mycontroller', 'action' => 'myaction')
 array('escape' => false));

リストした class や alt などの画像属性や、リストしたエスケープなどのリンク属性をさらに追加できます。

于 2013-02-25T15:55:46.440 に答える