可能通過table_method和generator.yml功能添加和刪除操作按鈕,您已經負責自定義索引(即列表)操作。
對於其他操作,您可能希望在這些自定義查詢的模型中創建其他方法。但是覆蓋默認行爲的地方在模塊的actions.class.php文件中。
所以在你的例子中,你需要編輯apps/backend/modules/job/actionscript/action.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;
}
}
}