Category: Laravel

Pagination in php + magento 2

//pagination data
$data[‘pagination’] = array();
$limit = 4;
$curpage = 1;
if(isset($_POST[‘limit’]) && $_POST[‘limit’]!=”){
$limit = $_POST[‘limit’] ;
}
if(isset($_POST[‘page’]) && $_POST[‘page’]!=”){
$curpage = $_POST[‘page’];
}

$total_products = $categoryProducts->getSize();
$total_pages = ceil($total_products / $limit);
$products_Data = $categoryProducts->setPageSize($limit)->setCurPage($curpage);

$pagination_data = ”;
if($total_pages > 1 ){
if($curpage == 1){
$pagination_data .= ‘<a href=”javascript:;” class=”pagenumber_static pager” limit=”‘.$limit.'” data=”1″>Prev<a>’;
}else{
$prevpage = $curpage – 1;
$pagination_data .= ‘<a href=”javascript:;” class=”pagenumber pager” limit=”‘.$limit.'” data=”‘.$prevpage.'”>Prev<a>’;
}
}
for($pg=1;$pg<=$total_pages;$pg++){
if($pg == $curpage){
$pagination_data .= ‘<a href=”javascript:;” class=”pagenumber_static pager” limit=”‘.$limit.'” data=”‘.$pg.'”>’.$pg.'<a>’;
}else{
$pagination_data .= ‘<a href=”javascript:;” class=”pagenumber pager” limit=”‘.$limit.'” data=”‘.$pg.'”>’.$pg.'<a>’;
}
}
if($total_pages > 1 ){
if($curpage == $total_pages){
$pagination_data .= ‘<a href=”javascript:;” class=”pagenumber_static pager” limit=”‘.$limit.'” data=”‘.$total_pages.'”>Next<a>’;
}else{
$nextpage = $curpage + 1;
$pagination_data .= ‘<a href=”javascript:;” class=”pagenumber pager” limit=”‘.$limit.'” data=”‘.$nextpage.'”>Next<a>’;
}
}

$data[‘pagination’] = $pagination_data;

render and add column with link + datatable yajra table

<script>
$(document).ready( function () {
var imageUrl = “{{ env(‘APP_IMAGE_URL’) }}”;
var shopUrl = “{{ env(‘APP_STORE_GET_DESCRIPTION_URL’) }}”;
$(‘#laravel_datatable’).DataTable({
processing: true,
serverSide: true,
ajax: “{{ url(‘prescriptionDatatable’) }}”,
columns: [
{ data: ‘id’, name: ‘id’ ,”render”: function ( data, type, row, meta ) {
return id_column_index;

} },
{ data: ‘prescription_img’, name: ‘prescription_img’,”render”: function ( data, type, row, meta ) {
if(data!=”){
return ‘<a data-fancybox=”” href=”‘+imageUrl+data+'”><img width=”100″ src=”‘+imageUrl+data+'” /></a>’;
}else{
return ”;
}

} },
{ data: ‘line_item_name’, name: ‘line_item_name’ },
{ data: ‘order_id’, name: ‘order_id’ },
{ data: ‘order_number’, name: ‘order_number’ },
{ data: ‘customer_id’, name: ‘customer_id’ },
{ data: ’email’, name: ’email’ },
{ data: ‘line_item_id’, name: ‘line_item_id’ },
{“mRender”: function ( data, type, row ) {
var shopmainUrl = shopUrl+row.order_id +’&email=’+row.email;
return ‘<a class=”table-edit” target=”blank” href=”‘ +shopmainUrl+'”>Update</a>&nbsp;&nbsp;&nbsp;<a class=”various” data=”‘ + row.line_item_id + ‘” href=”javascript:;” >View</a>’;
}

}
]
});
});