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.

Archive /

Our old forums are still available as a read-only archive.

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

Text field bug

Go to End

2 Posts   1203 Views


Community Member, 1 Post

20 January 2008 at 11:28pm

Edited: 21/01/2008 2:59am

Hello, I have a problem adding a new

to a page. I have the following code:



class PortofoliuPage extends Page { 

   static $db = array( 


   static $has_one = array( 

    'Photo' => 'Image', 

    'Desc' => 'Text' 


   function getCMSFields() { 

      $fields = parent::getCMSFields(); 

$fields->addFieldToTab("Root.Content.Images", new ImageField('Photo'));
$fields->addFieldToTab("Root.Content.Images", new TextField('Desc'));

return $fields;

class PortofoliuPage_Controller extends Page_Controller {


I flush the database and the admin panel. In the admin panel I add a PortofoliuHolder page. In the PortofoliuHolder page I add a PortofoliuPage.

I add the details for PortofoiuPage, including an Photo and a Desc. I press the Save and Publish button. Now the problem:

When I refresh the page, the information I entered in the Desc field dissapears
(The photo don't)

I looked in the database in the PortofoliuPage table, and there are two columns there: an id for the photo and an id for the Desc (0 value).

Note that I tried to drop the entire database and create it again.

A bug in the CMS? Am I mistaking? Please help me!



Community Member, 501 Posts

20 January 2008 at 11:47pm

You're making a mistake.

if you use a $has_one relationship, you should make another object at the other side too.
If you want only one field, the 'desc', you have to add it to the $db array.


static $db = array("Desc" => "Text" );

The image is in a $has_one relationship because it resides in a different table, the file-table.

But I think it would be better to make a $has_many relationship and create a separate $Project DataObject.

I suggest you read through some more documentation:

Hope this helped.