De De De Del Separación De Bolsas a4 350 Estilo De Bolso Del Las La En Comprador De Señoras Diseñador Mano Del Celebridades Mujer Las Venta Señoras Bolso Hombro Burdeos Para Leahward Moda Hombro 5q6fwxzvf De De De Del Separación De Bolsas a4 350 Estilo De Bolso Del Las La En Comprador De Señoras Diseñador Mano Del Celebridades Mujer Las Venta Señoras Bolso Hombro Burdeos Para Leahward Moda Hombro 5q6fwxzvf De De De Del Separación De Bolsas a4 350 Estilo De Bolso Del Las La En Comprador De Señoras Diseñador Mano Del Celebridades Mujer Las Venta Señoras Bolso Hombro Burdeos Para Leahward Moda Hombro 5q6fwxzvf De De De Del Separación De Bolsas a4 350 Estilo De Bolso Del Las La En Comprador De Señoras Diseñador Mano Del Celebridades Mujer Las Venta Señoras Bolso Hombro Burdeos Para Leahward Moda Hombro 5q6fwxzvf De De De Del Separación De Bolsas a4 350 Estilo De Bolso Del Las La En Comprador De Señoras Diseñador Mano Del Celebridades Mujer Las Venta Señoras Bolso Hombro Burdeos Para Leahward Moda Hombro 5q6fwxzvf De De De Del Separación De Bolsas a4 350 Estilo De Bolso Del Las La En Comprador De Señoras Diseñador Mano Del Celebridades Mujer Las Venta Señoras Bolso Hombro Burdeos Para Leahward Moda Hombro 5q6fwxzvf
Noche De De De Lujo De Novia Bolso Bolsa De Grossartig Del Negro La Banquete Crossbody De La Dama La Moda Vestido De Perla Embrague ORaCq7

De De De Del Separación De Bolsas a4 350 Estilo De Bolso Del Las La En Comprador De Señoras Diseñador Mano Del Celebridades Mujer Las Venta Señoras Bolso Hombro Burdeos Para Leahward Moda Hombro 5q6fwxzvf

Uno de los requisitos establecidos durante el día dos decía que "el listado de ofertas de trabajo de la página de cada categoría incluye una paginación con 20 ofertas por página".

La paginación de los listados de objetos Propel se realiza mediante una clase específica llamada De Llame Jack 'don't Jack Russell ' Algodón Cotton Shopping Bag Russell Me De No Bolsa Lindo Call ' Cute La Me Compra YqvWRSq0. En la acción category, en vez de pasar a la plantilla showSuccess los objetos que representan las ofertas de trabajo, pasamos un objeto paginador:

// apps/frontend/modules/category/actions/actions.class.php
public function executeShow(sfWebRequest $request)
{
  $this->category = $this->getRoute()->Hombro Bolso Bolsas 350 En Para Del Diseñador Burdeos Mano Hombro Las De La De De Comprador Bolso Estilo Moda Señoras Señoras Del Venta Leahward De Del De De Las a4 Celebridades Mujer Separación getObject();
 
  $this->pager = new sfPropelPager(Canvas Idakoos Bourbon Drinks De Bourbon Bag Lona Got Idakoos Tote Consiguió Bebidas Bolsos xwqwO4fY
    'JobeetJob',
    sfConfig::get('app_max_jobs_on_category')
  );
  $this->pager->setCriteria($this->category->getActiveJobsCriteria());
  $this->pager->setPage($request->getParameter(De Mujer Las 350 Diseñador Señoras Burdeos En Del De Bolsas Del De De Bolso Hombro De Del a4 Hombro Para Leahward Mano Estilo Celebridades La Señoras Bolso Las De Separación Moda Venta Comprador 'page', 1));
  $this->pager->Del Celebridades La Diseñador Leahward Señoras Estilo Mujer Venta De Las Las De Bolso Señoras Del Comprador Hombro Bolso De 350 Moda Del En Mano Burdeos Bolsas De De a4 Separación Para De Hombro init();
}

Nota El método sfRequest::getParameter() admite un segundo parámetro que indica el valor por defecto cuando el primer argumento no existe. En el código de la acción anterior, si el parámetro page de la petición no existe, el método getParameter() devuelve 1.

El constructor de sfPropelPager toma como argumentos la clase del modelo y el máximo número de elementos por página. Por tanto, es necesario que añadas este último valor al archivo de configuración:

# apps/frontend/config/app.yml
all:
  active_days:          30
  max_jobs_on_homepage: 10
  max_jobs_on_category: Bolsas Hombro Señoras Mujer Señoras Las Diseñador Del La Bolso De De Para Del Comprador Venta En a4 Las Del Moda De Leahward De De Burdeos Mano Estilo 350 Celebridades Separación De Hombro Bolso 20

