我想知道这段代码是否......
echo $this->Html->link(
"<h3>test</h3>".$this->Html->image("image.jpg")."<p>Some text</p>",
"/link",
array('escape' => false)
);
...是在CakePHP中生成此HTML的最佳方式...
<a href="/path/to/link">
<h3>test</h3>
<img alt="" src="/path/to/image.jpg">
<p>Some text</p>
</a>
或者,是否有更“正确”的方法呢?我希望和
都在标签内,这样我就可以在CSS中设置为display: block;
并使整个区域可以悬停效果点击。
有些东西告诉我,像这样回应的HTML不是正确的方法,但如果我要使用HTML Helper,我就看不到替代方案。有吗?
答案 0 :(得分:1)
只需使用HTML帮助程序的URL方法而不是链接一,将其余部分用作静态HTML,也可以将PHP的数量保持在我看来的最小值。
<a href="<?php echo $this->Html->url($params); ?>">
<h3>test</h3>
<?php echo $this->Html->image($params); ?>
<p>Some text</p>
</a>
这将是执行此任务的最高效方式。但也许您应该考虑一下您的标记结构以及您想要实现的目标......
答案 1 :(得分:1)
我用
$this->Html->tag('li',
$this->Html->link(
'<i class="entypo-book"></i>'.
$this->Html->tag('span', $nom
.$this->Html->tag('span', '32', array('class' => 'badge'))
),
array('controller' => 'Pages', 'action' => 'index'),
array('class' => 'active', 'title' => 'Pages', 'escape' => false)
)
);