使用 Zend Framework 中设置的标准 MVC,我希望能够显示始终具有锚点的页面。现在我只是在 .phtml 文件中添加一个带有“#anchor”的无意义参数。
<?= $this->url(array(
'controller'=>'my.controller',
'action'=>'my.action',
'anchor'=>'#myanchor'
));
这会将 URL 设置为 /my.controller/my.action/anchor/#myanchor
有更好的方法来实现这一点吗?导航到锚链接后,额外的项目参数会在用户的 URL 中设置,这是我不希望发生的事情。
一种可能性是覆盖 url 帮助程序,或创建一个新的。
class My_View_Helper_Url extends Zend_View_Helper_Url
{
public function url(array $urlOptions = array(), $name = null, $reset = false, $encode = true)
{
if (isset($urlOptions['anchor']) && !empty($urlOptions['anchor']))
{
$anchor = $urlOptions['anchor'];
unset($urlOptions['anchor']);
}
else
{
$anchor = '';
}
return parent::url($urlOptions, $name, $reset, $encode).$anchor;
}
}
这个帮助器覆盖了 url 帮助器,问题是,你不能使用名为“anchor”的参数,因为它将被更改为 url 中的锚点。
你会像你的例子中那样称呼它
<?= $this->url(array(
'controller'=>'my.controller',
'action'=>'my.action',
'anchor'=>'#myanchor'
));
我希望它有帮助
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)