Ciao,

On 01/31/2011 12:05 PM, Yuri wrote:
> Il 31/01/2011 11:54, Sandro Caneschi ha scritto:
>> Un saluto a tutti...
>> ho creato un mio archetype tramite i comandi paster e un po' di
>> programmazione manuale.
>>
>> Adesso avrei la necessità di creare altri tipi di oggetto simili o
>> addirittura uguali.
>> Vorrei non replicare il codice e penso che la cosa migliore sia quella
>> di creare archetypes che estendono quello da me creato.
>>
>> Non ho trovato informazioni a riguardo.
> 
> a - Crei un archetype che abbia come classe base il tuo archetype
> b - usi schemaextender
> 
> a e b dipendono da quello che devi fare, e come. Consiglierei a) per
> ora, hai più agilità.

concordo sull'opzione "a" e aggiungerei: stai attento che non basta
fargli ereditare solo la classe ma devi fargli ereditare anche lo schema
in maniera da poterlo customizzare a dovere per i tuoi oggetti derivati.

Ad esempio, se crei un content type con paster (come hai fatto) e gli
dici che deve essere "folderish" vedrai qualcosa del genere nel file
content/miocontenuto_folderish.py:

[...]
from Products.ATContentTypes.content import folder
[...]
MyFolderSchema = folder.ATFolderSchema.copy() + atapi.Schema((

    # -*- Your Archetypes field definitions here ... -*-

))
[...]

class AdvancedFolder(folder.ATFolder):
    [...]
    schema = MyFolderSchema
    [...]

HTH
_______________________________________________
Plone-IT mailing list
Plone-IT@lists.plone.org
https://lists.plone.org/mailman/listinfo/plone-it
http://plone-regional-forums.221720.n2.nabble.com/Plone-Italy-f221721.html

Rispondere a