2012-05-10 11 views
1

archetype.schemaextenderとGROKアダプタ

の試み:

class QuickNavExtender(grok.Adapter): 
    """ 
    Define schema fiddler which injects a new field to every item. 
    """ 

    # This field comes on every AT content item 
    grok.adapts(ISchemaExtender) 
    grok.provider(ISchemaExtender) 
    grok.context(IBaseContent) 

    #adapts(IBaseContent) 
    implements(ISchemaExtender)  

    fields = [ 
      ExtensionBooleanField("quicknav", 
       widget = atapi.BooleanWidget(
        label="Quick jump navigation", 
        description="Allow in-page jumping by navigation links" 
       ), 

       # On which edit tab this field appears 
       schemata = "settings" 
      ) 
    ] 

は...ピックアップされていません。

しかし、あなたはこのZCMLスニペットを追加し、それが動作するZopeの3スタイルの登録フォールバックする場合:

<adapter factory=".extender.QuickNavExtender" 
    provides="archetypes.schemaextender.interfaces.ISchemaExtender" /> 

答えて

3

を私はしたいと思います:

class QuickNavExtender(grok.Adapter): 
    grok.context(IBaseContent) 
    grok.implements(ISchemaExtender) 
    # fields here... 
+0

パーフェクト。作品。 –