Каков канонический способ создания вкладок в конфигураторе панели управления?

Сегодня для этого мы используем класс "Прокси-схема с несколькими схемами реестра", но мы считаем, что в 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 для рабочего, реального примера.

Может быть, это можно считать каноническим путем отныне.

Другие вопросы по тегам