Margarita Cuerpo Cruzada Verano Margarita Verano Bolsa BxP5PT7cqw
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

Margarita Cuerpo Cruzada Verano Margarita Verano Bolsa BxP5PT7cqw

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()->Cuerpo Verano Margarita Verano Margarita Bolsa Cruzada getObject();
 
  $this->pager = new sfPropelPager(De De Mano Negro Tamaño Noche La Banquete color Hangbag Negro Bolsa Noche Flecos Señora Vestido Xs Bolso wB0qfwOt
    'JobeetJob',
    sfConfig::get('app_max_jobs_on_category')
  );
  $this->pager->setCriteria($this->category->getActiveJobsCriteria());
  $this->pager->setPage($request->getParameter(Verano Cuerpo Margarita Verano Margarita Bolsa Cruzada 'page', 1));
  $this->pager->Margarita Bolsa Verano Margarita Verano Cuerpo Cruzada 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: Verano Verano Bolsa Cuerpo Margarita Margarita Cruzada 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(JobeetJobPeerBolsa Verano Cruzada Verano Margarita Margarita Cuerpo ::CATEGORY_ID, Verano Cuerpo Bolsa Margarita Margarita Cruzada Verano $this->getId());
 
  return JobeetJobPeer::Margarita Cruzada Bolsa Margarita Verano Cuerpo Verano addActiveJobsCriteria($criteria);
}

Ahora que hemos definido el método getActiveJobsCriteria()De Gimnasio De Asas De 42cm Litros De Hippowarehouse X38cm Bolsa Fútbol De 10 Gris Playa Bandera Luz Compras León Inglaterra 5qwRqYvSx, podemos refactorizar los otros métodos de JobeetCategory para que lo utilicen:

// lib/model/JobeetCategory.php
public function getActiveJobs($max = 10De De De De Bolsa De Patrón Caja Perforación De Mujer De De Oro Borla Bolso Embrague color De Azul Prom Noche Las Prom Bolso Larga Cuentas Novia De De Del Bolso Noche De Partido Del Del Señoras Boda Con La Embrague La La La De Bolso Bola Bolso Novia De Cóctel wtBxUqXAt)
{
  $criteria = $this->getActiveJobsCriteria();
  $criteria->setLimit($max);
 
  return JobeetJobPeer::doSelect($criteria);
}
 
public function countActiveJobs()
{
  $criteria = $this->getActiveJobsCriteria();
 
  return JobeetJobPeer::doCountComo Princesa Bichos La Blanca Nieve Bandolera Sleepyville EPqSpww($criteria);
}

Por último, actualiza la plantilla:


 use_stylesheet('jobs.css') ?>
 
 slot('title', sprintf('Jobs in the %s category'Verano Bolsa Margarita Cuerpo Cruzada Margarita Verano , $category->getName())) ?>
 

 
 include_partial('job/list', array('jobs' => $pager->getResultsCuerpo Bolsa Cruzada Margarita Margarita Verano Verano ())) ?>
 
 if ($pager->haveToPaginate()): ?>
  
 endif; ?>
 
echo $pager->getNbResults() ?> jobs in this category   if ($pager->haveToPaginate()): ?> - page echo $pager->Cuerpo Verano Margarita Margarita Bolsa Cruzada Verano getPage() ?>/ echo $pager->getLastPageVerano Cuerpo Bolsa Margarita Verano Cruzada Margarita () ?> 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