예제 #1
0
 /**
  * Create service
  *
  * @param ServiceLocatorInterface $sm
  * @return mixed
  */
 public function createService(ServiceLocatorInterface $sm)
 {
     $dataGrid = new \ZfcDatagrid\Service\DatagridFactory();
     $dataGrid = $dataGrid->createService($sm);
     $dataGrid->setTitle('Seo');
     $dataGrid->setDefaultItemsPerPage(20);
     $em = $sm->get('doctrine.entitymanager.orm_default');
     $qb = $em->createQueryBuilder();
     $qb->select('s');
     $qb->from('Seo\\Entity\\Seo', 's');
     $dataGrid->setDataSource($qb);
     $col = new Column\Select('id', 's');
     $col->setWidth(1);
     $col->setSortDefault(1, 'DESC');
     $col->setIdentity();
     $col->setHidden(false);
     $col->setLabel('Id');
     $dataGrid->addColumn($col);
     $col = new Column\Select('pageId', 's');
     $col->setLabel('PageId');
     $dataGrid->addColumn($col);
     $col = new Column\Select('type', 's');
     $col->setLabel('Type');
     //    $col->setReplaceValues(array(
     //        'BUILDER' => 'Builder',
     //        'JOB' => 'Job',
     //        'HOMEOWNER' => 'Homeowner'
     //    ));
     $dataGrid->addColumn($col);
     $col = new Column\Select('title', 's');
     $col->setLabel('Title');
     $dataGrid->addColumn($col);
     $col = new Column\Select('description', 's');
     $col->setLabel('Description');
     $dataGrid->addColumn($col);
     $col = new Column\Select('keywords', 's');
     $col->setLabel('Keywords');
     $dataGrid->addColumn($col);
     $action2 = new Column\Action\Icon();
     $action2->setIconClass('icon-edit');
     $action2->setAttribute('href', "/seo/update/" . $action2->getRowIdPlaceholder());
     $action2->setAttribute('data-toggle', 'modal');
     $action2->setAttribute('data-target', '#updateModal');
     $action3 = new Column\Action\Icon();
     $action3->setIconClass('icon-remove');
     $action3->setAttribute('href', '/seo/remove/' . $action3->getRowIdPlaceholder());
     $action3->setAttribute('data-toggle', 'modal');
     $action3->setAttribute('data-target', '#removeModal');
     $col = new Column\Action();
     $col->setLabel('Actions');
     $col->setWidth(1);
     $col->addAction($action2);
     $col->addAction($action3);
     $dataGrid->addColumn($col);
     return $dataGrid;
 }
예제 #2
0
 public function listAction()
 {
     $request = $this->getRequest();
     if ($request->isPost()) {
         $postData = $request->getPost();
         if ($postData->btnAdd === 'add') {
             $this->redirect()->toRoute('backend_user');
         }
     }
     $sl = $this->getServiceLocator();
     $dbAdapter = $sl->get('Zend\\Db\\Adapter\\Adapter');
     $grid = $sl->get('ZfcDatagrid\\Datagrid');
     $grid->setDefaultItemsPerPage(5);
     $grid->setToolbarTemplate('layout/list-toolbar');
     $grid->setDataSource($sl->get('Backend\\Model\\UserTable')->getUsersList(), $dbAdapter);
     $col = new Column\Select('id', 'u');
     $col->setLabel('id');
     $col->setWidth(25);
     $col->setIdentity(true);
     $col->setSortDefault(1, 'ASC');
     $grid->addColumn($col);
     $col = new Column\Select('username', 'u');
     $col->setLabel('Username');
     $col->setWidth(25);
     $grid->addColumn($col);
     $col = new Column\Select('full_name', 'u');
     $col->setLabel('Name');
     $col->setWidth(25);
     $grid->addColumn($col);
     $col = new Column\Select('email', 'u');
     $col->setLabel('Email');
     $col->setWidth(25);
     $grid->addColumn($col);
     $col = new Column\Select('name', 'r');
     $col->setLabel('Rol');
     $col->setWidth(25);
     $grid->addColumn($col);
     $editBtn = new Column\Action\Button();
     $editBtn->setLabel('Edit');
     $editBtn->setAttribute('class', 'btn btn-primary');
     $editBtn->setAttribute('href', '/backend/user/edit/id/' . $editBtn->getRowIdPlaceholder());
     $delBtn = new Column\Action\Button();
     $delBtn->setLabel('Delete');
     $delBtn->setAttribute('class', 'btn btn-danger');
     $delBtn->setAttribute('href', '/backend/user/delete/id/' . $delBtn->getRowIdPlaceholder());
     $col = new Column\Action();
     $col->addAction($editBtn);
     $col->addAction($delBtn);
     $grid->addColumn($col);
     return $grid->getResponse();
 }