Skip to content

fabiorizzo.com - PZP Rocks!!!

Sections
Personal tools
You are here: Home Cursos Online Tutorial - Criando um produto para Plone usando Archetypes O que é Archetypes?
Document Actions

Tutorial - Criando um produto para Plone usando Archetypes

Este tutorial irá lhe ensinar como criar novos tipos de conteúdo para o Plone seguindo o exemplo de uma locadora de veículos.

O que é Archetypes?

Definição de archetypes

Archetypes é um framework projetado para facilitar a construção de aplicações para o Plone. Seu principal propósito é prover um método comum para construção de tipos de conteúdo baseados em definições de schema. Campos podem ser agrupados para edição, tornando muito simples a criação de formulários wizard.

O que  Archetypes oferece?

Archetypes facilita nossa vida ao fazer o trabalho comum, massante e pesado, nos permitindo pensar em coisas mais importantes tais como regras de negócio e planejamento. Fornece as seguintes características:

  • Auto-geração de edição e apresentação
  • Registro de tipos de conteúdo com o CMF tools
  • Fácil instalação do tipos de objetos gerados
  • Configurabilidade de CMF actions
  • Unique IDs
  • References
  • entre outros...

Schema

O princípio do archetype está na definição de schemas. Schema é o conjunto de campos (atributos), é a definição de um tipo. Quando definimos um schema, estamos definindo os campos que um objeto vai ter, como se estivessemos criando uma tabela. Em cada campo podemos definir seu tipo, permissão de escrita/leitura, se é requerido, se deve ser indexado, validadores, etc. O mais interessante é que além disto tudo, podemos definir como cada campo será visualizado/editado. Cada campo possui um widget que é responsável por renderizar o campo na tela.

Exemplo:

schema = Schema((
    StringField(
        name='contato',
        widget=StringWidget(
            label='Contato',
            label_msgid='LocadoraVeiculos_label_contato',
            i18n_domain='LocadoraVeiculos',
        )
    ),
    StringField(
        name='CPF',
        widget=StringWidget(
            label='Cpf',
            label_msgid='LocadoraVeiculos_label_CPF',
            i18n_domain='LocadoraVeiculos',
        )
    ),
    TextField(
        name='endereco',
        widget=TextAreaWidget(
            cols="50",
            rows="4",
            label='Endereco',
            label_msgid='LocadoraVeiculos_label_endereco',
            i18n_domain='LocadoraVeiculos',
        )
    ),
),
)

Links
by Alessandro de Souza Mendes last modified 03/05/2006 14:47




 
 

Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: