我正在使用刀片模板,我想让用户在点击链接时导航到页面上的某个点。这是我的看法: -
View::make($data->path)->with('data', $data)->with('title', $title);
我的路径是从数据库中提取的。
有一个链接: -
<a id="middle">Welcome to the user section</a>
现在我不认为将#middle放在make()中会有所帮助: -
我试过了: -
View::make($data->path."php#middle")->with('data', $data)->with('title', $title);
和
View::make($data->path.".blade.php#middle")->with('data', $data)->with('title', $title);
但似乎都不起作用。
我怎样才能做到这一点?
答案 0 :(得分:4)
您的视图只是要呈现的文件 - 您不应将其与请求URL混淆,后者由路由确定。
您需要做的就是将锚点添加到用户点击的URL,以便在路径末尾到达此位置。如果您不能在生成链接时确定,则应使用逻辑中的重定向到您希望包含的URL。
也就是说,您也可以将一个变量传递给您的页面,javascript用它来将页面滚动到适当的位置:
View::make($data->path)->with('data', $data)->with('title', $title)->with('scroll', 'middle');
然后,在您的页面上,在javascript:
document.getElementById('{{ $middle }}').scrollIntoView();
答案 1 :(得分:0)
覆盖getRedirectUrl:
protected function getRedirectUrl()
{
$url = $this->redirector->getUrlGenerator();
return $url->previous() . '#hashid';
}