Pregunta

En la administración generado por symfony, ¿cómo reemplazar el método executeIndex ()?

Quiero lista sólo los elementos que tienen un estado específico, y todo lo que he encontrado en cache / backend / dev / módulos / auto ... / era:

$this->pager = $this->getPager();

¿Cómo puedo cambiar la consulta utilizada por el localizador?

¿Fue útil?

Solución

No hay necesidad de acción ovveride o plantillas sólo para filtrar los resultados. Es mejor opción de uso table_method en generator.yml a Ver http://www.symfony-project.org/jobeet/ 1_4 / Doctrina / es / 12 # chapter_12_sub_table_method

Otros consejos

De la misma manera como lo haría prevalecer sobre cualquier otro métodos en las clases existentes por ejemplo en una forma configure(). Abre apps/yourapp/yourmodule/actions/actions.class.php y añadir:

public function executeIndex(sfWebRequest $request)
{
  // do whatever you want to here.
}

Puede que le resulte una buena idea para buscar en la memoria caché para la versión automática generada, y copiar las piezas necesarias de que en su método reemplazado, antes de empezar a ajustar - esto le da una base de trabajo para comenzar a partir de

Similar a lo que dice Manu. Pero sugeriría que monta sobre getPager en lugar de executeIndex. Poco más agradable ... pero lo hace esencialmente la misma que la respuesta de manu.

  public function getPager()
  {
     $pager = parent::getPager();
     $pager->setQuery(Doctrine_Core::getTable('Content')->getListeByState('Published'));
     return $pager;
  }
  public function executeIndex(sfWebRequest $request)
  {
     parent::executeIndex($request);

     $this->pager->setQuery(Doctrine_Core::getTable('Content')->getListeByState('Published'));

  }
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top