我试图用Laravel实现一个非常简单的页面跟踪系统,只是为了知道哪些页面访问最多。Laravel:跟踪页面浏览量
起初我想创建一个表,其中包含访问日期,请求URL(来自Request::path()
)和用户标识,就这么简单。
但我不得不在报告上显示页面标题,为此我需要一些方法将请求URI转换为其页面标题。任何想法?有没有更好的方法来完成这一点?
目前我通过@section('title', ...)
从刀片视图文件中设置页面标题。
预先感谢您!
我试图用Laravel实现一个非常简单的页面跟踪系统,只是为了知道哪些页面访问最多。Laravel:跟踪页面浏览量
起初我想创建一个表,其中包含访问日期,请求URL(来自Request::path()
)和用户标识,就这么简单。
但我不得不在报告上显示页面标题,为此我需要一些方法将请求URI转换为其页面标题。任何想法?有没有更好的方法来完成这一点?
目前我通过@section('title', ...)
从刀片视图文件中设置页面标题。
预先感谢您!
您可以使用Google Analytics展示漂亮且非常高效的报告。通过API,您还可以自定义报告并(例如)显示页面标题。
如果你想自己开发它,我认为最好的解决方案是编写一个可以在每次页面加载后调用的after过滤器。设置标题,在这种情况下的一种方法,是使用闪存会话变量(http://laravel.com/docs/session#flash-data):
// routes.php
Route::group(array('after' => 'log'), function()
{
Route::get('users', '[email protected]');
}
// filters.php
Route::filter('log', function() {
Log::create(array('title' => Session::get('title'), '...' => '...'));
}
// UserController.php
public function index()
{
Session::flash('title', 'Users Page');
// ...
}
// layout.blade.php
<head>
<title>{{ Session::get('title') }}</title>
...
我知道这已经回答了,但我想补充一点,我已经出版了一包,可以可以轻松实现,以便在特定日期范围内跟踪Laravel的页面浏览量(如果它们是雄辩的ORM实例):最后一天,一周,一个月或所有时间。
我试过你的软件包,但我得到了laravel 4.2的错误:marcanuy/popular〜1.0的安装请求 - > marcanuy/Popularity [1.0.0]可以满足。 - 结论:删除laravel/framework v4.2.11 - marcanuy /知名度1.0.0需要照明/支持4.1。* - >通过illuminate/support可以满足[v4.1.0,v4.1.1,v4.1.10,v4.1.11, v4.1.12,v4.1.13,v4.1.14,v4.1.15,v4.1.16,v4.1.17,v4.1.18,v4.1.19,v4.1.2,v4.1.20,v4.1.21,v4.1.22,v4。 1.23,v4.1.24,v4.1.25,v4.1.26,v4.1.27,v4.1.28,v4.1.29,v4.1.3,v4.1.30,v4.1.4,v4.1.5,v4.1.6,v4.1.7, v4.1.8,v4.1.9]。 – rohitnaidu19
是,使用这个 “后” 过滤器。别想别的! :) – Andreyco
同意,去谷歌分析,你不会失望。它可以完成所有工作,并且可以使用添加到模板中的一行代码进行跟踪。 –
是的,我知道我可以使用Google Analytics,但是客户要求在项目中使用一个非常简单的(内置的)页面跟踪系统,并且过滤器和会话技巧很好地实现了它!再次感谢你! :) –