Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

We've moved the forum!

Please use forum.silverstripe.org for any new questions (announcement).
The forum archive will stick around, but will be read only.

You can also use our Slack channel or StackOverflow to ask for help.
Check out our community overview for more options to contribute.

Customising the CMS /

Moderators: martimiz, Sean, Ed, biapar, Willr, Ingo, swaiba

My FormAction is not redirecting


Go to End


1510 Views

Avatar
otherjohn

Community Member, 125 Posts

8 October 2010 at 2:27am

Hi all,

I am setting up a background task (facebook related) in the CMS that requires an iFrame to perform.
The iFrame loads up the facebook signin/permissions. Once given that, the iframe reloads and shows some information in a dropdown button for the user to select. When they select and submit, the form is supposed to perform an action but its not redirecting properly. It is redirecting to "/FBController/iframe/SelectPageForm" and not firing anything.

Now I probably have this all flubbed up but maybe someone can help me here.
in one of my config pages in the CMS i have

$fields->addFieldToTab("Root.Social", new FBAuthField("SetFBPermissions","Authenticate"));

for my FBAuthField.php I have
class FBAuthField extends FormField {

   public function Field($id = null) { 
       
      $data = $this->form->getRecord(); 
       
      if($id && is_numeric($id)) { 
         $parentID = $id; 
      } elseif($data) { 
         $parentID = $data->ID; 
      } else { 
         $parentID = null; 
      }

         $iframe = "<iframe name=\"{$this->name}_iframe\" src=\"FBController/iframe/$parentID/\" style=\"height: 282px; width: 425px; border: none;\" frameborder=\"0\"></iframe>";

         return $iframe;

   }

}

Then for my FBController I have
class FBController extends Controller 
{ 
static $allowed_actions = array ('iframe'); 
public function  FBForm() 
	{ 
	
					
					$alist = DataObject::get('Accounts');
					if ($alist) {
						$alist = $alist->toDropdownMap('page_id', 'page_name');
					}
					$fields = new FieldSet(new DropdownField('accountID', 'Accounts', $alist));
					$actions = new FieldSet(new FormAction("selectPage", "Select Account"));
					return new Form($this, "SelectPageForm", $fields, $actions);
	
	} 

public function selectPage($data, $form) { 	
        Debug::show($data); 
}
}