【问题标题】:Laravel: Tracking page viewsLaravel:跟踪页面浏览量
【发布时间】:2014-01-27 12:30:43
【问题描述】:

我正在尝试使用 Laravel 实现一个非常简单的页面跟踪系统,只是为了知道哪些页面访问量最大。

起初我想创建一个表,其中包含访问日期、请求 URL(来自Request::path())和用户 ID,就这么简单。

但我必须在报告中显示页面标题,为此我需要某种方法将请求 URI 转换为其页面标题。有什么想法吗?有没有更好的方法来实现这一点?

目前我通过 @section('title', ...) 从 Blade 视图文件中设置页面标题。

提前谢谢你!

【问题讨论】:

    标签: php laravel laravel-4


    【解决方案1】:

    您可以使用 Google Analytics(分析)显示漂亮且非常有效的报告。使用 API,您还可以自定义报告并(例如)显示页面标题。

    如果你想自己开发,我认为最好的解决方案是写一个可以在每次页面加载后调用的后过滤器。在这种情况下,设置标题的一种方法是使用 flash 会话变量 (http://laravel.com/docs/session#flash-data):

    // routes.php
    Route::group(array('after' => 'log'), function()
    {
        Route::get('users', 'UserController@index');
    }
    
    // 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>
        ...
    

    【讨论】:

    • 是的,为此使用“之后”过滤器。不要想别的! :)
    • 同意,去谷歌分析,你不会失望的。它通过添加到您的模板中的一行代码来完成所有事情以及更多的跟踪。
    • 是的,我知道我可以为此使用 Google Analytics,但客户要求在项目中使用一个非常简单(和内置)的页面跟踪系统,过滤器和会话技巧做得很好!再次感谢你! :)
    • 现在 laravel 5 出来了,过滤器已经被中间件取代了。为此,您可以使用中间件(如后过滤器)。
    【解决方案2】:

    我知道这已经得到解答,但我想补充一点,我已经发布了一个包,可以轻松实现跟踪 Laravel(如果它们是 Eloquent ORM 实例)在特定日期范围内的页面浏览量:最后一天,周、月或所有时间。

    https://github.com/marcanuy/popularity

    【讨论】:

    • 我试过你的包,但我在 laravel 4.2 中遇到错误:marcanuy/popularity ~1.0 的安装请求 -> marcanuy/popularity[1.0.0] 可以满足。 - 结论:删除 laravel/framework v4.2.11 - marcanuy/popularity 1.0.0 需要照明/支持 4.1.* -> 可满足照明/支持[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]。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-18
    • 2017-03-30
    相关资源
    最近更新 更多