2012-04-07 12 views
2

私は、電子メールのレイアウトで、このコードスニペットを持っている:imgタグの画像へのフルリンクをHtmlヘルパー(画像方式)を介して取得するにはどうすればよいですか?

<div> 
    <?php echo $this->Html->image('Layouts/default/Logo.png', array(
     'alt' => 'Setin SRL', 
     'url' => $this->Html->url(array('action' => 'index'), true) 
    )); ?> 
    </div> 

は、しかし、これはOKではありません。 url(array('action' => 'index'), true)

私はイメージのためにtrueに設定することができるすべてのパラメータを見つけることができません。どのように私はこれを行うことができます上の任意の提案や回避策?

編集1: 基本的に、私はこのリンクを必要とする:のIMG SRCでhttp://www.something.com/Layouts/default/Logo.png

答えて

1

になるためにLayouts/default/Logo.pngを私はいつも

$this->Html->link($this->Html->image(...), $this->Html->url(array('action' => 'index'), true), array('escape'=>false)); 
+0

私の問題は画像への参照であり、リンクではありません!私の編集 –

+1

が私の意見です。あなたはちょうどこのように(私はあなたが最初の場所でこの方法でURLを追加することができなかったこと)を組み合わせたURLで画像を使用しないでください。 PS:image()タグ内で同じことをすることができます: '$ this-> Html-> image($ this-> Html-> url(...、true))' – mark

+0

しかし、私は* url *方法私はimgディレクトリ(http://mywebsite.something/img/Layouts/default/Logo.png)に自動的に「リンク」する可能性がないので、手動で追加する必要があります。私は愚かだと知っていますが、私はかなりURL機能(ホストの問題)を使用していないので、私はhttp://mywebsite.something/index.php/img/ ...を取得します。これは大丈夫ではありません –

1

を使用し、私は、これはあなたが探しているものだと思います。

​​
+0

あなたの答えは**論理的に正しいと思いますが、cakeはある種のバグを持っていると思います。実際には/app/webroot/index.php/Layouts/default/Logo.png 「インデックス」と出力されます。 php "は一般的に問題を作り出しています(問題をホストするために書き換えモードが無効になっていることを覚えておいてください) –

+0

ああ、おもしろいですね、Router :: url( '/'、true)を試してみませんか?それは動作しますか? – Suman

+0

"true"とは違う結果が得られますが、まだ良くありません:http://www.xxx.com.localhost:8080/index.php/Layouts/default/Logo.png " –

0
$img = '<img src="http://some-img-link" alt="some-img-alt"/>'; 

$src = preg_match('/<img src=\"(.*?)\">/', $img); 

echo $src; 

私はあなたが探しているものをimgタグと多分ALT値

1

からsrc値を取得したいが、おそらくimageメソッドの実装に使用されているHtmlHelper::assetUrl関数です。

public function image($path, $options = array()) { 
    $path = $this->assetUrl($path, $options + array('pathPrefix' => Configure::read('App.imageBaseUrl'))); 
    ... 
+0

私はこの問題に取り組んだときにこれが利用できなかったと思います –

関連する問題