Серебряная полоса задает значение HTMLText по умолчанию - PullRequest
0 голосов
/ 28 сентября 2018

Мне нужно установить значение по умолчанию для HTMLEditorField, чтобы пользователь мог использовать его в качестве отправной точки при добавлении контента.

Я пытался установить значение по умолчанию в populateDefaults различными способами безлюбой успех.Разве невозможно установить значения по умолчанию для HTMLText?

Код ниже показывает, что я пытаюсь сделать.

  private static $db = [
      'MyHtmlField' => 'HTMLText'
   ];

   public function getCMSFields()
   {
      $fields = parent::getCMSFields();
      $fields->addFieldToTab('Root.Main', HTMLEditorField::create('MyHtmlField'), 'Content');
      return $fields;
   }

   public function populateDefaults()
   {
      $this->MyHtmlField =
         DBHTMLText::create('<p>Some content</p>'
   );

Ответы [ 2 ]

0 голосов
/ 08 октября 2018

Функция для populateDefaults не нуждается в DBHTMLText::create и после этого позвоните в суперкласс. См. документы :

public function populateDefaults() {

      $this->MyHtmlField = '<p>Some content</p>';

      parent::populateDefaults();
}
0 голосов
/ 28 сентября 2018

Как насчет записи значения по умолчанию при первом создании страницы?

# File: Page.php
public function onBeforeWrite()
{
    parent::onBeforeWrite();

    if (!$this->isInDB()) {
        // Set some default content
        $this->MyHtmlField = '<p>Some content</p>';
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...