return function () {
    $data = json_decode(file_get_contents(__DIR__ . '/products.json'), true);
    return table($data, ['rotate_table' => 1])
        ->image('id', 'uploads/shop/products/{subdir2}/{subdir3}/product_%d_1_thumb.jpg', ['width' => '50px'])
        ->text('name')
        ->link('cat_id', url('/@object/@action/%d'), _class('cats')->_get_items_names('shop_cats'))
        ->text('price')
        ->text('quantity')
        ->date('add_date')
        ->date('add_date', ['format' => '%y-%m-%d %H:%M'])
        ->btn_edit(['icon' => 'icon-star'])
        ->btn_delete()
        ->btn_clone()
        ->btn_active()
        ->footer_add();
};
Футболка FOX Archives s/s Tee черная Футболка FOX Archives s/s Tee синяя Футболка FOX Archives s/s Tee сиреневая Футболка FOX Attacker s/s Tee белая Футболка FOX Blamo s/s Tee черная Футболка FOX Blamo s/s Tee белая Футболка FOX Blamo s/s Tee черно-зеленая Футболка FOX Paint Bucket s/s Tee зеленая Футболка FOX Paint Bucket s/s Tee белая Футболка FOX Paint Bucket s/s Tee сиреневая
10077 10077 10077 10077 10077 10077 10077 10077 10077 10077
37.00 37.00 37.00 37.00 37.00 37.00 37.00 37.00 37.00 37.00
0 0 0 0 0 0 0 0 0 0
09/27/13 09/30/13 10/02/13 09/29/13 10/01/13 10/03/13 09/27/13 09/28/13 09/30/13 09/28/13
13-09-27 12:26 13-09-30 17:08 13-10-02 10:57 13-09-29 15:34 13-10-01 11:01 13-10-03 01:38 13-09-27 04:52 13-09-28 16:35 13-09-30 23:18 13-09-28 22:52
Edit
Delete
Clone
Active
Edit
Delete
Clone
Active
Edit
Delete
Clone
Active
Edit
Delete
Clone
Active
Edit
Delete
Clone
Active
Edit
Delete
Clone
Active
Edit
Delete
Clone
Active
Edit
Delete
Clone
Active
Edit
Delete
Clone
Active
Edit
Delete
Clone
Active