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.

DataObjectManager Module /

Discuss the DataObjectManager module, and the related ImageGallery module.

Moderators: martimiz, UncleCheese, Sean, biapar, Willr, Ingo, swaiba, simon_w

HTML Field


Reply


5 Posts   2707 Views

Avatar
SheaDawson

Community Member, 46 Posts

14 March 2011 at 4:53pm

Hey all,

I need an HTML editor field for my DataObject's Content field, which is managed in a data object manager popup window.

Problem:

SimpleHTMLEditorField: does not appear

SimpleTinyMCEField: renders a plain textarea

SimpleWYSIWYGField: also renders a plain textarea

I'm using SS 2.4.5 and the latest DOM.

This is my code:

HTMLWidget.php

class HTMLWidget extends DataObject
{
   static $db = array(
      "Title" => "Varchar",
      "Content" => "HTMLText",
      "Color" => "Varchar"
   );   
   
   static $has_one = array(
      "Page" => "Page"
   );
   
   function getCMSFields()
   {   
      $fields = parent::getCMSFields();
      $fields->addFieldToTab("Root.Main", new TextField('Title', 'Widget Title'));
      $fields->addFieldToTab("Root.Main", new TextField('Color', 'Title Background Color'));
      $fields->addFieldToTab("Root.Main", new SimpleWYSIWYGField('Content', 'Content'));
      return $fields;
   }
}

Page.php

class Page extends SiteTree
{

   public static $db = array(
   );
   
   static $has_many = array(
   "HTMLWidget" => "HTMLWidget",
);

function getCMSFields()
{
      $fields = parent::getCMSFields();
      $widgets = new DataObjectManager(
         $this,
         'HTMLWidget',
         'HTMLWidget'
      );
       $fields->addFieldToTab("Root.Content.Widgets", $widgets);
   return $fields;
}

}

What do I gotta do!?

Thanks in advance :)

Avatar
UncleCheese

Forum Moderator, 4096 Posts

14 March 2011 at 5:52pm

I think if you're on the latest version from GitHub, that bug is fixed.

git://github.com/unclecheese/DataObjectManager.git

Avatar
SheaDawson

Community Member, 46 Posts

14 March 2011 at 6:44pm

Outstanding! Thank you :)

Avatar
spierala

Community Member, 80 Posts

27 October 2011 at 2:45am

Edited: 27/10/2011 2:46am

hello all,
I have exactly the same problem:

SimpleHTMLEditorField does not show up in cms popup.
Also with newest dataobject manager version...

That´s my code:

class StartPage extends Page {

   ....
   
   function getCMSFields() {
      $fields = parent::getCMSFields();
      
      $newsTablefield = new DataObjectManager(
         $this,
         'NewsItem',
         'NewsItem',
         array(
         'Date' => 'Datum',
         'Title' => 'Titel',
         'Text' => 'Text'
         ),
         'getCMSFields_forPopup'
      );
      
      $fields->addFieldToTab("Root.Content.Neuigkeiten", $newsTablefield);
      return $fields;
   }
}

class NewsItem extends DataObject {

   ....

   function getCMSFields_forPopup() {
      $fields = new FieldSet();
      
      $dateField = new DateField('Date','Datum');
      $dateField->setConfig('showcalendar', true);
    $dateField->setConfig('dateformat', 'dd.MM.YYYY');
      $fields->push( $dateField );
      $fields->push( new TextField('Title', 'Titel') );
      $fields->push( new SimpleHTMLEditorField('Text', 'Text') );
      
      return $fields;
   }
}

many thanks in advance,
Florian

Avatar
neilcreagh

Community Member, 98 Posts

12 November 2011 at 3:30am

Hi Florian,

I just had this same problem, then found that I should have been using 'SimpleTinyMCEField' instead of 'SimpleHTMLEditorField' and that worked for me.