Каков канонический способ создания вкладок в конфигураторе панели управления?
Сегодня для этого мы используем класс "Прокси-схема с несколькими схемами реестра", но мы считаем, что в Plone должен быть лучший способ работы с вкладками:
https://github.com/collective/collective.nitf/blob/1.x/src/collective/nitf/controlpanel.py
1 ответ
Решение
IMO самый простой способ создать конфигуратор с вкладками - использовать plone.supermodel:
from my.package import MessageFactory as _
from plone.supermodel import model
from zope import schema
class IMyConfigletSettings(model.Schema):
"""Schema for the control panel form."""
field_one = schema.Text(
title=_(u'Field One'),
default='',
)
model.fieldset('tab_a', label=_(u'Tab A'), fields=['field_a'])
field_a = schema.Text(
title=_(u'Field A'),
default='',
)
model.fieldset('tab_b', label=_(u'Tab B'), fields=['field_b'])
field_b = schema.Text(
title=_(u'Field B'),
default='',
)
Это создаст конфигуратор с 3 полями и 3 вкладками (одно поле на вкладку).
Взгляните на пакет sc.social.like для рабочего, реального примера.
Может быть, это можно считать каноническим путем отныне.