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.

General Questions /

General questions about getting started with SilverStripe that don't fit in any of the categories above.

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

SS3: upload image to Widget

Go to End

2 Posts   1397 Views


Community Member, 48 Posts

17 September 2012 at 3:38pm

I'm creating a few widgets for a project I'm working on and it seems widgets do not have access to any of the other classes from outside the widget. I've tried adding a has_one static for both image and SiteTree classes (see example below for image example) and I am getting the same error when I try and add the cms field: Fatal error: Call to a member function FormAction() on a non-object in /..../sapphire/forms/FormField.php on line 139

class AdBoxWidget extends Widget{
	static $title = "";
	static $cmsTitle = "Ad Box Widget";
	static $description = "Ad Box widget. To add an image, Title and Link";

	static $db = array(
		"Title" => "Text",
		"Link" => "Text",
		"AdLinkText" => "Text"
	static $defaults = array(
		"Title" => 'Ad Title',
		"Link" => 'http://',		
		"AdLinkText" => 'Click here for more info',
	static $has_one = array(
		'AdImage' => 'Image'

	function getCMSFields(){
		return new FieldList(
			new TextField("Title", "Ad Title"),
			new TextField("Link", "Ad Link"),
			new TextField("AdLinkText", "Text for Link"),
			new UploadField("AdImage", "Ad image")
	function getAd(){
		$output = new ArrayList();
			new ArrayData(
					"Title" => $this->Title,
					"Link" => $this->Link,
					"AdLinkText" => $this->AdLinkText
		return $output;


Forum Moderator, 1899 Posts

18 September 2012 at 11:46pm

I've no idea (helpful eh?) about SS3, but since widgets barely have made it as working and seem to be in teh same structure I can image it isn't better than the situation 2 years ago when I made this to work arroun the issue...

The other solution is to use BBcode parser on the widget.

However both workaround that require uploading the image first in file & images... would be very intrested to here these workarounds are not required in SS3 widgets...