2017-04-26 7 views
0

내 페이지 모델 중 일부에 대해 설명 된 wagtail 번역본을 here으로 사용하고 있습니다. 그들은 예상대로 일하고 있습니다. form builder을 통해 양식을 추가합니다. www.domain.com/slug URL을 통해 양식에 액세스 할 수 있지만 URL을 채울 때 없음 URL로 리디렉션됩니다. 또한 관리자의 경우 LIVE 버튼을 클릭하면 None url로 이동합니다.Wagtail Form Builder는 번역을 지원하지 않습니까?

기본적으로 페이지의 수준 올리기 패널에서 각 언어에 대한 URL 슬러그를 추가하기 때문에 번역에 연결하지 않아야한다고 가정했습니다. 그래서 번역에 양식 모델을 연결했는데 콘텐츠 패널은 올바른 번역을 얻었지만 홍보 패널은 여전히 ​​슬러그 필드 만받습니다. 다른 언어에 대한 다른 필드는 없습니다.

라이브 단추는 여전히 없음을 제공하고 페이지에서 양식을 제출하면 오류가있는 없음 페이지로 리디렉션됩니다. 다시 말하지만, 다른 모든 번역 페이지는 예상대로 작동합니다.

Wagtail 양식이 번역을 완벽하게 지원하지 않는다고 가정합니다. 이런 국제화로 모든 것이 든 그렇지 않든간에? 나는 번역 상황 이외의 양식을 떠날 수 없습니까?

답변

1

그래서 문제를 자세히 검토 한 후에는 Page를 AbstractEmailForm 클래스로 가져와야 작동하게되었습니다. 이것은 할미새의 문서에서 가져온에 페이지를 추가하는 것을 그대로입니다.

from modelcluster.fields import ParentalKey 
from wagtail.wagtailadmin.edit_handlers import (
    FieldPanel, FieldRowPanel, 
    InlinePanel, MultiFieldPanel 
) 
from wagtail.wagtailcore.models import Page 
from wagtail.wagtailcore.fields import RichTextField 
from wagtail.wagtailforms.models import AbstractEmailForm, AbstractFormField 


class FormField(AbstractFormField): 
    page = ParentalKey('FormPage', related_name='form_fields') 


class FormPage(AbstractEmailForm, Page): 
    intro = RichTextField(blank=True) 
    thank_you_text = RichTextField(blank=True) 

    content_panels = AbstractEmailForm.content_panels + [ 
     FieldPanel('intro', classname="full"), 
     InlinePanel('form_fields', label="Form fields"), 
     FieldPanel('thank_you_text', classname="full"), 
     MultiFieldPanel([ 
      FieldRowPanel([ 
       FieldPanel('from_address', classname="col6"), 
       FieldPanel('to_address', classname="col6"), 
      ]), 
      FieldPanel('subject'), 
     ], "Email"), 
    ] 

할미새로 번역 된 문서는 URL을 변경하는 페이지를 사용합니다. 이 문제는 없음을 해결합니다.