/** * Generate the module */ protected function compile() { global $objPage; $this->Template->employee = ''; $this->Template->referer = 'javascript:history.go(-1)'; $this->Template->back = $GLOBALS['TL_LANG']['MSC']['goBack']; $objEmployee = \StaffEmployeeModel::findPublishedByParentAndIdOrAlias(\Input::get('items'), $this->staff_categories); // Overwrite the page title if ($objEmployee->title != '') { $objPage->pageTitle = strip_tags(strip_insert_tags($objEmployee->firstname . ' ' . $objEmployee->lastname)); } // Overwrite the page description if ($objEmployee->description != '') { $objPage->description = $this->prepareMetaDescription($objEmployee->description); } $arrEmployee = $this->parseEmployee($objEmployee); $this->Template->employee = $arrEmployee; }
/** * Generate the module */ protected function compile() { $offset = intval($this->skipFirst); $limit = null; // Maximum number of items if ($this->numberOfItems > 0) { $limit = $this->numberOfItems; } $this->Template->persons = array(); $this->Template->empty = $GLOBALS['TL_LANG']['MSC']['emptyStaff']; $intTotal = \StaffEmployeeModel::countPublishedByPids($this->staff_categories); if ($intTotal < 1) { return; } $total = $intTotal - $offset; // Split the results if ($this->perPage > 0 && (!isset($limit) || $this->numberOfItems > $this->perPage)) { // Adjust the overall limit if (isset($limit)) { $total = min($limit, $total); } // Get the current page $id = 'page_n' . $this->id; $page = \Input::get($id) ?: 1; // Do not index or cache the page if the page number is outside the range if ($page < 1 || $page > max(ceil($total / $this->perPage), 1)) { global $objPage; $objPage->noSearch = 1; $objPage->cache = 0; // Send a 404 header header('HTTP/1.1 404 Not Found'); return; } // Set limit and offset $limit = $this->perPage; $offset += (max($page, 1) - 1) * $this->perPage; $skip = intval($this->skipFirst); // Overall limit if ($offset + $limit > $total + $skip) { $limit = $total + $skip - $offset; } // Add the pagination menu $objPagination = new \Pagination($total, $this->perPage, \Config::get('maxPaginationLinks'), $id); $this->Template->pagination = $objPagination->generate("\n "); } // Get the items if (isset($limit)) { $objEmployees = \StaffEmployeeModel::findPublishedByPids($this->staff_categories, null, $limit, $offset); } else { $objEmployees = \StaffEmployeeModel::findPublishedByPids($this->staff_categories, null, 0, $offset); } // Add the Employees if ($objEmployees !== null) { $this->Template->employees = $this->parseEmployees($objEmployees); } }