public function action_view() { $obj = ORM::factory('Shop_Customer', $this->request->param('id')); if (!$obj->loaded()) { throw new HTTP_Exception_404(); } $total_items = $obj->orders->reset(false)->count_all(); $orders = $obj->orders->order_by('created', 'DESC')->find_all(); $this->title = 'Клиент'; $this->content = View::factory('shop/backend/customers/v_view', ['obj' => $obj, 'orders' => $orders, 'total_items' => $total_items, 'total_sum' => Model_Shop_Customer::total($obj->id)]); }
<?php defined('SYSPATH') or die('No direct script access.'); if ($pg->total_items > 0) { // Create table body $table_body = []; foreach ($obj as $o) { $table_body[] = [HTML::anchor(Route::url('b_shop', ['controller' => 'customers', 'action' => 'view', 'id' => $o->id]), $o->fio, ['data-toggle' => 'tooltip', 'data-original-title' => 'Редактировать профиль']), Format::mobile($o->phone), $o->email, HTML::anchor(Route::url('b_shop', ['controller' => 'customers', 'action' => 'view', 'id' => $o->id]), '<span class="badge badge-info"> ' . $o->orders->count_all() . ' ' . '<i class="icon icon-eye-open"></i>' . '</span>', ['data-toggle' => 'tooltip', 'data-original-title' => 'Профиль и заказы клиента']), Format::price(Model_Shop_Customer::total($o->id)), TB::act($request->routename, ['controller' => $request->controller, 'action' => 'edit', 'id' => $o->id]) . TB::act($request->routename, ['controller' => $request->controller, 'action' => 'delete', 'id' => $o->id])]; } // Create table echo TB_Table::open(); echo TB_Table::colgroup([0, 0, 0, 0, 0, 0]); echo TB_Table::headers_sorter(['fio' => ['string', __('Клиент')], 'phone' => ['string', __('Телефон')], 'email' => ['string', __('Email')], '_orders' => ['none', __('Заказы')], '_total' => ['none', __('На сумму')], '_action' => ['none', __('settings.actions')]]); echo TB_Table::body($table_body); echo TB_Table::close(); echo '<span class="badge badge-info">Всего клиентов: ' . $pg->total_items . '</span>'; echo $pg; } else { ?> <div class="alert alert-block alert-info"> <button type="button" class="close" data-dismiss="alert">×</button> Клиентов нет. </div> <?php }