我試圖用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,但是客戶要求在項目中使用一個非常簡單的(內置的)頁面跟蹤系統,並且過濾器和會話技巧很好地實現了它!再次感謝你! :) –