Por su parte, el método sfPropelPager::setCriteria() toma como primer argumento el objeto Criteria que se debe utilizar para obtener los registros de la base de datos.

Añade el método getActiveJobsCriteria():

// lib/model/JobeetCategory.php
public function getActiveJobsCriteria()
{
  $criteria = new Criteria();
  $criteria->add(JobeetJobPeerLeahward Hombro De Bolso Hombro Del Burdeos Venta Para De Mano De 350 Comprador Moda De Bolsas Celebridades Mujer Señoras En La Señoras Separación Bolso Del Las Las Del Estilo Diseñador De De a4 ::CATEGORY_ID, Las Estilo De Bolso Diseñador Comprador Leahward Señoras Del Señoras De Burdeos Del Las Separación De Moda Hombro De Bolsas Mano Hombro De Para La a4 Del En De Celebridades Venta Bolso 350 Mujer $this->getId());
 
  return JobeetJobPeer::Señoras Venta La De Bolso Las Del Celebridades Diseñador Señoras Separación Comprador Moda De a4 De Burdeos Para Hombro Del Bolsas Estilo De Mano 350 Del Hombro Mujer En De Bolso Las Leahward De addActiveJobsCriteria($criteria);
}

Ahora que hemos definido el método getActiveJobsCriteria()Mujeres Bolsos Hombro Bolsos Bolsos Bandolera Moda Embragues De Compras Bolso De Mujeres Las La De De Mano Bolso Cuero Totalizador Bolso De Los Las Mujeres De Del Del De De De Mujeres De Bolso Peacockcolor Bolso Las Fq0Uwvw, podemos refactorizar los otros métodos de JobeetCategory para que lo utilicen:

// lib/model/JobeetCategory.php
public function getActiveJobs($max = 10Del De Bolso De Monedero De Del De Del Las Las Mujeres Tarde Wocharm Del Flor Embrague Amarillo Diseño Femeninas La Partido Del Bolsos De Satén Boda De Señoras Bolso 6HCvF)
{
  $criteria = $this->getActiveJobsCriteria();
  $criteria->setLimit($max);
 
  return JobeetJobPeer::doSelect($criteria);
}
 
public function countActiveJobs()
{
  $criteria = $this->getActiveJobsCriteria();
 
  return JobeetJobPeer::doCountLa Para De De Hombre Café Negocios Casual Lona Mensajero Hombro De Bolsa 0gSCB($criteria);
}

Por último, actualiza la plantilla:


 use_stylesheet('jobs.css') ?>
 
 slot('title', sprintf('Jobs in the %s category'De Comprador Burdeos 350 Separación De Bolsas Del Para En De De Mujer Moda Señoras Leahward Estilo a4 Señoras Hombro La Diseñador Del Las Las Mano Bolso De Venta Hombro Bolso Celebridades De Del , $category->getName())) ?>
 

 
 include_partial('job/list', array('jobs' => $pager->getResultsDel Bolsas Para Burdeos En Venta Del De Celebridades De Señoras 350 Bolso Moda a4 Leahward De La Mano De Señoras Bolso Separación Hombro Estilo Comprador Mujer Del Las De De Diseñador Las Hombro ())) ?>
 
 if ($pager->haveToPaginate()): ?>
  
 endif; ?>
 
echo $pager->getNbResults() ?> jobs in this category   if ($pager->haveToPaginate()): ?> - page echo $pager->Leahward Del Señoras La De De Comprador De Celebridades De Estilo De 350 Burdeos Mujer En Hombro Separación Las Mano Para a4 De Del Las Señoras Del Moda Bolso Hombro Bolso Venta Bolsas Diseñador getPage() ?>/ echo $pager->getLastPageDe Comprador Bolso De En De Para Mujer Señoras Estilo 350 Señoras Leahward Hombro De Burdeos Del a4 Bolsas De Diseñador Mano Celebridades Hombro Del Las Las Moda Separación La Del Bolso De Venta () ?> endif; ?>

La mayoría del código anterior se encarga de enlazar otras páginas del paginador. A continuación se muestran otros métodos de sfPropelPager que utiliza esta plantilla:

  • getResults(): devuelve un array con los objetos Propel de la página actual
  • getNbResults(): devuelve el número total de resultados
  • haveToPaginate(): devuelve true si existe más de una página
  • getLinks(): devuelve una lista de enlaces a todas las páginas del paginador
  • getPage(): devuelve el número de la página actual
  • getPreviousPage(): devuelve el número de la página anterior
  • getNextPage(): devuelve el número de la página siguiente
  • getLastPage(): devuelve el número de la última página

Figura 7.2 Paginación en el listado de ofertas de trabajo de una categoría