2011-10-13 76 views
0

我不想编辑由sfForkedDoctrineApplyPlugin创建的用户/设置页面。 我找不到任何有用的东西。或者是否有办法完全禁用用户/设置并使用这些方法来设置具有自定义配置文件页面的新mailaddress?编辑sfForkedDoctrineApplyPlugin用户/设置

编辑:目前sfForkedDoctrineApplyPlugin的用户/设置形式只允许我修改名字和姓氏。我不想编辑它,或者创建(我更喜欢)我自己的自定义用户设置页面,并使用更改电子邮件地址的方法,这些方法已经内置了sfForkedDoctrineApplyPlugin。

回答

0

检查文件:sfApplySettingsForm.class.php 有:

class sfApplySettingsForm extends sfGuardUserProfileForm 
{ 
    public function configure() 
    { 
    parent::configure(); 
    $this->removeFields(); 

    // We're editing the user who is logged in. It is not appropriate 
    // for the user to get to pick somebody else's userid, or change 
    // the validate field which is part of how their account is 
    // verified by email. Also, users cannot change their email 
    // addresses as they are our only verified connection to the user. 

    $this->widgetSchema->setLabels(
      array(
       'firstname' => 'First Name', 
       'lastname' => 'Last name')); 
    $this->widgetSchema->moveField('firstname', sfWidgetFormSchema::FIRST); 
    $this->widgetSchema->moveField('lastname', sfWidgetFormSchema::AFTER, 'firstname'); 

    $this->widgetSchema->setNameFormat('sfApplySettings[%s]'); 
    $this->widgetSchema->setFormFormatterName('list'); 

    $this->setValidator('firstname' , new sfValidatorApplyFirstname()); 
    $this->setValidator('lastname', new sfValidatorApplyLastname()); 



    } 

    protected function removeFields() 
    { 
    unset(
     $this['user_id'], 
     $this['validate'], 
     $this['email'], 
     $this['email_new'], 
     $this['validate_at'], 
     $this['id'], 
     $this['created_at'], 
     $this['updated_at'] 
    ); 
    } 
}