使用HtmlHelper为html标签添加属性,CakePhp

时间:2016-09-30 20:09:47

标签: cakephp

我正在与cakephp合作开展一个项目。我想知道是否有办法为img标记添加属性,这在我看来:

这是我的代码:

echo '<img id="image">';
echo $this->Js->get('#image', 
                     array('htmlAttributes' => array('src' => 'somesourcehere')));

编辑:

我发现了另一种不使用JsHelper的方法,但是使用了HtmlHelper,

echo $this->Html->image('somesourcehere',array('alt' => 'CakePHP'));

但问题是src属性会url喜欢,而我正在尝试将src设置为base64数据,所以它会是这样的用HTML格式

<img src="data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==">

然而,我只能得到

<img src="/img/data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==">

有没有办法摆脱/img/中的src部分?所以我可以让图像显示出来

更新 我太笨了,只需要做

echo '<img src="data:image/png;base64,'.$source.'">';

1 个答案:

答案 0 :(得分:1)

CakePHP Html图像方法生成图像的相对或绝对src路径。

如果您需要使用Helper,请使用 HtmlHelper method called tag

<img src="data:image/png;base64, <?php echo $source; ?>">

或只是简单地结合html和php:

$fields = array_keys($this->Order->getColumnTypes());  /* Returns an associative array of field names and column types*/
$key = array_search('attribute', $fields);             /* Search the key having attribute field */
unset($fields[$key]);         /* Remove the key value pair corresponding to attribute */
$this->Order->find('all', array('fields' => $fields));  /* Apply search specifying the fields */