Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Нужно сделать меню с сортировкой при клике на заголовки столбцов. Ну можно самому написать, благо, подбор контента с пагинацией с фильтрами и сортировкой я разобрал. Но может есть уже готовое решение?
Связь со мной:
Скайп(с аватаркой) - shyraks
Телеграм - @Mramoris или +7 999 260 13 20
Не в сети
Не в сети
Классная штука, но чёт не работает.
Route::get('bb', 'Controller@getBasic');
Route::post('bb6', 'Controller@getBasicData');
public function getBasic()
{
return view('www');
//return Datatables::eloquent(PageType::query())->make(true)->data;
}
public function getBasicData()
{
// return Datatables::eloquent(PageType::query())->make(true)->data;
return ' {
"draw": 1,
"recordsTotal": 2,
"recordsFiltered": 2,
"data": [
{
"id": "1",
"name": "Satou",
},
{
"id": "2",
"name": "Satou2",
},
}';
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Laravel DataTables Tutorial</title>
<!-- Bootstrap CSS -->
<link href="//netdna.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet" href="//cdn.datatables.net/1.10.7/css/jquery.dataTables.min.css">
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
<style>
body {
padding-top: 40px;
}
</style>
</head>
<body>
<div class="container">
@yield('content')
<table id="example" class="display" cellspacing="0" width="100%">
<thead>
<tr>
<th>id</th>
<th>name</th>
</tr>
</thead>
<tfoot>
<tr>
<th>id</th>
<th>name</th>
</tr>
</tfoot>
</table>
</div>
<!-- jQuery -->
<script src="//code.jquery.com/jquery.js"></script>
<!-- DataTables -->
<script src="//cdn.datatables.net/1.10.7/js/jquery.dataTables.min.js"></script>
<!-- Bootstrap JavaScript -->
<script src="//netdna.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
<script>
$(document).ready(function() {
$('#example').DataTable( {
"processing": true,
"serverSide": true,
"ajax": {
"url": "http://iis24/bb6",
"type": "POST"
},
"columns": [
{ "data": "id" },
{ "data": "name" },
]
} );
} );
</script>
<!-- App scripts -->
@stack('scripts')
</body>
</html>
Связь со мной:
Скайп(с аватаркой) - shyraks
Телеграм - @Mramoris или +7 999 260 13 20
Не в сети
Эт, конечно, малось парево, но вот готовое решение. Тут берёт все поля с модели и выводит аджакс табилцу с сортировкой.
Route::get('datatables',['uses'=>'Controller@getIndex', 'as' => 'datatables']);
Route::get('datatables/{data}',['uses'=>'Controller@anyData', 'as' => 'datatables.data']);
public function getIndex()
{
//закидиываем в представление имена полей
return view('www', array('arrFieldsNames'=>Schema::getColumnListing('pageType')));
}
/**
* Process datatables ajax request.
*
* @return \Illuminate\Http\JsonResponse
*/
public function anyData()
{
//конкретные поля
//$pgsT = PageType::select(['id', 'name', 'email', 'created_at', 'updated_at'])->get();
// return Datatables::of($pgsT)->make();
//все поля
return Datatables::of(PageType::query())->make();
}
<table class="table table-bordered" id="users-table">
<thead>
<tr>
<?php foreach ( $arrFieldsNames as $fName){ ?>
<th><?php print $fName; ?></th>
<?php } ?>
</tr>
</thead>
</table>
<script>
$(document).ready(function() {
$('#users-table').DataTable({
processing: true,
serverSide: true,
ajax: '{!! url('datatables/data') !!}'
});
} );
</script>
Связь со мной:
Скайп(с аватаркой) - shyraks
Телеграм - @Mramoris или +7 999 260 13 20
Не в сети
И если что, можно фигачить фильтры из массива
$arr = [
['id', '>', '170'],
['name', '=', '1']
];
print DB::table('pageType')->where($arr)->get();
У этого плагина тоже можно фитльтры юзануть, но они, к сожалению, только для статичного варианта https://datatables.net/examples/plug-in … ering.html
$('#example').DataTable(); который, а при аджакс уже не работает.
Связь со мной:
Скайп(с аватаркой) - shyraks
Телеграм - @Mramoris или +7 999 260 13 20
Не в сети
Страницы 1