2016-07-16 2 views
1

Я создал простую форму контакта в контроллере страницы. Для внешнего вида этой формы контакта я хочу использовать настроенный FormField_Holder, а не по умолчанию.SilverStripe custom FormField_Holder

Я создал FormField_Holder.ss в темам/шаблоны/Включает. Как применить этот шаблон к моему $ContactForm?

Я попытался это уже:

public function ContactForm() { 

    $form = Form::create(
     ... 
    ); 

    foreach($form->Fields() as $field) { 
     $field->setFieldHolderTemplate('myHolder'); 
    } 

    return $form; 
} 

ответ

2

Я переместил пользовательский шаблон формы из
темы /MyTheme/шаблоны/Включает/
в
темы/MyTheme/шаблоны/бланки/
..и теперь он работает.

Редактировать: В официальной документации упоминается следующая папка для шаблонов форм: mysite/templates/Включает, но это странно не работает странно.
https://docs.silverstripe.org/en/3.4/developer_guides/forms/form_templates

+0

Включает в себя шаблоны, предназначенные для включения через '<% include TemplateName%>'. Вы можете поместить другие настраиваемые шаблоны в папку основного шаблона или в подпапку (например, формы), как и вы. – bummzack

+1

Я думал то же самое, но в официальной документации говорится, что папка include в ** mysite/includes ** - это место: https://docs.silverstripe.org/en/3.4/developer_guides/forms/form_templates/ – Faloude

Смежные вопросы