我的导航位于默认布局的标题中。我正在尝试设置一个导航按钮以重定向到主页上的特定div()。 我有这个,这不起作用:
<li> <?php
echo $this->Html->link(
'ABOUT',
array('controller'=>'pages', 'action'=>'display','home'),
array('id' => 'about_page'),
array('escape' => FALSE)); ?> </li>
此页面控制器只接受参数并重定向到特定页面。它看起来像这样:
public function display() {
$path = func_get_args();
$page = $path[0];
$count = count($path);
if (!$count) {
return $this->redirect('/');
}
$page = $subpage = $title_for_layout = null;
if (!empty($path[0])) {
$page = $path[0];
}
if (!empty($path[1])) {
$subpage = $path[1];
}
if (!empty($path[$count - 1])) {
$title_for_layout = Inflector::humanize($path[$count - 1]);
}
$this->set(compact('page', 'subpage', 'title_for_layout'));
try {
$this->render(implode('/', $path));
} catch (MissingViewException $e) {
if (Configure::read('debug')) {
throw $e;
}
throw new NotFoundException();
}
}
有人可以帮帮我吗?可能有更容易重定向渲染或重定向方法?
答案 0 :(得分:1)
如果我理解正确,你唯一需要做的就是
<li> <?php
echo $this->Html->link(
'ABOUT',
array('controller'=>'pages', 'action'=>'display','home', '#' => 'about_page'),
array('escape' => FALSE)); ?> </li>
你只需要在数组中添加'#'而不是id。
修改强>
<li> <?php
echo $this->Html->link(
'ABOUT',
array('controller'=>'pages', 'action'=>'display','home', '#' => 'about_page', 'escape' => FALSE)); ?> </li>
第四个参数是confirmMessage,而不是我在上面写的转义选项。