symfonyによって生成された管理で、executeIndex()メソッドをオーバーライドするにはどうすればよいですか?
特定の状態のアイテムのみをリストしたいのですが、cache / backend / dev / modules / auto.../で見つけたのは次のとおりです。
$this->pager = $this->getPager();
ポケットベルが使用するクエリを変更するにはどうすればよいですか?
symfonyによって生成された管理で、executeIndex()メソッドをオーバーライドするにはどうすればよいですか?
特定の状態のアイテムのみをリストしたいのですが、cache / backend / dev / modules / auto.../で見つけたのは次のとおりです。
$this->pager = $this->getPager();
ポケットベルが使用するクエリを変更するにはどうすればよいですか?
フォームなど、既存のクラスの他のメソッドをオーバーライドするのと同じ方法ですconfigure()
。開いてapps/yourapp/yourmodule/actions/actions.class.php
追加します:
public function executeIndex(sfWebRequest $request)
{
// do whatever you want to here.
}
調整を開始する前に、キャッシュで自動生成されたバージョンを探し、そこから必要な部分をオーバーライドされたメソッドにコピーすることをお勧めします。これにより、開始するための作業ベースが得られます。
マヌーが言うことに似ています。ただし、executeIndexではなくgetPagerをオーバーライドすることをお勧めします。少しいいです...しかし、本質的にマヌーの答えと同じです。
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'));
}
There's no need to ovveride action or templates just to filter your results. It's better to use table_method option in generator.yml See http://www.symfony-project.org/jobeet/1_4/Doctrine/en/12#chapter_12_sub_table_method