/**
  * Main processing logic for DataTable
  *
  * @param mixed $object
  * @param mixed $scope
  */
 public function process($object = null, $scope = array())
 {
     if (is_array($object)) {
         $scope = $object;
         $object = null;
     }
     $settings = $this->_parseSettings($object);
     if (isset($settings['scope'])) {
         $scope = array_merge($settings['scope'], $scope);
     }
     if (isset($settings['findType'])) {
         $settings['type'] = $settings['findType'];
     }
     $query = array_diff_key($settings, array('conditions', 'columns', 'trigger', 'triggerAction', 'viewVar', 'maxLimit'));
     $total = $this->_object->find('count', $query);
     $this->_sort($settings);
     $this->_search($settings);
     $this->_paginate($settings);
     $this->settings[$this->_object->alias] = $settings;
     $results = parent::paginate($this->_object, $scope);
     $totalDisplayed = $this->Controller->request->params['paging'][$this->_object->alias]['count'];
     $dataTableData = array('iTotalRecords' => $total, 'iTotalDisplayRecords' => $totalDisplayed, 'sEcho' => isset($this->_params['sEcho']) ? intval($this->_params['sEcho']) : 0, 'aaData' => array());
     $this->Controller->viewClass = 'DataTable.DataTableResponse';
     $this->Controller->set($settings['viewVar'], $results);
     $this->Controller->set(compact('dataTableData'));
     if (isset($settings['view'])) {
         $this->Controller->view = $settings['view'];
     }
 }
Beispiel #2
0
 /**
  * @param array $options
  * @param array $attributes
  * @param array $settings
  * @return string
  */
 public function postsPicker(array $option, array $attributes, array $settings)
 {
     // debug($option);
     App::import('Component', 'Paginator');
     $Paginator = new PaginatorComponent();
     $posts = $Paginator->paginate(array('limit' => 2));
     $outputHtml = '<div class="gumm-postpicker-input-wrapper">';
     if ($posts) {
         $outputHtml .= '<ul>';
         foreach ($posts as $post) {
             $outputHtml .= '<li>' . $post->post_title . '</li>';
         }
         $outputHtml .= '</ul>';
     }
     $outputHtml .= '</div>';
     return $outputHtml;
 }