silverstripe 4 - Визуализация UserDefinedForm на пользовательских шаблонах страниц - PullRequest
0 голосов
/ 03 декабря 2018

Мне нужна помощь с преобразованием SS3 в SS4.Я хотел бы разместить свою контактную форму на другой странице, а также на странице контактов по умолчанию.Мне удалось заставить его работать в SS3, но в SS4 все немного по-другому, и я не уверен, как написать функцию или куда ее поместить.Я перепробовал несколько комбинаций и местоположений, но мне нужна помощь.

В SS3 я создал свою страницу UserDefineForm с ее полями.Затем я добавил на пользовательскую страницу следующее, что я хотел, чтобы форма тоже отображала:

class IndexPage_Controller extends Page_Controller {

// Sign up form
public function SignupForm(){
    $get = DataObject::get_one('SiteTree', "URLSegment = 'contact-me'");
   return new UserDefinedForm_Controller($get);
}

}

Что / Где я могупоставить функцию в SS4, чтобы получить поля формы для отображения на шаблоне пользовательской страницы, как это делается на странице "Свяжитесь с нами"?

Заранее спасибо.

1 Ответ

0 голосов
/ 03 декабря 2018

Код ниже должен работать.

public function getSignupForm()
    {
        $page = \SilverStripe\UserForms\Model\UserDefinedForm::get()->filter('URLSegment', 'contact-me')->first();
        $controller = \SilverStripe\UserForms\Control\UserDefinedFormController::create($page);
        return $controller->Form();
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...