おそらく table_method と generator.yml 機能を使用してアクション ボタンを追加および削除することで、既にインデックス (つまりリスト) アクションのカスタマイズを行っているはずです。
他のアクションについては、これらのカスタム クエリのモデルに追加のメソッドを作成することをお勧めします。ただし、デフォルトの動作をオーバーライドする場所は、モジュールの actions.class.php ファイルにあります。
したがって、あなたの例では、apps/backend/modules/job/actions/actions.class.php ファイルを編集し、変更する必要がある各アクションのカスタム コードを記述します。
たとえば、次のように削除動作を変更できます。
# apps/backend/modules/job/actions/actions.class.php
require_once dirname(__FILE__).'/../lib/jobGeneratorConfiguration.class.php';
require_once dirname(__FILE__).'/../lib/jobGeneratorHelper.class.php';
class jobActions extends autoJobActions
{
/**
* Override standard delete action.
* @param sfWebRequest $request A request object
*/
public function executeDelete(sfWebRequest $request) {
if ($some_custom_condition) {
$job = Doctrine_Core::getTable('job')->find($request->getParameter('id'));
$job->delete();
$this->getUser()->setFlash('notice', 'Record deleted.');
return sfView::SUCCESS;
} else {
$this->getUser()->setFlash('error', 'You do not have permission to do that.');
return sfView::ERROR;
}
}
}