如何获得MODx中最受欢迎的文章列表?

时间:2011-04-20 07:07:30

标签: modx modx-revolution

有没有办法在MODx中获取最受欢迎(浏览次数最多)的文章列表? getResources的文档在这种情况下没有说什么。

2 个答案:

答案 0 :(得分:0)

您可以使用摘要Page hit counterPage Hit Counter results来计算访问次数并在您的网站上显示。

答案 1 :(得分:0)

现在有一个专用的解决方案,使用称为“ MostPopular”的“其他”。 https://modx.com/extras/package/mostpopular

您将通过调用代码段@OnClick(R.id.btnCheckStockId) void callCheck() { MyDatabaseHelper dbHelper = new MyDatabaseHelper(ScanBarcodeActivity.this); final SQLiteDatabase sql = dbHelper.getWritableDatabase(); String query = "SELECT barcode FROM stockopname where lokasi_item = ?"; cursor = sql.rawQuery(query, new String[]{lokasiItem}); try { while (cursor.moveToNext()) { final String stockId = cursor.getString(cursor.getColumnIndex("barcode")); //API RETROFIT ApiService api_check = ApiClient.getClient().create(ApiService.class); Call<String> call = api_check.check_barcode(stockId); call.enqueue(new Callback<String>() { @Override public void onResponse(Call<String> call, Response<String> response) { //get result String sync_result = response.body(); String set_sync = ""; if (sync_result == "true") { set_sync = "true"; } else { set_sync = "false"; } //update data on sqlite ContentValues updatecolumn = new ContentValues(); updatecolumn.put("is_sync", set_sync); sql.update("stockopname", updatecolumn, "barcode = ?", new String[]{stockId}); } @Override public void onFailure(Call<String> call, Throwable t) { Toast.makeText(getApplicationContext(), t.getMessage(), Toast.LENGTH_LONG).show(); } }); } } catch (Exception ex) { ex.printStackTrace(); } } 来跟踪页面浏览量,然后在您要列出最受欢迎的资源时调用 @OnClick(R.id.btnCheckStockId) void callCheck() { MyDatabaseHelper dbHelper = new MyDatabaseHelper(ScanBarcodeActivity.this); SQLiteDatabase sql = dbHelper.getWritableDatabase(); String query = "SELECT barcode FROM stockopname where lokasi_item = ?"; cursor_checksync = sql.rawQuery(query, new String[]{lokasiItem}); if (cursor_checksync != null) { //more to the first row cursor_checksync.moveToFirst(); //iterate over rows for (int i = 0; i < cursor_checksync.getCount(); i++) { callCheckSync(cursor_checksync); cursor_checksync.moveToNext(); } //close the cursor cursor.close(); } } public void callCheckSync(Cursor csr_checksync) { final String stockId = csr_checksync.getString(csr_checksync.getColumnIndex("barcode")); //API RETROFIT ApiService api_check = ApiClient.getClient().create(ApiService.class); Call<String> call = api_check.check_barcode(stockId); call.enqueue(new Callback<String>() { @Override public void onResponse(Call<String> call, Response<String> response) { //get result if(response.isSuccessful()) { String sync_result = response.body(); String set_sync = ""; if (sync_result == "true") { set_sync = "true"; } else { set_sync = "false"; } //update data on sqlite update(stockId, set_sync); } } @Override public void onFailure(Call<String> call, Throwable t) { Toast.makeText(getApplicationContext(), t.getMessage(), Toast.LENGTH_LONG).show(); } }); } public void update(String Barcode, String value) { MyDatabaseHelper dbHelper = new MyDatabaseHelper(ScanBarcodeActivity.this); SQLiteDatabase sql = dbHelper.getWritableDatabase(); ContentValues updatecolumn = new ContentValues(); updatecolumn.put("is_sync", value); sql.update("stockopname", updatecolumn, "barcode = ?", new String[]{Barcode}); } 并将页面传递给getResources代码段进行模板化。