感谢您对此的任何帮助,对于Symfony框架我还是很陌生,因此请尝试着解决这个问题。
我希望能够从管理区域拦截提交的表单并修改数据。
这是我到目前为止(基本形式)的内容。
/apps/backend/modules/proposition/actions/action.class.php
class propositionActions extends autoPropositionActions {
public function executeCreate(sfWebRequest $request) {
// modify the name
$name = $request->getParameter('name');
$name = $name . ' is an idiot';
$request->setParameter('name', $name);
return parent::executeCreate($request);
}
}
我的表单确实包含一个名称字段:
/apps/backend/modules/proposition/config/generator.yml
generator:
class: sfDoctrineGenerator
param:
model_class: Proposition
theme: admin
non_verbose_templates: true
with_show: false
singular: ~
plural: ~
route_prefix: proposition
with_doctrine_route: true
actions_base_class: sfActions
config:
actions: ~
form:
display: [name, icon, overview, published]
我不确定这是否是您需要查看的文件,但肯定是在HTML中:
<input type="text" id="proposition_name" name="proposition[name]">
当我提交表格时,它只是保存我的名字。我希望它保存我的名字并在后面加上“是个白痴”。
非常感谢
最佳答案
我认为您在正确的位置上Peter,但是修改$request
为时已晚,以至于没有效果。
您可以在the "doClean" part of the Form's validator中对入站数据进行这种修改。
或者,如果您需要进行特殊处理,则覆盖生成的processForm()
函数可能更有意义。只需将其从cache/frontend/dev/modules/autoProposition/actions/actions.class.php
复制到您的apps/backend/modules/proposition/actions/action.class.php
中,然后开始黑客入侵。